Deploy deep agents to LangSmith

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

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

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
42/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
静か
技術スタック
fastapi, next.js, python, typescript

調査の方向性

Start by reading apps/agent/main.py, apps/agent/langgraph.json, and pyproject.toml, then review the LangSmith deployment documentation. Trace how the frontend CopilotKit API route reaches the current FastAPI/Uvicorn service. Done means the agent deploys successfully, skills and dependencies work, frontend requests reach the cloud URL, traces appear in LangSmith, and state synchronization is verified.

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

説明

Overview

Deploy the LangGraph deep agent (apps/agent) to LangSmith's managed cloud platform (formerly LangGraph Platform) for production hosting, observability, and tracing.

Background

The agent already uses the deepagents SDK (create_deep_agent()) built on LangGraph, and has a langgraph.json config in place. LangSmith Cloud provides managed deployment with built-in tracing, streaming, and persistence — replacing the current self-hosted FastAPI/Uvicorn setup.

Current State

  • Agent framework: LangGraph 1.0.7 + DeepAgents via create_deep_agent()
  • Entry point: apps/agent/main.py → exports graph object
  • Config: apps/agent/langgraph.json already exists with graph sample_agent pointing to ./main.py:graph
  • Dependencies: managed via uv + pyproject.toml
  • Hosting: currently self-hosted via uvicorn on port 8123
  • Checkpointing: in-memory BoundedMemorySaver (200 threads, no persistence across restarts)

What Needs to Happen

1. LangSmith Account & Deployment Setup
  • Ensure LangSmith Plus plan (or higher) is active — required for cloud deployments
  • Connect the GitHub repo to LangSmith via Deployments → + New Deployment
2. Configuration Updates
  • Review langgraph.json — the env path currently points to ../../.env (relative to repo root), which may need adjustment for cloud deployment
  • Add LANGCHAIN_API_KEY, LANGCHAIN_TRACING_V2=true, and LANGCHAIN_PROJECT to environment config
  • Ensure OPENAI_API_KEY is set as a deployment secret in LangSmith
  • Verify deepagents and all dependencies resolve correctly in the cloud build environment
3. Compatibility Considerations
  • CopilotKitMiddleware: Verify it works within LangGraph Platform's execution model (not running inside FastAPI directly)
  • BoundedMemorySaver: Cloud deployments provide managed persistence (Postgres-backed checkpointer) — evaluate whether to replace the custom in-memory saver
  • Skills directory: Confirm skills/ markdown files are included in the deployment bundle (they're loaded via file path at runtime)
  • ag-ui-langgraph endpoint: Determine if the FastAPI wrapper (add_langgraph_fastapi_endpoint) is still needed or if LangSmith handles this natively
4. Frontend Integration
  • Update the frontend CopilotKit API route to point to the LangSmith deployment URL instead of localhost:8123
  • Add deployment URL as an environment variable for the Next.js app
  • Test bidirectional agent state sync (todos) through the cloud-hosted agent
5. Observability
  • Confirm traces appear in LangSmith for all agent runs
  • Set up a LangSmith project for organizing traces
  • Verify tool call traces (query_data, plan_visualization, manage_todos, etc.) are captured

Risks & Open Questions

  • Cold start latency: LangSmith cloud deployments may have cold starts — measure impact on UX
  • Cost: Plus plan is $39/seat/mo + usage-based billing for agent runs and uptime
  • Skills file loading: The agent loads skills from Path(__file__).parent / "skills" — need to verify this resolves correctly in the containerized cloud environment
  • Rate limiting: Current app has optional IP-based rate limiting in FastAPI middleware — this won't carry over to LangSmith; determine if platform-level rate limiting is sufficient

References

主要言語
TypeScript
スター
1.6k
フォーク
202
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

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

CopilotKit/OpenGenerativeUI のほかの issue

CopilotKit/OpenGenerativeUI の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

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

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