[bot] Vercel AI SDK `experimental_generateSpeech` and `experimental_transcribe` not instrumented
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 55/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 冷清
- 技术栈
- typescript
调研方向
从 js/src/auto-instrumentations/configs/ai-sdk.ts 中现有的 AI SDK 条目和 js/src/instrumentation/plugins/ai-sdk-channels.ts 中的通道定义开始,然后跟踪它们在 ai-sdk-plugin.ts 中的 handler 以及 ai-sdk-common.ts 中的类型。对比 js/src/wrappers/ai-sdk/ai-sdk.ts 中的 wrapper 和现有的 e2e 场景。完成的标准是两个 experimental 函数都能通过 plugin 和 wrapper 路径生成 Braintrust span,并为新行为提供 coverage。
由索引模型根据 Issue 内容生成。
描述
Summary
The Vercel AI SDK (ai package) exports experimental_generateSpeech (text-to-speech) and experimental_transcribe (speech-to-text) as core functions. Neither the wrapper (wrapAISDK) nor the auto-instrumentation plugin instruments them. Calls to these functions produce no Braintrust spans.
Every other AI SDK core execution function — generateText, streamText, generateObject, streamObject, embed, embedMany, rerank, and the Agent class methods — is fully instrumented, making these the only uninstrumented generative execution functions in the AI SDK plugin.
What instrumentation is missing
- Auto-instrumentation config (
js/src/auto-instrumentations/configs/ai-sdk.ts): No config entries forexperimental_generateSpeechorexperimental_transcribe. Configs exist for 13 other AI SDK functions. - Channels (
js/src/instrumentation/plugins/ai-sdk-channels.ts): No channel definitions for speech generation or transcription. 14 channels are defined for other functions. - Plugin (
js/src/instrumentation/plugins/ai-sdk-plugin.ts): No handler for speech or transcription calls. - Vendor types (
js/src/vendor-sdk-types/ai-sdk-common.ts):AISDKNamespaceBasedoes not includeexperimental_generateSpeechorexperimental_transcribe.
A grep for generateSpeech or transcribe across js/src/ returns zero matches.
Upstream reference
Both functions are documented core exports of the ai package (v6+):
| Function | Description | Reference |
|---|---|---|
experimental_generateSpeech |
Converts text to speech audio using a SpeechModelV3. Accepts model, text, voice, outputFormat, instructions, speed, language. Returns generated audio as base64/Uint8Array with media type. |
https://ai-sdk.dev/docs/reference/ai-sdk-core/generate-speech |
experimental_transcribe |
Generates a text transcript from audio input using a TranscriptionModelV3. Accepts model, audio (string/Uint8Array/ArrayBuffer/URL). Returns transcript text, segments with timing, detected language, and duration. |
https://ai-sdk.dev/docs/reference/ai-sdk-core/transcribe |
Both are imported from 'ai' (the same package instrumented by this repo) and are available in AI SDK v6, which is already instrumented for other functions (ToolLoopAgent.generate, ToolLoopAgent.stream).
Note: Both carry the experimental_ prefix, indicating the API surface may evolve. However, they are documented, functional, and available in the same SDK version that this repo already instruments for other v6-only features.
Braintrust docs status
not_found — The Braintrust AI SDK integration docs do not enumerate specific supported functions. generateSpeech and transcribe are not mentioned.
Precedent in this repo
- AI SDK
generateImageis tracked as a separate gap in #1626. - OpenAI audio APIs (
audio.speech.create,audio.transcriptions.create) are tracked in #1629. - Mistral audio APIs are tracked in #1749.
- Groq audio APIs are tracked in #1864.
- The AI SDK plugin already instruments 13 other core functions across text generation, structured output, embeddings, reranking, and agent execution — speech/transcription is the remaining uninstrumented modality.
Local files inspected
js/src/auto-instrumentations/configs/ai-sdk.ts— no speech/transcribe configsjs/src/instrumentation/plugins/ai-sdk-channels.ts— no speech/transcribe channelsjs/src/instrumentation/plugins/ai-sdk-plugin.ts— no speech/transcribe handlersjs/src/vendor-sdk-types/ai-sdk-common.ts— no speech/transcribe typesjs/src/wrappers/ai-sdk/ai-sdk.ts— no speech/transcribe wrappinge2e/scenarios/ai-sdk-instrumentation/— no speech/transcribe test scenarios
- 主要语言
- TypeScript
- 星标
- 27
- 派生
- 13
- 平均合并
- 2 天 23 小时
- 30 天内合并 PR
- 67
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
braintrustdata/braintrust-sdk-javascript 的其他 Issue
-
难度 3/5 1-2 天 新手友好度 65/100
-
难度 4/5 3-5 天 新手友好度 56/100
-
难度 4/5 3-5 天 新手友好度 68/100
-
难度 4/5 3-5 天 新手友好度 58/100
-
难度 5/5 一周以上 新手友好度 25/100
查看 braintrustdata/braintrust-sdk-javascript 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 70/100
-
难度 2/5 1-3 小时 新手友好度 75/100
mksglu/context-mode#1200 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
jaegertracing/jaeger-ui#4506 ·
-
area:desktop area:ui bug platform:macos
难度 2/5 1-3 小时 新手友好度 75/100
anthropics/claude-code#96687 ·
-
good first issue
难度 1/5 1 小时以内 新手友好度 95/100
AOSSIE-Org/DebateAI#582 · 2 条评论 ·