langgraph-agent-toolkit 0.2.0__tar.gz → 0.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.env.example +31 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.github/workflows/release.yml +1 -1
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.github/workflows/test.yml +2 -2
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.gitignore +1 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.pre-commit-config.yaml +3 -3
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/CHANGELOG.md +40 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/Makefile +0 -8
- langgraph_agent_toolkit-0.2.0/README.md → langgraph_agent_toolkit-0.4.0/PKG-INFO +205 -6
- langgraph_agent_toolkit-0.2.0/PKG-INFO → langgraph_agent_toolkit-0.4.0/README.md +104 -77
- langgraph_agent_toolkit-0.4.0/configs/clickhouse/.clickhouse.env.example +3 -0
- langgraph_agent_toolkit-0.4.0/configs/langfuse/.langfuse.env.example +59 -0
- langgraph_agent_toolkit-0.4.0/configs/litellm/.litellm.env.example +3 -0
- langgraph_agent_toolkit-0.4.0/configs/minio/.minio.env.example +2 -0
- langgraph_agent_toolkit-0.4.0/configs/postgres/.postgres.env.example +3 -0
- langgraph_agent_toolkit-0.4.0/configs/redis/.redis.env.example +1 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/docker/app/Dockerfile +2 -1
- langgraph_agent_toolkit-0.4.0/docker/service/Dockerfile +32 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/docker-compose.yaml +26 -85
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/agent_executor.py +51 -6
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/agent.py +16 -6
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/chatbot/agent.py +16 -6
- langgraph_agent_toolkit-0.4.0/langgraph_agent_toolkit/agents/blueprints/knowledge_base_agent/agent.py +199 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/components/creators/create_react_agent.py +4 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/models/factory.py +41 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/settings.py +36 -1
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/helper/utils.py +9 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/run_service.py +20 -3
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/schema/__init__.py +8 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/schema/schema.py +107 -2
- langgraph_agent_toolkit-0.4.0/langgraph_agent_toolkit/service/__init__.py +0 -0
- langgraph_agent_toolkit-0.4.0/langgraph_agent_toolkit/service/exception_handlers.py +71 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/service/factory.py +57 -38
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/service/handler.py +6 -1
- langgraph_agent_toolkit-0.4.0/langgraph_agent_toolkit/service/routes.py +356 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/service/utils.py +28 -23
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/pyproject.toml +72 -15
- langgraph_agent_toolkit-0.4.0/scripts/postgres-init/create_databases.sql +9 -0
- langgraph_agent_toolkit-0.4.0/scripts/python/07-test-get-chat-history.py +55 -0
- langgraph_agent_toolkit-0.4.0/scripts/python/08-test-update-chat-history.py +58 -0
- langgraph_agent_toolkit-0.4.0/scripts/python/09-test-clear-chat-history.py +57 -0
- langgraph_agent_toolkit-0.4.0/tests/agents/test_service_streaming.py +52 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/core/test_settings.py +35 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/service/conftest.py +9 -3
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/service/test_auth.py +20 -17
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/service/test_factory.py +20 -13
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/service/test_service.py +10 -7
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/uv.lock +713 -29
- langgraph_agent_toolkit-0.2.0/configs/clickhouse/.clickhouse.env.example +0 -3
- langgraph_agent_toolkit-0.2.0/configs/litellm/.litellm.env.example +0 -3
- langgraph_agent_toolkit-0.2.0/configs/minio/.minio.env.example +0 -2
- langgraph_agent_toolkit-0.2.0/configs/postgres/.postgres.env.example +0 -3
- langgraph_agent_toolkit-0.2.0/configs/redis/.redis.env.example +0 -1
- langgraph_agent_toolkit-0.2.0/docker/service/Dockerfile +0 -15
- langgraph_agent_toolkit-0.2.0/langgraph_agent_toolkit/service/exception_handlers.py +0 -46
- langgraph_agent_toolkit-0.2.0/langgraph_agent_toolkit/service/routes.py +0 -177
- langgraph_agent_toolkit-0.2.0/scripts/postgres-init/create_databases.sql +0 -32
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.coveragerc +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.dockerignore +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.github/RELEASE_TEMPLATE/release-template.md +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.github/codecov.yml +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.github/dependabot.yml +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.github/scripts/tag_from_pyproject.sh +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.github/workflows/deploy.yml +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.project-root +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/CONTRIBUTING.md +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/LICENSE +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/configs/litellm/config.example.yaml +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/docs/media/agent_architecture.excalidraw +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/docs/media/agent_architecture.png +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/docs/media/agent_diagram.png +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph.json +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/__init__.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/__init__.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/agent.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/__init__.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/__init__.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/task.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/utils.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/chatbot/__init__.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/command_agent/__init__.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/command_agent/agent.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/interrupt_agent/__init__.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/interrupt_agent/agent.py +0 -0
- {langgraph_agent_toolkit-0.2.0/langgraph_agent_toolkit/agents/blueprints/react → langgraph_agent_toolkit-0.4.0/langgraph_agent_toolkit/agents/blueprints/knowledge_base_agent}/__init__.py +0 -0
- {langgraph_agent_toolkit-0.2.0/langgraph_agent_toolkit/agents/blueprints/react_so → langgraph_agent_toolkit-0.4.0/langgraph_agent_toolkit/agents/blueprints/react}/__init__.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/react/agent.py +0 -0
- {langgraph_agent_toolkit-0.2.0/langgraph_agent_toolkit/agents/blueprints/supervisor_agent → langgraph_agent_toolkit-0.4.0/langgraph_agent_toolkit/agents/blueprints/react_so}/__init__.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/react_so/agent.py +0 -0
- {langgraph_agent_toolkit-0.2.0/langgraph_agent_toolkit/agents/components → langgraph_agent_toolkit-0.4.0/langgraph_agent_toolkit/agents/blueprints/supervisor_agent}/__init__.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/supervisor_agent/agent.py +0 -0
- {langgraph_agent_toolkit-0.2.0/langgraph_agent_toolkit/core/memory → langgraph_agent_toolkit-0.4.0/langgraph_agent_toolkit/agents/components}/__init__.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/components/creators/__init__.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/components/tools.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/components/utils.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/client/__init__.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/client/client.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/__init__.py +0 -0
- {langgraph_agent_toolkit-0.2.0/langgraph_agent_toolkit/core/prompts → langgraph_agent_toolkit-0.4.0/langgraph_agent_toolkit/core/memory}/__init__.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/memory/base.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/memory/factory.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/memory/postgres.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/memory/sqlite.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/memory/types.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/models/__init__.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/models/chat_openai.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/models/fake.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/observability/__init__.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/observability/base.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/observability/empty.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/observability/factory.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/observability/langfuse.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/observability/langsmith.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/observability/types.py +0 -0
- {langgraph_agent_toolkit-0.2.0/langgraph_agent_toolkit/helper → langgraph_agent_toolkit-0.4.0/langgraph_agent_toolkit/core/prompts}/__init__.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/prompts/chat_prompt_template.py +0 -0
- {langgraph_agent_toolkit-0.2.0/langgraph_agent_toolkit/service → langgraph_agent_toolkit-0.4.0/langgraph_agent_toolkit/helper}/__init__.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/helper/constants.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/helper/logging.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/helper/types.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/run_agent.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/run_client.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/schema/models.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/schema/task_data.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/service/middleware.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/service/types.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/streamlit_app.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/scripts/python/01-invoke-proxy.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/scripts/python/02-test-local-pm.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/scripts/python/03-test-langfuse-pm.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/scripts/python/04-test-langsmith-pm.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/scripts/python/05-test-prompt-types.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/scripts/python/06-test-custom-chat-prompt-template.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/agents/test_agent_executor.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/app/conftest.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/app/test_streamlit_app.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/client/conftest.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/client/test_client.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/conftest.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/core/test_llm.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/core/test_memory.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/core/test_observability.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/core/test_prompts.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/integration/test_docker_e2e.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/service/test_service_e2e.py +0 -0
- {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/service/test_utils.py +0 -0
|
@@ -82,3 +82,34 @@ DEEPSEEK_API_KEY=
|
|
|
82
82
|
# Ollama Settings
|
|
83
83
|
OLLAMA_MODEL_NAME=
|
|
84
84
|
OLLAMA_BASE_URL=
|
|
85
|
+
|
|
86
|
+
# Model configurations - use multiline format with line continuation for readability
|
|
87
|
+
# It can be useful if you want to use different models for different agents or use different models from different providers.
|
|
88
|
+
MODEL_CONFIGS={\
|
|
89
|
+
"gpt4o": {\
|
|
90
|
+
"provider": "azure_openai",\
|
|
91
|
+
"name": "gpt-4o",\
|
|
92
|
+
"api_key": "azure-key-123",\
|
|
93
|
+
"endpoint": "https://your-resource.openai.azure.com/",\
|
|
94
|
+
"api_version": "2023-05-15",\
|
|
95
|
+
"deployment": "gpt4o-deployment",\
|
|
96
|
+
"temperature": 0.7\
|
|
97
|
+
},\
|
|
98
|
+
"gpt4o-mini": {\
|
|
99
|
+
"provider": "azure_openai",\
|
|
100
|
+
"name": "gpt-4o-mini",\
|
|
101
|
+
"api_key": "azure-key-123",\
|
|
102
|
+
"endpoint": "https://your-resource.openai.azure.com/",\
|
|
103
|
+
"api_version": "2023-05-15",\
|
|
104
|
+
"deployment": "gpt4o-mini-deployment"\
|
|
105
|
+
},\
|
|
106
|
+
"gemini": {\
|
|
107
|
+
"provider": "google_genai",\
|
|
108
|
+
"name": "gemini-pro",\
|
|
109
|
+
"api_key": "google-key-123",\
|
|
110
|
+
"temperature": 0.7\
|
|
111
|
+
}\
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
# Amazon Bedrock Knowledge Base ID
|
|
115
|
+
AWS_KB_ID=
|
|
@@ -34,7 +34,7 @@ jobs:
|
|
|
34
34
|
with:
|
|
35
35
|
python-version: ${{ matrix.python-version }}
|
|
36
36
|
- name: Install uv
|
|
37
|
-
uses: astral-sh/setup-uv@
|
|
37
|
+
uses: astral-sh/setup-uv@v6
|
|
38
38
|
with:
|
|
39
39
|
version: "0.6.12"
|
|
40
40
|
- name: Install dependencies with uv
|
|
@@ -135,7 +135,7 @@ jobs:
|
|
|
135
135
|
with:
|
|
136
136
|
python-version-file: "pyproject.toml"
|
|
137
137
|
- name: Install uv
|
|
138
|
-
uses: astral-sh/setup-uv@
|
|
138
|
+
uses: astral-sh/setup-uv@v6
|
|
139
139
|
with:
|
|
140
140
|
version: "0.6.12"
|
|
141
141
|
- name: Install ONLY CLIENT dependencies with uv
|
|
@@ -27,11 +27,11 @@ repos:
|
|
|
27
27
|
- repo: https://github.com/nbQA-dev/nbQA
|
|
28
28
|
rev: 1.9.1
|
|
29
29
|
hooks:
|
|
30
|
-
- id: nbqa-ruff-format
|
|
31
|
-
additional_dependencies: [ruff==0.11.4]
|
|
32
30
|
- id: nbqa-ruff
|
|
33
31
|
additional_dependencies: [ruff==0.11.4]
|
|
34
|
-
args: ["--fix", "--show-
|
|
32
|
+
args: ["--fix", "--show-files"]
|
|
33
|
+
- id: nbqa-ruff-format
|
|
34
|
+
additional_dependencies: [ruff==0.11.4]
|
|
35
35
|
|
|
36
36
|
- repo: https://github.com/kynan/nbstripout
|
|
37
37
|
rev: 0.8.1
|
|
@@ -6,6 +6,46 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
|
6
6
|
and this project adheres to
|
|
7
7
|
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
8
8
|
|
|
9
|
+
## [0.4.0]
|
|
10
|
+
|
|
11
|
+
### Updated
|
|
12
|
+
|
|
13
|
+
- Endpoints
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- Endpoint to clear history
|
|
18
|
+
- Add new message to the history
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
|
|
22
|
+
- Minor fixes and refactoring
|
|
23
|
+
|
|
24
|
+
## [0.3.1]
|
|
25
|
+
|
|
26
|
+
### Added
|
|
27
|
+
|
|
28
|
+
- Ability to pass parameters to service runner
|
|
29
|
+
- Argument to select service runner
|
|
30
|
+
|
|
31
|
+
### Updated
|
|
32
|
+
|
|
33
|
+
- Service Dockerfile
|
|
34
|
+
|
|
35
|
+
## [0.3.0]
|
|
36
|
+
|
|
37
|
+
### Added
|
|
38
|
+
|
|
39
|
+
- `MODEL_CONFIGS` to unify LLM env variables
|
|
40
|
+
- New blueprint with AWS KB
|
|
41
|
+
|
|
42
|
+
### Fixed
|
|
43
|
+
|
|
44
|
+
- Streaming messages handling
|
|
45
|
+
- Refactored code structure for better maintainability
|
|
46
|
+
- Optional dependencies
|
|
47
|
+
- API exception handling
|
|
48
|
+
|
|
9
49
|
## [0.2.0]
|
|
10
50
|
|
|
11
51
|
### Fixed
|
|
@@ -16,14 +16,6 @@ uv_build_wheel:
|
|
|
16
16
|
uv build --wheel
|
|
17
17
|
|
|
18
18
|
# Install deployment dependencies (includes core dependencies + specified extras)
|
|
19
|
-
uv_install_aws:
|
|
20
|
-
uv sync --extras "aws" --no-install-project
|
|
21
|
-
uv_install_azure:
|
|
22
|
-
uv sync --extras "azure" --no-install-project
|
|
23
|
-
uv_install_gunicorn:
|
|
24
|
-
uv sync --extras "gunicorn" --no-install-project
|
|
25
|
-
uv_install_uvicorn:
|
|
26
|
-
uv sync --extras "uvicorn" --no-install-project
|
|
27
19
|
uv_install_deploy_all:
|
|
28
20
|
uv sync --extras "deploy-all" --no-install-project
|
|
29
21
|
|
|
@@ -1,3 +1,104 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: langgraph-agent-toolkit
|
|
3
|
+
Version: 0.4.0
|
|
4
|
+
Summary: Full toolkit for running an AI agent service built with LangGraph, FastAPI and Streamlit
|
|
5
|
+
Project-URL: repository, https://github.com/kryvokhyzha/langgraph-agent-toolkit
|
|
6
|
+
Project-URL: PyPI, https://pypi.org/project/langgraph-agent-toolkit
|
|
7
|
+
Author-email: Roman Kryvokhyzha <kriwohizha@gmail.com>, Joshua Carroll <carroll.joshk@gmail.com>
|
|
8
|
+
License-Expression: MIT
|
|
9
|
+
License-File: LICENSE
|
|
10
|
+
Keywords: agents,blueprint,fastapi,langgraph,litellm,streamlit
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Framework :: FastAPI
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Operating System :: OS Independent
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
+
Classifier: Topic :: Scientific/Engineering
|
|
19
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
20
|
+
Classifier: Topic :: Software Development
|
|
21
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
22
|
+
Requires-Python: <3.14,>=3.11
|
|
23
|
+
Requires-Dist: duckduckgo-search>=7.3.0
|
|
24
|
+
Requires-Dist: fastapi~=0.115.5
|
|
25
|
+
Requires-Dist: fire~=0.7.0
|
|
26
|
+
Requires-Dist: grpcio>=1.68.0
|
|
27
|
+
Requires-Dist: httpx~=0.28.1
|
|
28
|
+
Requires-Dist: jinja2~=3.1.6
|
|
29
|
+
Requires-Dist: jiter~=0.9.0
|
|
30
|
+
Requires-Dist: joblib~=1.4.2
|
|
31
|
+
Requires-Dist: langchain-community~=0.3.21
|
|
32
|
+
Requires-Dist: langchain-core~=0.3.52
|
|
33
|
+
Requires-Dist: langgraph-checkpoint-postgres~=2.0.19
|
|
34
|
+
Requires-Dist: langgraph-checkpoint-sqlite~=2.0.6
|
|
35
|
+
Requires-Dist: langgraph-cli[inmem]~=0.2.3
|
|
36
|
+
Requires-Dist: langgraph-supervisor~=0.0.16
|
|
37
|
+
Requires-Dist: langgraph~=0.3.30
|
|
38
|
+
Requires-Dist: loguru~=0.7.3
|
|
39
|
+
Requires-Dist: multidict>6.3.2
|
|
40
|
+
Requires-Dist: numpy~=1.26.4; python_version <= '3.12'
|
|
41
|
+
Requires-Dist: numpy~=2.2.3; python_version >= '3.13'
|
|
42
|
+
Requires-Dist: pandas~=2.2.3
|
|
43
|
+
Requires-Dist: psycopg[binary,pool]~=3.2.4
|
|
44
|
+
Requires-Dist: pyarrow>=19.0.1
|
|
45
|
+
Requires-Dist: pydantic-settings~=2.9.1
|
|
46
|
+
Requires-Dist: pydantic~=2.11.1
|
|
47
|
+
Requires-Dist: pyowm~=3.3.0
|
|
48
|
+
Requires-Dist: python-dotenv~=1.1.0
|
|
49
|
+
Requires-Dist: rootutils>=1.0.7
|
|
50
|
+
Requires-Dist: setuptools>=75.6.0
|
|
51
|
+
Requires-Dist: streamlit~=1.44.1
|
|
52
|
+
Requires-Dist: uvicorn~=0.34.0
|
|
53
|
+
Requires-Dist: watchdog~=6.0.0
|
|
54
|
+
Provides-Extra: all-backends
|
|
55
|
+
Requires-Dist: azure-functions~=1.23.0; extra == 'all-backends'
|
|
56
|
+
Requires-Dist: gunicorn~=23.0.0; extra == 'all-backends'
|
|
57
|
+
Requires-Dist: mangum~=0.19.0; extra == 'all-backends'
|
|
58
|
+
Requires-Dist: uvicorn~=0.34.2; extra == 'all-backends'
|
|
59
|
+
Provides-Extra: all-llms
|
|
60
|
+
Requires-Dist: langchain-anthropic~=0.3.12; extra == 'all-llms'
|
|
61
|
+
Requires-Dist: langchain-aws~=0.2.22; extra == 'all-llms'
|
|
62
|
+
Requires-Dist: langchain-deepseek~=0.1.3; extra == 'all-llms'
|
|
63
|
+
Requires-Dist: langchain-google-genai~=2.1.4; extra == 'all-llms'
|
|
64
|
+
Requires-Dist: langchain-google-vertexai~=2.0.21; extra == 'all-llms'
|
|
65
|
+
Requires-Dist: langchain-groq~=0.3.2; extra == 'all-llms'
|
|
66
|
+
Requires-Dist: langchain-ollama~=0.3.2; extra == 'all-llms'
|
|
67
|
+
Requires-Dist: langchain-openai~=0.3.12; extra == 'all-llms'
|
|
68
|
+
Provides-Extra: all-observability
|
|
69
|
+
Requires-Dist: langfuse~=2.60.3; extra == 'all-observability'
|
|
70
|
+
Requires-Dist: langsmith~=0.3.31; extra == 'all-observability'
|
|
71
|
+
Provides-Extra: anthropic
|
|
72
|
+
Requires-Dist: langchain-anthropic~=0.3.12; extra == 'anthropic'
|
|
73
|
+
Provides-Extra: aws
|
|
74
|
+
Requires-Dist: langchain-aws~=0.2.22; extra == 'aws'
|
|
75
|
+
Provides-Extra: aws-backend
|
|
76
|
+
Requires-Dist: mangum~=0.19.0; extra == 'aws-backend'
|
|
77
|
+
Provides-Extra: azure-backend
|
|
78
|
+
Requires-Dist: azure-functions~=1.23.0; extra == 'azure-backend'
|
|
79
|
+
Provides-Extra: deepseek
|
|
80
|
+
Requires-Dist: langchain-deepseek~=0.1.3; extra == 'deepseek'
|
|
81
|
+
Provides-Extra: google-genai
|
|
82
|
+
Requires-Dist: langchain-google-genai~=2.1.4; extra == 'google-genai'
|
|
83
|
+
Provides-Extra: google-vertexai
|
|
84
|
+
Requires-Dist: langchain-google-vertexai~=2.0.21; extra == 'google-vertexai'
|
|
85
|
+
Provides-Extra: groq
|
|
86
|
+
Requires-Dist: langchain-groq~=0.3.2; extra == 'groq'
|
|
87
|
+
Provides-Extra: gunicorn-backend
|
|
88
|
+
Requires-Dist: gunicorn~=23.0.0; extra == 'gunicorn-backend'
|
|
89
|
+
Requires-Dist: uvicorn[standard]~=0.34.2; extra == 'gunicorn-backend'
|
|
90
|
+
Provides-Extra: langfuse
|
|
91
|
+
Requires-Dist: langfuse~=2.60.3; extra == 'langfuse'
|
|
92
|
+
Provides-Extra: langsmith
|
|
93
|
+
Requires-Dist: langsmith~=0.3.31; extra == 'langsmith'
|
|
94
|
+
Provides-Extra: ollama
|
|
95
|
+
Requires-Dist: langchain-ollama~=0.3.2; extra == 'ollama'
|
|
96
|
+
Provides-Extra: openai
|
|
97
|
+
Requires-Dist: langchain-openai~=0.3.12; extra == 'openai'
|
|
98
|
+
Provides-Extra: uvicorn-backend
|
|
99
|
+
Requires-Dist: uvicorn~=0.34.2; extra == 'uvicorn-backend'
|
|
100
|
+
Description-Content-Type: text/markdown
|
|
101
|
+
|
|
1
102
|
# 🧰 Langgraph Agent Toolkit
|
|
2
103
|
|
|
3
104
|
[](https://github.com/kryvokhyzha/langgraph-agent-toolkit/actions/workflows/test.yml)
|
|
@@ -28,6 +129,27 @@ Features include:
|
|
|
28
129
|
support
|
|
29
130
|
- Complete template for building and deploying your own LangGraph-based agents
|
|
30
131
|
|
|
132
|
+
## 📑 Contents
|
|
133
|
+
|
|
134
|
+
- [Introduction](#-introduction)
|
|
135
|
+
- [Quickstart](#-quickstart)
|
|
136
|
+
- [Installation Options](#-installation-options)
|
|
137
|
+
- [Architecture](#architecture)
|
|
138
|
+
- [Key Features](#-key-features)
|
|
139
|
+
- [Environment Setup](#environment-setup)
|
|
140
|
+
- [Creating Your `.env` File](#-creating-your-env-file)
|
|
141
|
+
- [LiteLLM Configuration](#-litellm-configuration)
|
|
142
|
+
- [Project Structure](#-project-structure)
|
|
143
|
+
- [Setup and Usage](#setup-and-usage)
|
|
144
|
+
- [Building Your Own Agent](#-building-your-own-agent)
|
|
145
|
+
- [Docker Setup](#-docker-setup)
|
|
146
|
+
- [Using the AgentClient](#-using-the-agentclient)
|
|
147
|
+
- [Development with LangGraph Studio](#-development-with-langgraph-studio)
|
|
148
|
+
- [Local Development Without Docker](#-local-development-without-docker)
|
|
149
|
+
- [Useful Resources](#-useful-resources)
|
|
150
|
+
- [Development and Contributing](#-development-and-contributing)
|
|
151
|
+
- [License](#-license)
|
|
152
|
+
|
|
31
153
|
## 🚀 Quickstart
|
|
32
154
|
|
|
33
155
|
1. Create a `.env` file based on [`.env.example`](./.env.example)
|
|
@@ -54,12 +176,37 @@ Features include:
|
|
|
54
176
|
pip install langgraph-agent-toolkit
|
|
55
177
|
```
|
|
56
178
|
|
|
179
|
+
ℹ️ You can check available extras in
|
|
180
|
+
[Installation Options](#-installation-options) section or directly in
|
|
181
|
+
[pyproject.toml](pyproject.toml) file.
|
|
182
|
+
|
|
57
183
|
4. **Option 3: Run with Docker**
|
|
58
184
|
|
|
59
185
|
```sh
|
|
60
186
|
docker compose watch
|
|
61
187
|
```
|
|
62
188
|
|
|
189
|
+
## 📦 Installation Options
|
|
190
|
+
|
|
191
|
+
The toolkit supports multiple installation options using "extras" to include
|
|
192
|
+
just the dependencies you need:
|
|
193
|
+
|
|
194
|
+
### Available Extras
|
|
195
|
+
|
|
196
|
+
```sh
|
|
197
|
+
# LLM Provider Extras
|
|
198
|
+
pip install "langgraph-agent-toolkit[openai,uvicorn-backend,langfuse]" # OpenAI, Uvicorn backend, and Langfuse observability
|
|
199
|
+
pip install "langgraph-agent-toolkit[anthropic,aws-backend,langsmith]" # Anthropic, AWS Lambda backend, and Langsmith observability
|
|
200
|
+
|
|
201
|
+
# Also available: google-vertexai, aws, ollama, groq, deepseek
|
|
202
|
+
pip install "langgraph-agent-toolkit[all-llms,all-backends,all-observability]" # All LLM providers, all backends, and all observability platforms
|
|
203
|
+
|
|
204
|
+
# Client-Only Installation
|
|
205
|
+
pip install "langgraph-agent-toolkit[client]" # Just the client and Streamlit app
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
<a name="architecture"></a>
|
|
209
|
+
|
|
63
210
|
## 🏗️ Architecture
|
|
64
211
|
|
|
65
212
|
<!-- <img src="docs/media/agent_architecture.png" width="800"> -->
|
|
@@ -81,7 +228,7 @@ Features include:
|
|
|
81
228
|
- Available agents and models listed at `/info` endpoint
|
|
82
229
|
- Supports different runners:
|
|
83
230
|
- unicorn
|
|
84
|
-
-
|
|
231
|
+
- gunicorn
|
|
85
232
|
- ⚠️ mangum (AWS Lambda) - _experimental_
|
|
86
233
|
- ⚠️ azure functions - _experimental_
|
|
87
234
|
|
|
@@ -98,6 +245,8 @@ Features include:
|
|
|
98
245
|
- Prompt management system
|
|
99
246
|
- LiteLLM proxy integration
|
|
100
247
|
|
|
248
|
+
<a name="environment-setup"></a>
|
|
249
|
+
|
|
101
250
|
## ⚙️ Environment Setup
|
|
102
251
|
|
|
103
252
|
### 📝 Creating Your `.env` File
|
|
@@ -138,6 +287,44 @@ Features include:
|
|
|
138
287
|
# - Ollama
|
|
139
288
|
```
|
|
140
289
|
|
|
290
|
+
**🔀 Multi-Provider Model Configuration**
|
|
291
|
+
|
|
292
|
+
```env
|
|
293
|
+
# Configure multiple models from different providers in a single environment variable
|
|
294
|
+
MODEL_CONFIGS={\
|
|
295
|
+
"gpt4o": {\
|
|
296
|
+
"provider": "azure_openai",\
|
|
297
|
+
"name": "gpt-4o",\
|
|
298
|
+
"api_key": "azure-key-123",\
|
|
299
|
+
"endpoint": "https://your-resource.openai.azure.com/",\
|
|
300
|
+
"api_version": "2023-05-15",\
|
|
301
|
+
"deployment": "gpt4o-deployment",\
|
|
302
|
+
"temperature": 0.7\
|
|
303
|
+
},\
|
|
304
|
+
"gpt4o-mini": {\
|
|
305
|
+
"provider": "azure_openai",\
|
|
306
|
+
"name": "gpt-4o-mini",\
|
|
307
|
+
"api_key": "azure-key-123",\
|
|
308
|
+
"endpoint": "https://your-resource.openai.azure.com/",\
|
|
309
|
+
"api_version": "2023-05-15",\
|
|
310
|
+
"deployment": "gpt4o-mini-deployment"\
|
|
311
|
+
},\
|
|
312
|
+
"gemini": {\
|
|
313
|
+
"provider": "google_genai",\
|
|
314
|
+
"name": "gemini-pro",\
|
|
315
|
+
"api_key": "google-key-123",\
|
|
316
|
+
"temperature": 0.7\
|
|
317
|
+
}\
|
|
318
|
+
}
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
This configuration allows you to:
|
|
322
|
+
|
|
323
|
+
- Define multiple models with different providers in one place
|
|
324
|
+
- Reference them by logical names in your application
|
|
325
|
+
- Set provider-specific parameters for each model
|
|
326
|
+
- Switch between models without changing code
|
|
327
|
+
|
|
141
328
|
**🗄️ Database Configuration**
|
|
142
329
|
|
|
143
330
|
```env
|
|
@@ -213,13 +400,20 @@ Features include:
|
|
|
213
400
|
redis_password: os.environ/REDIS_AUTH
|
|
214
401
|
```
|
|
215
402
|
|
|
216
|
-
3. Setup
|
|
403
|
+
3. Setup service environment files:
|
|
404
|
+
|
|
405
|
+
Each service has its own environment file:
|
|
217
406
|
|
|
218
407
|
```sh
|
|
219
408
|
cp configs/litellm/.litellm.env.example configs/litellm/.litellm.env
|
|
409
|
+
cp configs/redis/.redis.env.example configs/redis/.redis.env
|
|
410
|
+
cp configs/postgres/.postgres.env.example configs/postgres/.postgres.env
|
|
411
|
+
cp configs/minio/.minio.env.example configs/minio/.minio.env
|
|
412
|
+
cp configs/clickhouse/.clickhouse.env.example configs/clickhouse/.clickhouse.env
|
|
413
|
+
cp configs/langfuse/.langfuse.env.example configs/langfuse/.langfuse.env
|
|
220
414
|
```
|
|
221
415
|
|
|
222
|
-
|
|
416
|
+
For example, edit LiteLLM environment:
|
|
223
417
|
|
|
224
418
|
```env
|
|
225
419
|
LITELLM_MASTER_KEY=sk-your-master-key # Create a strong key here
|
|
@@ -228,7 +422,8 @@ Features include:
|
|
|
228
422
|
STORE_MODEL_IN_DB=True
|
|
229
423
|
```
|
|
230
424
|
|
|
231
|
-
>
|
|
425
|
+
> [!NOTE]
|
|
426
|
+
> LiteLLM relies on Redis for request caching and rate limiting.
|
|
232
427
|
|
|
233
428
|
## 📂 Project Structure
|
|
234
429
|
|
|
@@ -244,6 +439,8 @@ The repository contains:
|
|
|
244
439
|
- `docker/`: Docker configurations
|
|
245
440
|
- `tests/`: Test suite
|
|
246
441
|
|
|
442
|
+
<a name="setup-and-usage"></a>
|
|
443
|
+
|
|
247
444
|
## 🛠️ Setup and Usage
|
|
248
445
|
|
|
249
446
|
1. Clone the repository:
|
|
@@ -268,7 +465,7 @@ To customize the agent:
|
|
|
268
465
|
|
|
269
466
|
### 🐳 Docker Setup
|
|
270
467
|
|
|
271
|
-
The `docker-compose.yaml` defines these services:
|
|
468
|
+
The `docker-compose.yaml` defines these services with enhanced security:
|
|
272
469
|
|
|
273
470
|
- `backend-agent-service`: FastAPI service
|
|
274
471
|
- `frontend-streamlit-app`: Streamlit chat interface
|
|
@@ -296,7 +493,7 @@ enables live reloading:
|
|
|
296
493
|
- 🔌 Agent API: `http://0.0.0.0:8080`
|
|
297
494
|
- 📚 API docs: `http://0.0.0.0:8080/docs`
|
|
298
495
|
- 📊 Langfuse dashboard: `http://0.0.0.0:3000`
|
|
299
|
-
- 🤖 LiteLLM API: `http://0.0.0.0:4000`
|
|
496
|
+
- 🤖 LiteLLM API: `http://0.0.0.0:4000` (accessible from any host)
|
|
300
497
|
|
|
301
498
|
4. Stop services:
|
|
302
499
|
|
|
@@ -366,6 +563,8 @@ The project works with
|
|
|
366
563
|
|
|
367
564
|
- [LangGraph documentation](https://langchain-ai.github.io/langgraph/concepts/low_level/#multiple-schemas)
|
|
368
565
|
- [LangGraph Memory Concept](https://langchain-ai.github.io/langgraph/concepts/memory/)
|
|
566
|
+
- [LangGraph Memory Persistence](https://langchain-ai.github.io/langgraph/concepts/persistence/#memory)
|
|
567
|
+
- [How to edit graph state](https://langchain-ai.github.io/langgraph/how-tos/human_in_the_loop/edit-graph-state/)
|
|
369
568
|
- [How to create tools in Langchain](https://python.langchain.com/docs/how_to/custom_tools/)
|
|
370
569
|
- [Simple Serverless FastAPI with AWS Lambda](https://www.deadbear.io/simple-serverless-fastapi-with-aws-lambda/)
|
|
371
570
|
|