[bot] Cohere: Embed Jobs API (`client.embed_jobs.create()`) not instrumented
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 68/100
- Type d'issue
- Fonctionnalité
- Clarté
- Clairement spécifiée
- Activité
- Calme
- Stack technique
- python
- Domaine
- observability-sre
Piste de recherche
Commencez par py/src/braintrust/integrations/cohere/patchers.py et integration.py, puis examinez les tests existants dans py/src/braintrust/integrations/cohere/test_cohere.py. Ajoutez une couverture pour les méthodes Cohere Embed Jobs et leurs équivalents async, en suivant les modèles d’instrumentation existants. Le travail est terminé lorsque la création du job enregistre le dataset et les paramètres du modèle demandés, ainsi que l’ID du job et le statut initial, avec des tests couvrant les nouveaux spans.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
The Cohere Python SDK's Embed Jobs API — client.embed_jobs.create() / client.embed_jobs.get() / client.embed_jobs.list() (and the AsyncClient equivalents) — is not instrumented. This is Cohere's bulk/batch embedding execution surface: it launches an async job that reads a Dataset of type embed-input, runs the configured embedding model (model, input_type, embedding_types) over every record, and writes the resulting vectors to a new embed-output Dataset. It is the async, large-scale counterpart to the synchronous client.embed() call, which is instrumented.
Calls to client.embed_jobs.create() fall through uninstrumented today — the Cohere integration only patches BaseCohere/AsyncBaseCohere (chat, chat_stream, embed, rerank) and the v2 client and audio transcription client. No patcher touches the embed_jobs resource, so job creation produces zero Braintrust tracing (no span for the submitted job, its model/config, or its terminal status).
What is missing
| Cohere method | Instrumented? |
|---|---|
client.chat() / client.chat_stream() (v1 + v2) |
Yes |
client.embed() (v1 + v2) |
Yes |
client.rerank() (v1 + v2) |
Yes |
client.audio.transcriptions.create() |
Yes |
client.embed_jobs.create() |
No |
client.embed_jobs.get() |
No |
AsyncClient.embed_jobs.create() |
No |
At minimum, instrumentation should create a span for embed_jobs.create() capturing:
- Input: dataset ID, model,
input_type,embedding_types, job name/truncate settings - Output: job ID and initial status (
processing/complete/failed) - Metadata: model name, dataset reference
This mirrors the pattern already accepted for the analogous async-batch-execution gaps in sibling integrations: OpenAI Batch API (#295), Google GenAI Batch API (#332), and Mistral Batch Jobs API (#272) — this is the same class of gap (an async, job-based generative-execution API that bypasses the wrapper) applied to Cohere's bulk embeddings surface.
Braintrust docs status
not_found — The Cohere integration page documents only: chat completion spans (cohere.chat / cohere.chat_stream), tool call spans, embedding spans (cohere.embed), rerank spans (cohere.rerank), and audio transcription spans (cohere.audio.transcriptions.create). Embed Jobs, batch/bulk embeddings, the Classify API, and the v1 generate() endpoint are not mentioned anywhere on the page.
Upstream sources
- Cohere Embed Jobs API reference (
POST /v1/embed-jobs): https://docs.cohere.com/reference/create-embed-job - Cohere conceptual guide, "Batch Embedding Jobs with the Embed API": https://docs.cohere.com/v2/docs/embed-jobs-api
- Cohere Python SDK (
cohere-python) exposes this asclient.embed_jobs.create(...)/.get(...)/.list(...)on bothcohere.Clientandcohere.AsyncClient
Local files inspected
py/src/braintrust/integrations/cohere/patchers.py— definesChatPatcher,ChatStreamPatcher,EmbedPatcher,RerankPatcher(+ async/v2 variants) andTranscriptionsCreatePatcher/AsyncTranscriptionsCreatePatcher; noembed_jobspatcher of any kindpy/src/braintrust/integrations/cohere/integration.py—CohereIntegration.patchersregisters only the five patchers above;embed_jobsis absent from the registrypy/src/braintrust/integrations/cohere/tracing.py— noembed_jobwrapper functions existpy/src/braintrust/integrations/cohere/test_cohere.py— no test cases referenceembed_jobs- Repo-wide search for
embed_job/embedjob(case-insensitive) returns zero matches outside this issue
Relationship to existing issues
Distinct from #488 (Cohere v1 generate()/generate_stream()) and #343 (Cohere Classify API) — both already open and unrelated to Embed Jobs. Same class of gap as the already-filed provider Batch API issues (#295, #332, #272), applied to a surface (Cohere Embed Jobs) none of those cover.
- Langage dominant
- Python
- Étoiles
- 22
- Forks
- 24
- Merge moyen
- 16 h
- PR mergées (30 j)
- 101
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de braintrustdata/braintrust-sdk-python
-
feature python
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
braintrustdata/braintrust-sdk-python#868 ·
Les mainteneurs répondent en général sous 1 jour
-
new-integration python
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
braintrustdata/braintrust-sdk-python#854 ·
Les mainteneurs répondent en général sous 1 jour
-
new-integration python
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
braintrustdata/braintrust-sdk-python#853 ·
Les mainteneurs répondent en général sous 1 jour
-
new-integration python
Difficulté 4/5 3-5 jours Accessibilité débutants 52/100
braintrustdata/braintrust-sdk-python#852 ·
Les mainteneurs répondent en général sous 1 jour
-
Migrate legacy HTTPConnection callers to the policy-aware Transport incrementallyPeut-être pris @AbhiPrasad l’a pris il y a 10 jours. Ouvertepython
braintrustdata/braintrust-sdk-python#839 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de braintrustdata/braintrust-sdk-python
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
vllm-project/vllm#61131 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
kubernetes-client/python#2735 ·
Les mainteneurs répondent en général sous 1 jour
-
desktop help wanted test
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Broken links found in docsOuvertedocs pydanty:is-working
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
pydantic/pydantic-ai#10113 ·
Les mainteneurs répondent en général sous 1 jour
-
Tutorial unit test leaks sample data into tutorial doctestPeut-être pris @Gambit-Checkmate l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100