[bot] Instrument Baseten Performance Client (87,159 weekly downloads)

未关闭
#1,038 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
25/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
python
领域
observability

调研方向

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 内容生成。

描述

python

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 deployments
  • PerformanceClient.rerank() / async_rerank() — document reranking execution
  • PerformanceClient.classify() / async_classify() — classification execution
  • PerformanceClient.batch_system_one() / async_batch_system_one() — batched "System One" decision execution
  • PerformanceClient.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:

Upstream sources

Local repo files inspected

  • py/src/braintrust/integrations/ — no baseten/ directory, no file matching baseten* anywhere
  • py/src/braintrust/wrappers/ — no Baseten wrapper
  • py/pyproject.toml [tool.braintrust.matrix] — no baseten entry
  • py/noxfile.py — no test_baseten session
  • Repo-wide case-insensitive grep for baseten under py/ — zero matches of any kind (not even incidental)
主要语言
Python
星标
22
派生
30
平均合并
9 小时
30 天内合并 PR
128

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

braintrustdata/braintrust-sdk-python 的其他 Issue

查看 braintrustdata/braintrust-sdk-python 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。