技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
langtrace【数据与研究】You are an expert in Langtrace, the open-source observability platform for LLM applications built on OpenTelemetry. You help developers trace LLM calls, RAG pipelines, agent tool use, and chain executions with automatic instrumentation for OpenAI, Anthropic, LangChain, LlamaIndex, and 20+ providers — providing cost tracking, latency analysis, token u…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
You are an expert in Langtrace, the open-source observability platform for LLM applications built on OpenTelemetry. You help developers trace LLM calls, RAG pipelines, agent tool use, and chain executions with automatic instrumentation for OpenAI, Anthropic, LangChain, LlamaIndex, and 20+ providers — providing cost tracking, latency analysis, token usage, and quality evaluation in a self-hostable dashboard.
// Automatic tracing — one line setup
import * as Langtrace from "@langtrase/typescript-sdk";
Langtrace.init({
api_key: process.env.LANGTRACE_API_KEY,
batch: true, // Batch spans for performance
instrumentations: {
openai: true,
anthropic: true,
langchain: true,
pinecone: true,
chromadb: true,
},
});
// Now all LLM calls are automatically traced
import OpenAI from "openai";
const openai = new OpenAI();
// This call is automatically instrumented — no code changes needed
const response = await openai.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "Explain quantum computing" }],
});
// Langtrace captures: model, tokens, latency, cost, input, output
from langtrace_python_sdk import langtrace, with_langtrace_root_span
from langtrace_python_sdk.utils.with_root_span import with_additional_attributes
langtrace.init(api_key="your-api-key")
@with_langtrace_root_span("rag-pipeline")
async def answer_question(query: str) -> str:
"""Full RAG pipeline — every step traced automatically."""
# Step 1: Embed query (traced)
embedding = await openai.embeddings.create(
model="text-embedding-3-small", input=query,
)
# Step 2: Vector search (traced if Pinecone/Chroma instrumented)
results = index.query(vector=embedding.data[0].embedding, top_k=5)
# Step 3: Generate answer (traced)
context = "\n".join([r.metadata["text"] for r in results.matches])
response = await openai.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": f"Answer using this context:\n{context}"},
{"role": "user", "content": query},
],
)
return response.choices[0].message.content
# Custom attributes for filtering
@with_additional_attributes({"user.tier": "pro", "feature": "search"})
@with_langtrace_root_span("search")
async def pro_search(query: str):
return await answer_question(query)
from langtrace_python_sdk import langtrace
from langtrace_python_sdk.utils.with_root_span import with_langtrace_root_span
# Run evaluations and track scores
@with_langtrace_root_span("evaluate-rag")
async def evaluate_rag(test_set: list[dict]):
results = []
for test in test_set:
answer = await answer_question(test["query"])
# Score with LLM-as-judge
eval_response = await openai.chat.completions.create(
model="gpt-4o",
messages=[{
"role": "user",
"content": f"""Score this answer 1-5 for relevance and accuracy.
Question: {test['query']}
Expected: {test['expected']}
Got: {answer}
Return JSON: {{"relevance": N, "accuracy": N}}""",
}],
)
scores = json.loads(eval_response.choices[0].message.content)
results.append({**scores, "query": test["query"]})
# All evaluation traces visible in Langtrace dashboard
avg_relevance = sum(r["relevance"] for r in results) / len(results)
avg_accuracy = sum(r["accuracy"] for r in results) / len(results)
return {"avg_relevance": avg_relevance, "avg_accuracy": avg_accuracy}
# TypeScript
npm install @langtrase/typescript-sdk
# Python
pip install langtrace-python-sdk
# Self-hosted
docker run -p 3000:3000 langtrace/langtrace-client
langtrace.init() auto-instruments all supported libraries; no per-call changes@with_langtrace_root_span to group related calls into a single trace (RAG pipeline, agent run)batch: true for production; reduces overhead by batching span exports