[bot] Instrument Baseten Performance Client (87,159 weekly downloads)
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 25/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
- 技术栈
- python
调研方向
Start with the existing integrations under py/src/braintrust/integrations/ and the matrix in py/pyproject.toml to see how a wrapper is registered, then check py/noxfile.py for the session pattern. The issue lists five sync/async PerformanceClient entrypoints that need spans, so decide which ones to cover first. Done means a traced test session that runs against the package, but the scope and approach need maintainer input first.
由索引模型根据 Issue 内容生成。
描述
Summary
baseten-performance-client (import name baseten_performance_client) is Baseten's dedicated high-throughput Python client for embeddings, reranking, and classification inference against Baseten-hosted models. It is a Rust-backed (pyo3/reqwest/tokio) client distinct from both the general-purpose baseten management SDK and from calling Baseten endpoints through an OpenAI-compatible interface. This repository has zero instrumentation for it — no integration directory, wrapper, nox session, or matrix entry, and not even an incidental mention anywhere under py/.
This is a distinct execution surface from Braintrust's existing Baseten support: Braintrust currently only documents Baseten as a gateway-routed model provider for chat completions (see docs status below) — it does not cover this package's embeddings/reranking/classification execution API at all. It is also distinct from already-instrumented embedding/rerank libraries (cohere rerank, voyageai — itself still an open gap in #482) since it talks to Baseten-hosted deployments specifically via its own PerformanceClient class.
What is missing
The PerformanceClient class exposes paired sync/async execution entrypoints, none of which produce a Braintrust span today:
PerformanceClient.embed()/async_embed()— embedding execution against Baseten Embedding Inference deploymentsPerformanceClient.rerank()/async_rerank()— document reranking executionPerformanceClient.classify()/async_classify()— classification executionPerformanceClient.batch_system_one()/async_batch_system_one()— batched "System One" decision executionPerformanceClient.batch_post()/async_batch_post()— generic batched JSON request execution (e.g. against Engine-Builder-LLM completion endpoints)
All of these are high-concurrency batch execution calls (default max_concurrent_requests=256, configurable retries/hedging/timeouts via RequestProcessingPreference) that are the primary way applications drive bulk embedding/rerank/classification workloads through Baseten — currently entirely invisible to Braintrust tracing.
Weekly downloads
Weekly downloads: 87,159 (fetched 2026-11-02; https://pypistats.org/api/packages/baseten_performance_client/recent)
Braintrust docs status
not_found — checked:
- https://docs.braintrust.dev/integrations/ai-providers/baseten.md — scoped entirely to using Baseten as a model provider through Braintrust's gateway (
https://gateway.braintrust.dev/v1via the standard OpenAI SDK) for chat completions; does not mentionbaseten-performance-client, embeddings, reranking, or classification anywhere. - https://docs.braintrust.dev/guides/tracing/integrations — full tracing-integrations, agent-framework, eval-framework, and testing-framework lists checked; no mention of Baseten in any form.
Upstream sources
- GitHub: https://github.com/basetenlabs/truss/tree/main/baseten-performance-client
- PyPI: https://pypi.org/project/baseten-performance-client/ (current version 0.1.16, bumped ~2026-10-24 per release history: https://github.com/riseproject-dev/python-wheels/pull/3577)
- Docs: https://docs.baseten.co/reference/sdk/performance-client/overview
Local repo files inspected
py/src/braintrust/integrations/— nobaseten/directory, no file matchingbaseten*anywherepy/src/braintrust/wrappers/— no Baseten wrapperpy/pyproject.toml[tool.braintrust.matrix]— nobasetenentrypy/noxfile.py— notest_basetensession- Repo-wide case-insensitive grep for
basetenunderpy/— zero matches of any kind (not even incidental)
- 主要语言
- Python
- 星标
- 22
- 派生
- 30
- 平均合并
- 9 小时
- 30 天内合并 PR
- 128
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
braintrustdata/braintrust-sdk-python 的其他 Issue
-
Temporal: add `workflow.Info.original_execution_run_id` to workflow span metadata可能已有人在做 @Mohith26 于 3 天前认领。 未关闭feature python
难度 2/5 1-3 小时 新手友好度 76/100
braintrustdata/braintrust-sdk-python#868 ·
维护者通常 1 天内回复
-
python
难度 4/5 3-5 天 新手友好度 38/100
braintrustdata/braintrust-sdk-python#1063 ·
维护者通常 1 天内回复
-
new-integration python
难度 5/5 一周以上 新手友好度 35/100
braintrustdata/braintrust-sdk-python#999 ·
维护者通常 1 天内回复
-
python
难度 5/5 一周以上 新手友好度 20/100
braintrustdata/braintrust-sdk-python#957 ·
维护者通常 1 天内回复
-
python
难度 5/5 一周以上 新手友好度 35/100
braintrustdata/braintrust-sdk-python#956 ·
维护者通常 1 天内回复
查看 braintrustdata/braintrust-sdk-python 的全部 Issue
相似的 Issue
-
community enhancement good first issue
难度 2/5 1-3 小时 新手友好度 86/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 77/100
Hochfrequenz/sapgui.mcp#1039 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 88/100
didi/helixharness#18 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
dataforgoodfr/democracy-watch#46 · 1 个 reaction ·