mirror of
https://gitee.com/wanwujie/deer-flow
synced 2026-04-24 14:44:46 +08:00
feat: add LangSmith tracing integration (#878)
* feat: add LangSmith tracing integration Add optional LangSmith tracing support that can be enabled via environment variables (LANGSMITH_TRACING, LANGSMITH_API_KEY, LANGSMITH_PROJECT, LANGSMITH_ENDPOINT). When enabled, a LangChainTracer callback is attached to chat models and run metadata is injected for trace tagging. Co-Authored-By: Claude <noreply@anthropic.com> * Update backend/src/config/tracing_config.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update backend/src/agents/lead_agent/agent.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update backend/src/agents/lead_agent/agent.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update backend/src/models/factory.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Add threading lock to ensure thread-safe access to tracing configuration --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Willem Jiang <willem.jiang@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -245,6 +245,17 @@ def make_lead_agent(config: RunnableConfig):
|
||||
subagent_enabled = config.get("configurable", {}).get("subagent_enabled", False)
|
||||
max_concurrent_subagents = config.get("configurable", {}).get("max_concurrent_subagents", 3)
|
||||
print(f"thinking_enabled: {thinking_enabled}, model_name: {model_name}, is_plan_mode: {is_plan_mode}, subagent_enabled: {subagent_enabled}, max_concurrent_subagents: {max_concurrent_subagents}")
|
||||
|
||||
# Inject run metadata for LangSmith trace tagging
|
||||
if "metadata" not in config:
|
||||
config["metadata"] = {}
|
||||
config["metadata"].update({
|
||||
"model_name": model_name or "default",
|
||||
"thinking_enabled": thinking_enabled,
|
||||
"is_plan_mode": is_plan_mode,
|
||||
"subagent_enabled": subagent_enabled,
|
||||
})
|
||||
|
||||
return create_agent(
|
||||
model=create_chat_model(name=model_name, thinking_enabled=thinking_enabled),
|
||||
tools=get_available_tools(model_name=model_name, subagent_enabled=subagent_enabled),
|
||||
|
||||
Reference in New Issue
Block a user