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.
Files changed (148) hide show
  1. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.env.example +31 -0
  2. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.github/workflows/release.yml +1 -1
  3. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.github/workflows/test.yml +2 -2
  4. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.gitignore +1 -0
  5. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.pre-commit-config.yaml +3 -3
  6. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/CHANGELOG.md +40 -0
  7. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/Makefile +0 -8
  8. langgraph_agent_toolkit-0.2.0/README.md → langgraph_agent_toolkit-0.4.0/PKG-INFO +205 -6
  9. langgraph_agent_toolkit-0.2.0/PKG-INFO → langgraph_agent_toolkit-0.4.0/README.md +104 -77
  10. langgraph_agent_toolkit-0.4.0/configs/clickhouse/.clickhouse.env.example +3 -0
  11. langgraph_agent_toolkit-0.4.0/configs/langfuse/.langfuse.env.example +59 -0
  12. langgraph_agent_toolkit-0.4.0/configs/litellm/.litellm.env.example +3 -0
  13. langgraph_agent_toolkit-0.4.0/configs/minio/.minio.env.example +2 -0
  14. langgraph_agent_toolkit-0.4.0/configs/postgres/.postgres.env.example +3 -0
  15. langgraph_agent_toolkit-0.4.0/configs/redis/.redis.env.example +1 -0
  16. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/docker/app/Dockerfile +2 -1
  17. langgraph_agent_toolkit-0.4.0/docker/service/Dockerfile +32 -0
  18. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/docker-compose.yaml +26 -85
  19. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/agent_executor.py +51 -6
  20. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/agent.py +16 -6
  21. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/chatbot/agent.py +16 -6
  22. langgraph_agent_toolkit-0.4.0/langgraph_agent_toolkit/agents/blueprints/knowledge_base_agent/agent.py +199 -0
  23. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/components/creators/create_react_agent.py +4 -0
  24. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/models/factory.py +41 -0
  25. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/settings.py +36 -1
  26. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/helper/utils.py +9 -0
  27. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/run_service.py +20 -3
  28. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/schema/__init__.py +8 -0
  29. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/schema/schema.py +107 -2
  30. langgraph_agent_toolkit-0.4.0/langgraph_agent_toolkit/service/__init__.py +0 -0
  31. langgraph_agent_toolkit-0.4.0/langgraph_agent_toolkit/service/exception_handlers.py +71 -0
  32. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/service/factory.py +57 -38
  33. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/service/handler.py +6 -1
  34. langgraph_agent_toolkit-0.4.0/langgraph_agent_toolkit/service/routes.py +356 -0
  35. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/service/utils.py +28 -23
  36. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/pyproject.toml +72 -15
  37. langgraph_agent_toolkit-0.4.0/scripts/postgres-init/create_databases.sql +9 -0
  38. langgraph_agent_toolkit-0.4.0/scripts/python/07-test-get-chat-history.py +55 -0
  39. langgraph_agent_toolkit-0.4.0/scripts/python/08-test-update-chat-history.py +58 -0
  40. langgraph_agent_toolkit-0.4.0/scripts/python/09-test-clear-chat-history.py +57 -0
  41. langgraph_agent_toolkit-0.4.0/tests/agents/test_service_streaming.py +52 -0
  42. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/core/test_settings.py +35 -0
  43. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/service/conftest.py +9 -3
  44. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/service/test_auth.py +20 -17
  45. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/service/test_factory.py +20 -13
  46. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/service/test_service.py +10 -7
  47. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/uv.lock +713 -29
  48. langgraph_agent_toolkit-0.2.0/configs/clickhouse/.clickhouse.env.example +0 -3
  49. langgraph_agent_toolkit-0.2.0/configs/litellm/.litellm.env.example +0 -3
  50. langgraph_agent_toolkit-0.2.0/configs/minio/.minio.env.example +0 -2
  51. langgraph_agent_toolkit-0.2.0/configs/postgres/.postgres.env.example +0 -3
  52. langgraph_agent_toolkit-0.2.0/configs/redis/.redis.env.example +0 -1
  53. langgraph_agent_toolkit-0.2.0/docker/service/Dockerfile +0 -15
  54. langgraph_agent_toolkit-0.2.0/langgraph_agent_toolkit/service/exception_handlers.py +0 -46
  55. langgraph_agent_toolkit-0.2.0/langgraph_agent_toolkit/service/routes.py +0 -177
  56. langgraph_agent_toolkit-0.2.0/scripts/postgres-init/create_databases.sql +0 -32
  57. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.coveragerc +0 -0
  58. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.dockerignore +0 -0
  59. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  60. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  61. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  62. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.github/RELEASE_TEMPLATE/release-template.md +0 -0
  63. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.github/codecov.yml +0 -0
  64. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.github/dependabot.yml +0 -0
  65. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.github/scripts/tag_from_pyproject.sh +0 -0
  66. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.github/workflows/deploy.yml +0 -0
  67. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/.project-root +0 -0
  68. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/CONTRIBUTING.md +0 -0
  69. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/LICENSE +0 -0
  70. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/configs/litellm/config.example.yaml +0 -0
  71. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/docs/media/agent_architecture.excalidraw +0 -0
  72. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/docs/media/agent_architecture.png +0 -0
  73. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/docs/media/agent_diagram.png +0 -0
  74. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph.json +0 -0
  75. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/__init__.py +0 -0
  76. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/__init__.py +0 -0
  77. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/agent.py +0 -0
  78. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/__init__.py +0 -0
  79. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/__init__.py +0 -0
  80. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/task.py +0 -0
  81. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/utils.py +0 -0
  82. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/chatbot/__init__.py +0 -0
  83. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/command_agent/__init__.py +0 -0
  84. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/command_agent/agent.py +0 -0
  85. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/interrupt_agent/__init__.py +0 -0
  86. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/interrupt_agent/agent.py +0 -0
  87. {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
  88. {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
  89. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/react/agent.py +0 -0
  90. {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
  91. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/react_so/agent.py +0 -0
  92. {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
  93. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/blueprints/supervisor_agent/agent.py +0 -0
  94. {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
  95. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/components/creators/__init__.py +0 -0
  96. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/components/tools.py +0 -0
  97. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/agents/components/utils.py +0 -0
  98. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/client/__init__.py +0 -0
  99. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/client/client.py +0 -0
  100. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/__init__.py +0 -0
  101. {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
  102. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/memory/base.py +0 -0
  103. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/memory/factory.py +0 -0
  104. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/memory/postgres.py +0 -0
  105. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/memory/sqlite.py +0 -0
  106. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/memory/types.py +0 -0
  107. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/models/__init__.py +0 -0
  108. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/models/chat_openai.py +0 -0
  109. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/models/fake.py +0 -0
  110. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/observability/__init__.py +0 -0
  111. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/observability/base.py +0 -0
  112. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/observability/empty.py +0 -0
  113. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/observability/factory.py +0 -0
  114. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/observability/langfuse.py +0 -0
  115. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/observability/langsmith.py +0 -0
  116. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/observability/types.py +0 -0
  117. {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
  118. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/core/prompts/chat_prompt_template.py +0 -0
  119. {langgraph_agent_toolkit-0.2.0/langgraph_agent_toolkit/service → langgraph_agent_toolkit-0.4.0/langgraph_agent_toolkit/helper}/__init__.py +0 -0
  120. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/helper/constants.py +0 -0
  121. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/helper/logging.py +0 -0
  122. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/helper/types.py +0 -0
  123. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/run_agent.py +0 -0
  124. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/run_client.py +0 -0
  125. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/schema/models.py +0 -0
  126. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/schema/task_data.py +0 -0
  127. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/service/middleware.py +0 -0
  128. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/service/types.py +0 -0
  129. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/langgraph_agent_toolkit/streamlit_app.py +0 -0
  130. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/scripts/python/01-invoke-proxy.py +0 -0
  131. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/scripts/python/02-test-local-pm.py +0 -0
  132. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/scripts/python/03-test-langfuse-pm.py +0 -0
  133. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/scripts/python/04-test-langsmith-pm.py +0 -0
  134. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/scripts/python/05-test-prompt-types.py +0 -0
  135. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/scripts/python/06-test-custom-chat-prompt-template.py +0 -0
  136. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/agents/test_agent_executor.py +0 -0
  137. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/app/conftest.py +0 -0
  138. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/app/test_streamlit_app.py +0 -0
  139. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/client/conftest.py +0 -0
  140. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/client/test_client.py +0 -0
  141. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/conftest.py +0 -0
  142. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/core/test_llm.py +0 -0
  143. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/core/test_memory.py +0 -0
  144. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/core/test_observability.py +0 -0
  145. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/core/test_prompts.py +0 -0
  146. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/integration/test_docker_e2e.py +0 -0
  147. {langgraph_agent_toolkit-0.2.0 → langgraph_agent_toolkit-0.4.0}/tests/service/test_service_e2e.py +0 -0
  148. {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=
@@ -13,7 +13,7 @@ jobs:
13
13
  fetch-depth: 0
14
14
 
15
15
  - name: Install uv
16
- uses: astral-sh/setup-uv@v5
16
+ uses: astral-sh/setup-uv@v6
17
17
  with:
18
18
  version: "0.6.12"
19
19
  enable-cache: true
@@ -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@v5
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@v5
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
@@ -134,6 +134,7 @@ celerybeat.pid
134
134
 
135
135
  # Environments
136
136
  .env
137
+ .*.env
137
138
  .python-version
138
139
  .venv
139
140
  env/
@@ -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-source"]
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
  [![build status](https://github.com/kryvokhyzha/langgraph-agent-toolkit/actions/workflows/test.yml/badge.svg)](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
- - ⚠️ gunicorn - _experimental_
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 LiteLLM environment:
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
- Edit to include:
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
- > **Note**: LiteLLM relies on Redis for request caching and rate limiting.
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