ओपनटेलीमेट्री जेएनएआई सेमेटिक सम्मेलन
Type: Learn + Build
Languages: Python (stdlib)
Prerequisites: Phase 14 · 13 (LangGraph), Phase 14 · 24 (Observability Platforms)
Time: ~60 minutes
सीखने के लक्ष्य
- GenAI अवधि श्रेणियों का नाम देंः मॉडल/ग्राहक, एजेंट, उपकरण।
- अंतर करें
invoke_agentग्राहक बनाम आंतरिक अवधि और जब प्रत्येक लागू होता है। - शीर्ष स्तर के GenAI गुणों की सूची बनाएंः प्रदाता नाम, अनुरोध मॉडल, डेटा स्रोत आईडी।
- सामग्री कैप्चर अनुबंध की व्याख्या करेंः ऑप्ट-इन,
OTEL_SEMCONV_STABILITY_OPT_IN, बाहरी संदर्भ सिफारिश।
समस्या
प्रत्येक विक्रेता अपना स्वयं का नाम बनाता है। ऑपरेशन टीमें प्रति फ्रेमवर्क डैशबोर्ड बनाती हैं। ओपनटेलीमेट्री के जेएनएआई एसआईजी पूरे पारिस्थितिकी तंत्र के लक्ष्यों को एक मानक द्वारा परिभाषित करके इसे ठीक करता है।
अवधारणा
स्पेन श्रेणियाँ
- Model / client spans.कच्चे एलएलएम कॉल को कवर करें। प्रदाता एसडीके (एथ्रोपिक, ओपनएआई, बेड्रॉक) और फ्रेमवर्क मॉडल एडाप्टर द्वारा जारी किया जाता है।
- Agent spans.
create_agent(जब एजेंट का निर्माण किया जाता है) औरinvoke_agent(जब यह चलाता है) । - Tool spans.प्रति उपकरण कॉल एक; माता-पिता-बच्चे संबंध द्वारा एजेंट स्पैन से जुड़ा हुआ है।
एजेंट स्पैन नामकरण
- स्पेनिश नाम:
invoke_agent {gen_ai.agent.name}यदि नामित है;invoke_agent. . - स्पैन प्रकारः
- CLIENT दूरस्थ एजेंट सेवाओं (OpenAI सहायक एपीआई, बेडरोक एजेंट) के लिए।
- INTERNAL प्रक्रिया में एजेंट फ्रेमवर्क (लंगचेन, क्रूएआई, स्थानीय रिएक्ट) के लिए।
मुख्य विशेषताएं
gen_ai.provider.nameanthropic,openai,aws.bedrock,google.vertex. .gen_ai.request.modelमॉडल आईडी।gen_ai.response.modelहल मॉडल (रूटिंग के कारण अनुरोध से भिन्न हो सकता है) ।gen_ai.agent.nameएजेंट पहचानकर्ता।gen_ai.operation.namechat,completion,invoke_agent,tool_call. .gen_ai.data_source.idआरएजी के लिएः किस कॉर्पस या स्टोर से परामर्श किया गया था।
मानव, Azure AI इन्फरेंस, AWS बेड्रॉक, OpenAI के लिए प्रौद्योगिकी-विशिष्ट सम्मेलन मौजूद हैं।
सामग्री कैप्चर
डिफ़ॉल्ट नियमः उपकरण डिफ़ॉल्ट रूप से इनपुट/आउटपुट को कैप्चर नहीं करना चाहिए। कैप्चर को ऑप्ट-इन के माध्यम से किया जाता हैः
gen_ai.system_instructionsgen_ai.input.messagesgen_ai.output.messages
अनुशंसित उत्पादन पैटर्नः सामग्री को बाहरी रूप से स्टोर करें (S3, आपका लॉग स्टोर), स्पैन पर संदर्भ रिकॉर्ड करें (पॉइंटर आईडी, प्रोसा नहीं) । यह पाठ 27 सामग्री विषाक्तता रक्षा है जो पर्यवेक्षण में तारबद्ध है।
स्थिरता
मार्च 2026 तक अधिकांश सम्मेलन प्रयोगात्मक हैं।
OTEL_SEMCONV_STABILITY_OPT_IN=gen_ai_latest_experimentalडेटाडॉग v1.37+ मानचित्र जेएनएआई ने अपने एलएलएम ऑब्जर्वेबिलिटी स्कीम में मूल रूप से श्रेय दिया है। अन्य बैकेंड (ग्राफाना, हनीकॉम्ब, जैगर) कच्चे गुणों का समर्थन करते हैं।
जहां यह पैटर्न गलत हो जाता है
- Capturing full prompts in spans.पीआई, रहस्य, ग्राहक डेटा जो ओपी पढ़ सकते हैं।
- No
gen_ai.provider.name.बहु-प्रदाता डैशबोर्ड टूट जाते हैं जब श्रेय गायब होता है। - Spans without parent links.अनाथ उपकरण फैलता है, हमेशा संदर्भ को फैलाने.
- Not setting stability opt-in.आपके गुणों को बैक-एंड उन्नयन पर नाम बदल दिया जा सकता है।
इसे बनाओ
code/main.pyGenAI सम्मेलनों से मेल खाने वाले एक stdlib स्पैन उत्सर्जक को लागू करता हैः
SpanGenAI विशेषता योजना के साथ।Tracerके साथstart_span, घोंसले हुए संदर्भों.- एक स्क्रिप्ट एजेंट चलाता है जो उत्सर्जन करता हैः
create_agent,invoke_agent(आंतरिक), प्रति उपकरण स्पैन्स,chatLLM कॉल के लिए अवधि। - सामग्री कैप्चर मोड जो बाहरी रूप से संकेतों को संग्रहीत करता है और स्पैन पर आईडी रिकॉर्ड करता है।
इसे चलाओः
python3 code/main.pyआउटपुटः सभी आवश्यक GenAI गुणों के साथ एक स्पैन ट्री और ऑप्ट-इन सामग्री संदर्भों को दिखाने वाला एक "बाहरी स्टोर"
इसका प्रयोग करें
- Datadog LLM Observability(v1.37+) नक्शे गुण मूल रूप से.
- Langfuse / Phoenix / Opik(पाठ 24) ऑटो-इकोसिस्टम को उपकरण।
- Jaeger / Honeycomb / Grafana Tempo कच्चे ओटेल निशान; GenAI गुणों से डैशबोर्ड बनाएँ।
- Self-hosted ओटेल कलेक्टर को जीएनएआई प्रोसेसर से चलाएं।
इसे भेजें
outputs/skill-otel-genai.mdतार OTel GenAI सामग्री कैप्चर डिफ़ॉल्ट और बाहरी संदर्भ भंडारण के साथ एक मौजूदा एजेंट में फैलता है।
व्यायाम
- अपने पाठ 01 के साथ रीएक्ट लूप का उपयोग करें
invoke_agent(आंतरिक) + प्रति उपकरण स्पैन. एक Jaeger उदाहरण भेजें. - "केवल संदर्भ" मोड में सामग्री कैप्चर जोड़ेंः SQLite के लिए प्रॉम्प्ट, स्पैन गुण केवल पंक्ति आईडी रखते हैं।
- विवरण पढ़ें
gen_ai.data_source.id. इसे अपने पाठ 09 मेमो खोज में वायर करें. - सेट
OTEL_SEMCONV_STABILITY_OPT_IN=gen_ai_latest_experimentalऔर अपने गुणों को सत्यापित करने के लिए नहीं प्राप्त करने के लिए नाम संग्रहकर्ता द्वारा. - एक डैशबोर्ड बनाएंः केवल GenAI गुणों से "कौन से उपकरण त्रुटियां किस मॉडल के साथ सहसंबंधित हैं।
प्रमुख शर्तें
| Term | What people say | What it actually means |
|---|---|---|
| GenAI SIG | "OpenTelemetry GenAI group" | OTel working group defining the schema |
| invoke_agent | "Agent span" | Name of the span representing an agent run |
| CLIENT span | "Remote call" | Span for a call to a remote agent service |
| INTERNAL span | "In-process" | Span for an in-process agent run |
| gen_ai.provider.name | "Provider" | anthropic / openai / aws.bedrock / google.vertex |
| gen_ai.data_source.id | "RAG source" | Which corpus/store a retrieval hit |
| Content capture | "Prompt logging" | Opt-in capture of messages; store externally in prod |
| Stability opt-in | "Preview mode" | Env var to pin experimental conventions |
आगे पढ़ना
- OpenTelemetry GenAI semantic conventions विनिर्देश
- OpenAI Agents SDK डिफ़ॉल्ट रूप से GenAI अवधि
- AutoGen v0.4 (Microsoft Research) ओटीएल स्पैन्स में निर्मित
- Claude Agent SDK W3C ट्रैक संदर्भ प्रसार
This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.
Browse the complete course catalog or open this lesson on GitHub.