[bot] Cohere: Embed Jobs API (`client.embed_jobs.create()`) not instrumented
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 68/100
- Tipo de issue
- Funcionalidade
- Clareza
- Claramente especificada
- Status de atividade
- Pouca atividade
- Stack de tecnologia
- python
- Domínio
- observability-sre
Direção de pesquisa
Comece por py/src/braintrust/integrations/cohere/patchers.py e integration.py e, em seguida, inspecione os testes existentes em py/src/braintrust/integrations/cohere/test_cohere.py. Adicione cobertura para os métodos do Cohere Embed Jobs e seus equivalentes async, seguindo os padrões de instrumentação existentes. Considera-se concluído quando a criação do job registra o dataset e as configurações do modelo solicitados, além do ID do job e do status inicial, com testes cobrindo os novos spans.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Python
- Estrelas
- 22
- Forks
- 24
- Merge médio
- 16h
- PRs com merge (30d)
- 101
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de braintrustdata/braintrust-sdk-python
-
feature python
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
braintrustdata/braintrust-sdk-python#868 ·
Mantenedores costumam responder em até 1 dia
-
new-integration python
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 55/100
braintrustdata/braintrust-sdk-python#854 ·
Mantenedores costumam responder em até 1 dia
-
new-integration python
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
braintrustdata/braintrust-sdk-python#853 ·
Mantenedores costumam responder em até 1 dia
-
new-integration python
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 52/100
braintrustdata/braintrust-sdk-python#852 ·
Mantenedores costumam responder em até 1 dia
-
Migrate legacy HTTPConnection callers to the policy-aware Transport incrementallyTalvez já em andamento @AbhiPrasad assumiu há 11 dias. Abertapython
braintrustdata/braintrust-sdk-python#839 · 1 responsável ·
Mantenedores costumam responder em até 1 dia
Todas as issues de braintrustdata/braintrust-sdk-python
Issues semelhantes
-
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 88/100
gradio-app/gradio#13964 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 93/100
BSData/horus-heresy-3rd-edition#3232 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
jbacalso24/mimry#123 ·
Mantenedores costumam responder em até 1 dia
-
p:3-mid pydanty:bug pydanty:is-working
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
pydantic/pydantic-ai#10153 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
good first issue priority: medium size: S testing
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
cubrid-lab/cubrid-cookbook-python#316 ·
Mantenedores costumam responder em até 1 dia