Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[bot] Azure AI Inference SDK (`@azure-rest/ai-inference`) not instrumented — no tracing for Azure AI Foundry model execution (63,908 weekly downloads)

オープン
#2,073 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
55/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
azure, typescript

調査の方向性

まず js/src/auto-instrumentations/configs/ にある既存の設定、特に openai.ts と、js/src/auto-instrumentations/configs/all.ts にある登録を読みます。次に e2e/scenarios/ と、記載されている Azure SDK のサーフェスを調べます。@azure-rest/ai-inference 経由の chat completions、ストリーミング、embeddings がテスト付きで tracing のカバレッジを提供できれば完了です。

索引モデルが issue の本文から書いたものです。

説明

Summary

Microsoft publishes a dedicated TypeScript SDK for Azure AI model inference: @azure-rest/ai-inference (part of the Azure SDK for JavaScript). It provides execution APIs for chat completions, streaming, and embeddings for models hosted on Azure AI Foundry (Phi, Mistral, Meta Llama, and others). This package uses a path-based REST client pattern that is architecturally distinct from the openai npm package and is not covered by any existing instrumentation. Users who call @azure-rest/ai-inference directly get no Braintrust spans.

What instrumentation is missing

The @azure-rest/ai-inference package exposes these execution surfaces, none of which are instrumented:

SDK Method Description
client.path("/chat/completions").post({ body: { messages, ... } }) Chat completions for hosted models
.post({ body: { ..., stream: true } }).asNodeStream() Streaming chat completions
client.path("/embeddings").post({ body: { input, model } }) Text embeddings

Users instantiate it as:

import ModelClient from "@azure-rest/ai-inference";
import { AzureKeyCredential } from "@azure/core-auth";

const client = ModelClient(endpoint, new AzureKeyCredential(apiKey));

const response = await client.path("/chat/completions").post({
  body: {
    messages: [{ role: "user", content: "Hello" }],
    model: "Phi-4",
  },
});

Auto-instrumentation gap:

The @azure-rest/ai-inference SDK uses a path-based REST client architecture (from @azure/core-rest-pipeline) that is fundamentally different from the openai package's class-method structure. None of the existing configs in js/src/auto-instrumentations/configs/ target any @azure-rest/* module paths. The existing openai instrumentation targets openai module file paths and does not fire for calls made through @azure-rest/ai-inference.

No coverage in any instrumentation layer:

  • No auto-instrumentation config for @azure-rest/ai-inference in js/src/auto-instrumentations/configs/
  • No wrapper function (e.g. wrapAzureAIInference())
  • No channels or plugin for Azure AI Inference methods in js/src/instrumentation/plugins/
  • No e2e test scenarios
  • Grep for azure-rest, @azure, or ai-inference across js/src/ returns zero matches

Braintrust docs status

unclear — The Braintrust integrations page at https://www.braintrust.dev/docs/integrations lists "Azure AI Foundry" as a supported provider, but the JavaScript SDK documentation does not describe any direct instrumentation for the @azure-rest/ai-inference package.

Upstream references

Local files inspected

  • js/src/auto-instrumentations/configs/ — full config list: anthropic.ts, openai.ts, ai-sdk.ts, groq.ts, mistral.ts, cohere.ts, huggingface.ts, google-genai.ts, google-adk.ts, genkit.ts, openai-agents.ts, openrouter.ts, openrouter-agent.ts, claude-agent-sdk.ts, cursor-sdk.ts, github-copilot.ts, openai-codex.ts, flue.ts — no Azure AI Inference config present
  • js/src/auto-instrumentations/configs/all.ts — @azure-rest/ai-inference not listed among any instrumentation groups
  • Full repo grep for azure-rest, @azure, ai-inference in js/src/ — zero matches
  • e2e/scenarios/ — no Azure AI Inference test scenarios
主要言語
TypeScript
スター
29
フォーク
16
平均マージ
1日 19時間
マージ済み PR(30日)
69

環境構築

  • Dockerfile または Docker Compose ファイルあり
  • プルリクエストのテンプレートなし
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

braintrustdata/braintrust-sdk-javascript のほかの issue

braintrustdata/braintrust-sdk-javascript の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。