langgraph-agent-toolkit 0.1.2__tar.gz → 0.3.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.3.0/.coveragerc +6 -0
  2. langgraph_agent_toolkit-0.3.0/.env.example +115 -0
  3. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/.github/PULL_REQUEST_TEMPLATE.md +2 -0
  4. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/.github/workflows/release.yml +1 -1
  5. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/.github/workflows/test.yml +2 -2
  6. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/.pre-commit-config.yaml +3 -3
  7. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/CHANGELOG.md +25 -0
  8. langgraph_agent_toolkit-0.1.2/README.md → langgraph_agent_toolkit-0.3.0/PKG-INFO +221 -10
  9. langgraph_agent_toolkit-0.1.2/PKG-INFO → langgraph_agent_toolkit-0.3.0/README.md +126 -81
  10. langgraph_agent_toolkit-0.3.0/configs/clickhouse/.clickhouse.env.example +3 -0
  11. langgraph_agent_toolkit-0.3.0/configs/langfuse/.langfuse.env.example +59 -0
  12. langgraph_agent_toolkit-0.3.0/configs/litellm/.litellm.env.example +3 -0
  13. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/configs/litellm/config.example.yaml +13 -1
  14. langgraph_agent_toolkit-0.3.0/configs/minio/.minio.env.example +2 -0
  15. langgraph_agent_toolkit-0.3.0/configs/postgres/.postgres.env.example +3 -0
  16. langgraph_agent_toolkit-0.3.0/configs/redis/.redis.env.example +1 -0
  17. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/docker/app/Dockerfile +2 -1
  18. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/docker/service/Dockerfile +2 -1
  19. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/docker-compose.yaml +26 -85
  20. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/agents/agent_executor.py +68 -12
  21. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/agent.py +17 -1
  22. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/agents/blueprints/chatbot/agent.py +17 -3
  23. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/agents/blueprints/interrupt_agent/agent.py +19 -3
  24. langgraph_agent_toolkit-0.3.0/langgraph_agent_toolkit/agents/blueprints/knowledge_base_agent/agent.py +199 -0
  25. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/agents/blueprints/react/agent.py +7 -1
  26. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/agents/blueprints/react_so/agent.py +7 -1
  27. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/agents/blueprints/supervisor_agent/agent.py +7 -1
  28. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/client/client.py +45 -20
  29. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/core/memory/postgres.py +2 -1
  30. langgraph_agent_toolkit-0.3.0/langgraph_agent_toolkit/core/models/factory.py +158 -0
  31. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/core/settings.py +69 -42
  32. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/helper/constants.py +3 -1
  33. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/helper/utils.py +9 -0
  34. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/schema/__init__.py +0 -2
  35. langgraph_agent_toolkit-0.3.0/langgraph_agent_toolkit/schema/models.py +13 -0
  36. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/schema/schema.py +19 -14
  37. langgraph_agent_toolkit-0.3.0/langgraph_agent_toolkit/service/__init__.py +0 -0
  38. langgraph_agent_toolkit-0.3.0/langgraph_agent_toolkit/service/exception_handlers.py +71 -0
  39. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/service/routes.py +3 -6
  40. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/service/utils.py +20 -23
  41. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/streamlit_app.py +0 -4
  42. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/pyproject.toml +52 -10
  43. langgraph_agent_toolkit-0.3.0/scripts/postgres-init/create_databases.sql +9 -0
  44. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/tests/agents/test_agent_executor.py +9 -9
  45. langgraph_agent_toolkit-0.3.0/tests/agents/test_service_streaming.py +52 -0
  46. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/tests/app/conftest.py +0 -3
  47. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/tests/app/test_streamlit_app.py +11 -6
  48. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/tests/client/test_client.py +10 -9
  49. langgraph_agent_toolkit-0.3.0/tests/core/test_llm.py +48 -0
  50. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/tests/core/test_settings.py +88 -59
  51. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/tests/integration/test_docker_e2e.py +2 -1
  52. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/tests/service/conftest.py +9 -3
  53. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/tests/service/test_auth.py +20 -17
  54. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/tests/service/test_service.py +9 -17
  55. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/uv.lock +679 -25
  56. langgraph_agent_toolkit-0.1.2/.coveragerc +0 -5
  57. langgraph_agent_toolkit-0.1.2/.env.example +0 -57
  58. langgraph_agent_toolkit-0.1.2/configs/clickhouse/.clickhouse.env.example +0 -3
  59. langgraph_agent_toolkit-0.1.2/configs/litellm/.litellm.env.example +0 -3
  60. langgraph_agent_toolkit-0.1.2/configs/minio/.minio.env.example +0 -2
  61. langgraph_agent_toolkit-0.1.2/configs/postgres/.postgres.env.example +0 -3
  62. langgraph_agent_toolkit-0.1.2/configs/redis/.redis.env.example +0 -1
  63. langgraph_agent_toolkit-0.1.2/langgraph_agent_toolkit/core/models/factory.py +0 -118
  64. langgraph_agent_toolkit-0.1.2/langgraph_agent_toolkit/schema/models.py +0 -25
  65. langgraph_agent_toolkit-0.1.2/langgraph_agent_toolkit/service/exception_handlers.py +0 -46
  66. langgraph_agent_toolkit-0.1.2/scripts/postgres-init/create_databases.sql +0 -32
  67. langgraph_agent_toolkit-0.1.2/tests/core/test_llm.py +0 -56
  68. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/.dockerignore +0 -0
  69. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  70. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  71. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/.github/RELEASE_TEMPLATE/release-template.md +0 -0
  72. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/.github/codecov.yml +0 -0
  73. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/.github/dependabot.yml +0 -0
  74. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/.github/scripts/tag_from_pyproject.sh +0 -0
  75. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/.github/workflows/deploy.yml +0 -0
  76. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/.gitignore +0 -0
  77. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/.project-root +0 -0
  78. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/CONTRIBUTING.md +0 -0
  79. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/LICENSE +0 -0
  80. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/Makefile +0 -0
  81. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/docs/media/agent_architecture.excalidraw +0 -0
  82. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/docs/media/agent_architecture.png +0 -0
  83. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/docs/media/agent_diagram.png +0 -0
  84. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph.json +0 -0
  85. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/__init__.py +0 -0
  86. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/agents/__init__.py +0 -0
  87. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/agents/agent.py +0 -0
  88. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/agents/blueprints/__init__.py +0 -0
  89. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/__init__.py +0 -0
  90. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/task.py +0 -0
  91. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/utils.py +0 -0
  92. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/agents/blueprints/chatbot/__init__.py +0 -0
  93. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/agents/blueprints/command_agent/__init__.py +0 -0
  94. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/agents/blueprints/command_agent/agent.py +0 -0
  95. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/agents/blueprints/interrupt_agent/__init__.py +0 -0
  96. {langgraph_agent_toolkit-0.1.2/langgraph_agent_toolkit/agents/blueprints/react → langgraph_agent_toolkit-0.3.0/langgraph_agent_toolkit/agents/blueprints/knowledge_base_agent}/__init__.py +0 -0
  97. {langgraph_agent_toolkit-0.1.2/langgraph_agent_toolkit/agents/blueprints/react_so → langgraph_agent_toolkit-0.3.0/langgraph_agent_toolkit/agents/blueprints/react}/__init__.py +0 -0
  98. {langgraph_agent_toolkit-0.1.2/langgraph_agent_toolkit/agents/blueprints/supervisor_agent → langgraph_agent_toolkit-0.3.0/langgraph_agent_toolkit/agents/blueprints/react_so}/__init__.py +0 -0
  99. {langgraph_agent_toolkit-0.1.2/langgraph_agent_toolkit/agents/components → langgraph_agent_toolkit-0.3.0/langgraph_agent_toolkit/agents/blueprints/supervisor_agent}/__init__.py +0 -0
  100. {langgraph_agent_toolkit-0.1.2/langgraph_agent_toolkit/core/memory → langgraph_agent_toolkit-0.3.0/langgraph_agent_toolkit/agents/components}/__init__.py +0 -0
  101. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/agents/components/creators/__init__.py +0 -0
  102. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/agents/components/creators/create_react_agent.py +0 -0
  103. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/agents/components/tools.py +0 -0
  104. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/agents/components/utils.py +0 -0
  105. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/client/__init__.py +0 -0
  106. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/core/__init__.py +0 -0
  107. {langgraph_agent_toolkit-0.1.2/langgraph_agent_toolkit/core/prompts → langgraph_agent_toolkit-0.3.0/langgraph_agent_toolkit/core/memory}/__init__.py +0 -0
  108. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/core/memory/base.py +0 -0
  109. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/core/memory/factory.py +0 -0
  110. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/core/memory/sqlite.py +0 -0
  111. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/core/memory/types.py +0 -0
  112. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/core/models/__init__.py +0 -0
  113. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/core/models/chat_openai.py +0 -0
  114. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/core/models/fake.py +0 -0
  115. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/core/observability/__init__.py +0 -0
  116. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/core/observability/base.py +0 -0
  117. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/core/observability/empty.py +0 -0
  118. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/core/observability/factory.py +0 -0
  119. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/core/observability/langfuse.py +0 -0
  120. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/core/observability/langsmith.py +0 -0
  121. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/core/observability/types.py +0 -0
  122. {langgraph_agent_toolkit-0.1.2/langgraph_agent_toolkit/helper → langgraph_agent_toolkit-0.3.0/langgraph_agent_toolkit/core/prompts}/__init__.py +0 -0
  123. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/core/prompts/chat_prompt_template.py +0 -0
  124. {langgraph_agent_toolkit-0.1.2/langgraph_agent_toolkit/service → langgraph_agent_toolkit-0.3.0/langgraph_agent_toolkit/helper}/__init__.py +0 -0
  125. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/helper/logging.py +0 -0
  126. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/helper/types.py +0 -0
  127. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/run_agent.py +0 -0
  128. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/run_client.py +0 -0
  129. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/run_service.py +0 -0
  130. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/schema/task_data.py +0 -0
  131. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/service/factory.py +0 -0
  132. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/service/handler.py +0 -0
  133. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/service/middleware.py +0 -0
  134. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/langgraph_agent_toolkit/service/types.py +0 -0
  135. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/scripts/python/01-invoke-proxy.py +0 -0
  136. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/scripts/python/02-test-local-pm.py +0 -0
  137. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/scripts/python/03-test-langfuse-pm.py +0 -0
  138. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/scripts/python/04-test-langsmith-pm.py +0 -0
  139. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/scripts/python/05-test-prompt-types.py +0 -0
  140. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/scripts/python/06-test-custom-chat-prompt-template.py +0 -0
  141. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/tests/client/conftest.py +0 -0
  142. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/tests/conftest.py +0 -0
  143. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/tests/core/test_memory.py +0 -0
  144. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/tests/core/test_observability.py +0 -0
  145. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/tests/core/test_prompts.py +0 -0
  146. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/tests/service/test_factory.py +0 -0
  147. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/tests/service/test_service_e2e.py +0 -0
  148. {langgraph_agent_toolkit-0.1.2 → langgraph_agent_toolkit-0.3.0}/tests/service/test_utils.py +0 -0
@@ -0,0 +1,6 @@
1
+ [run]
2
+ omit =
3
+ examples/*
4
+ scripts/*
5
+ tests/*
6
+ langgraph_agent_toolkit/agents/blueprints/*
@@ -0,0 +1,115 @@
1
+ # Web server configuration
2
+ HOST=0.0.0.0
3
+ PORT=8080
4
+
5
+ # Application mode. If the value is "dev", it will enable uvicorn reload
6
+ ENV_MODE=development
7
+
8
+ # Authentication secret, HTTP bearer token header is required if set
9
+ AUTH_SECRET=
10
+
11
+ # Observability backend
12
+ # OBSERVABILITY_BACKEND=langfuse
13
+
14
+ # Langfuse configuration
15
+ # LANGFUSE_SECRET_KEY=
16
+ # LANGFUSE_PUBLIC_KEY=
17
+ # LANGFUSE_HOST=http://langfuse-web:3000
18
+
19
+ # Langsmith configuration
20
+ # LANGSMITH_TRACING=true
21
+ # LANGSMITH_API_KEY=
22
+ # LANGSMITH_PROJECT=default
23
+ # LANGSMITH_ENDPOINT=https://api.smith.langchain.com
24
+
25
+ # Database type.
26
+ # If the value is "postgres", then it will require Postgresql related environment variables.
27
+ # If the value is "sqlite", then you can configure optional file path via SQLITE_DB_PATH
28
+ MEMORY_BACKEND=postgres
29
+
30
+ # If DATABASE_TYPE=sqlite (Optional)
31
+ SQLITE_DB_PATH=
32
+
33
+ # If DATABASE_TYPE=postgres
34
+ POSTGRES_USER=
35
+ POSTGRES_PASSWORD=
36
+ POSTGRES_HOST=
37
+ POSTGRES_PORT=
38
+ POSTGRES_DB=agents
39
+ # Connection pool settings (optional)
40
+ POSTGRES_POOL_SIZE=10
41
+ POSTGRES_MIN_SIZE=3
42
+ POSTGRES_MAX_IDLE=5
43
+
44
+ # Agent URL: used in Streamlit app - if not set, defaults to http://{HOST}:{PORT}
45
+ # AGENT_URL=http://0.0.0.0:8080
46
+
47
+ # Use a fake model for testing
48
+ USE_FAKE_MODEL=false
49
+
50
+ # OpenAI Settings
51
+ OPENAI_API_KEY=
52
+ OPENAI_API_BASE_URL=
53
+ OPENAI_API_VERSION=
54
+ OPENAI_MODEL_NAME=
55
+
56
+ # Azure OpenAI Settings
57
+ AZURE_OPENAI_API_KEY=
58
+ AZURE_OPENAI_ENDPOINT=
59
+ AZURE_OPENAI_API_VERSION=
60
+ AZURE_OPENAI_MODEL_NAME=
61
+ AZURE_OPENAI_DEPLOYMENT_NAME=
62
+
63
+ # Anthropic Settings
64
+ ANTHROPIC_API_KEY=
65
+ ANTHROPIC_MODEL_NAME=
66
+
67
+ # Google VertexAI Settings
68
+ GOOGLE_VERTEXAI_MODEL_NAME=
69
+ GOOGLE_VERTEXAI_API_KEY=
70
+
71
+ # Google GenAI Settings
72
+ GOOGLE_GENAI_MODEL_NAME=
73
+ GOOGLE_GENAI_API_KEY=
74
+
75
+ # Bedrock Settings
76
+ AWS_BEDROCK_MODEL_NAME=
77
+
78
+ # DeepSeek Settings
79
+ DEEPSEEK_MODEL_NAME=
80
+ DEEPSEEK_API_KEY=
81
+
82
+ # Ollama Settings
83
+ OLLAMA_MODEL_NAME=
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=
@@ -1,3 +1,5 @@
1
+ # PR Description
2
+
1
3
  ## Summary
2
4
 
3
5
  <!-- Provide a concise summary "Why are the changes needed"?
@@ -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
@@ -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,31 @@ 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.3.0]
10
+
11
+ ### Added
12
+
13
+ - `MODEL_CONFIGS` to unify LLM env variables
14
+ - New blueprint with AWS KB
15
+
16
+ ### Fixed
17
+
18
+ - Streaming messages handling
19
+ - Refactored code structure for better maintainability
20
+ - Optional dependencies
21
+ - API exception handling
22
+
23
+ ## [0.2.0]
24
+
25
+ ### Fixed
26
+
27
+ - Refactored code structure for better maintainability
28
+ - Refactored Model factory
29
+
30
+ ### Removed
31
+
32
+ - Removed AllModels and added environment variables for different providers
33
+
9
34
  ## [0.1.2]
10
35
 
11
36
  ### Added
@@ -1,3 +1,98 @@
1
+ Metadata-Version: 2.4
2
+ Name: langgraph-agent-toolkit
3
+ Version: 0.3.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>
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: grpcio>=1.68.0
26
+ Requires-Dist: httpx~=0.28.1
27
+ Requires-Dist: jinja2~=3.1.6
28
+ Requires-Dist: jiter~=0.9.0
29
+ Requires-Dist: joblib~=1.4.2
30
+ Requires-Dist: langchain-community~=0.3.21
31
+ Requires-Dist: langchain-core~=0.3.52
32
+ Requires-Dist: langfuse~=2.60.3
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: langsmith~=0.3.31
39
+ Requires-Dist: loguru~=0.7.3
40
+ Requires-Dist: multidict>6.3.2
41
+ Requires-Dist: numpy~=1.26.4; python_version <= '3.12'
42
+ Requires-Dist: numpy~=2.2.3; python_version >= '3.13'
43
+ Requires-Dist: pandas~=2.2.3
44
+ Requires-Dist: psycopg[binary,pool]~=3.2.4
45
+ Requires-Dist: pyarrow>=19.0.1
46
+ Requires-Dist: pydantic-settings~=2.9.1
47
+ Requires-Dist: pydantic~=2.11.1
48
+ Requires-Dist: pyowm~=3.3.0
49
+ Requires-Dist: python-dotenv~=1.1.0
50
+ Requires-Dist: rootutils>=1.0.7
51
+ Requires-Dist: setuptools>=75.6.0
52
+ Requires-Dist: streamlit~=1.44.1
53
+ Requires-Dist: uvicorn~=0.34.0
54
+ Requires-Dist: watchdog~=6.0.0
55
+ Provides-Extra: all-backends
56
+ Requires-Dist: azure-functions~=1.23.0; extra == 'all-backends'
57
+ Requires-Dist: gunicorn~=23.0.0; extra == 'all-backends'
58
+ Requires-Dist: mangum~=0.19.0; extra == 'all-backends'
59
+ Requires-Dist: uvicorn~=0.34.2; extra == 'all-backends'
60
+ Provides-Extra: all-llms
61
+ Requires-Dist: langchain-anthropic~=0.3.12; extra == 'all-llms'
62
+ Requires-Dist: langchain-aws~=0.2.22; extra == 'all-llms'
63
+ Requires-Dist: langchain-deepseek~=0.1.3; extra == 'all-llms'
64
+ Requires-Dist: langchain-google-genai~=2.1.4; extra == 'all-llms'
65
+ Requires-Dist: langchain-google-vertexai~=2.0.21; extra == 'all-llms'
66
+ Requires-Dist: langchain-groq~=0.3.2; extra == 'all-llms'
67
+ Requires-Dist: langchain-ollama~=0.3.2; extra == 'all-llms'
68
+ Requires-Dist: langchain-openai~=0.3.12; extra == 'all-llms'
69
+ Provides-Extra: anthropic
70
+ Requires-Dist: langchain-anthropic~=0.3.12; extra == 'anthropic'
71
+ Provides-Extra: aws
72
+ Requires-Dist: langchain-aws~=0.2.22; extra == 'aws'
73
+ Provides-Extra: aws-backend
74
+ Requires-Dist: mangum~=0.19.0; extra == 'aws-backend'
75
+ Provides-Extra: azure-backend
76
+ Requires-Dist: azure-functions~=1.23.0; extra == 'azure-backend'
77
+ Provides-Extra: deepseek
78
+ Requires-Dist: langchain-deepseek~=0.1.3; extra == 'deepseek'
79
+ Provides-Extra: google-genai
80
+ Requires-Dist: langchain-google-genai~=2.1.4; extra == 'google-genai'
81
+ Provides-Extra: google-vertexai
82
+ Requires-Dist: langchain-google-vertexai~=2.0.21; extra == 'google-vertexai'
83
+ Provides-Extra: groq
84
+ Requires-Dist: langchain-groq~=0.3.2; extra == 'groq'
85
+ Provides-Extra: gunicorn-backend
86
+ Requires-Dist: gunicorn~=23.0.0; extra == 'gunicorn-backend'
87
+ Requires-Dist: uvicorn[standard]~=0.34.2; extra == 'gunicorn-backend'
88
+ Provides-Extra: ollama
89
+ Requires-Dist: langchain-ollama~=0.3.2; extra == 'ollama'
90
+ Provides-Extra: openai
91
+ Requires-Dist: langchain-openai~=0.3.12; extra == 'openai'
92
+ Provides-Extra: uvicorn-backend
93
+ Requires-Dist: uvicorn~=0.34.2; extra == 'uvicorn-backend'
94
+ Description-Content-Type: text/markdown
95
+
1
96
  # 🧰 Langgraph Agent Toolkit
2
97
 
3
98
  [![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 +123,27 @@ Features include:
28
123
  support
29
124
  - Complete template for building and deploying your own LangGraph-based agents
30
125
 
126
+ ## 📑 Contents
127
+
128
+ - [Introduction](#-introduction)
129
+ - [Quickstart](#-quickstart)
130
+ - [Installation Options](#-installation-options)
131
+ - [Architecture](#architecture)
132
+ - [Key Features](#-key-features)
133
+ - [Environment Setup](#environment-setup)
134
+ - [Creating Your `.env` File](#-creating-your-env-file)
135
+ - [LiteLLM Configuration](#-litellm-configuration)
136
+ - [Project Structure](#-project-structure)
137
+ - [Setup and Usage](#setup-and-usage)
138
+ - [Building Your Own Agent](#-building-your-own-agent)
139
+ - [Docker Setup](#-docker-setup)
140
+ - [Using the AgentClient](#-using-the-agentclient)
141
+ - [Development with LangGraph Studio](#-development-with-langgraph-studio)
142
+ - [Local Development Without Docker](#-local-development-without-docker)
143
+ - [Useful Resources](#-useful-resources)
144
+ - [Development and Contributing](#-development-and-contributing)
145
+ - [License](#-license)
146
+
31
147
  ## 🚀 Quickstart
32
148
 
33
149
  1. Create a `.env` file based on [`.env.example`](./.env.example)
@@ -54,15 +170,41 @@ Features include:
54
170
  pip install langgraph-agent-toolkit
55
171
  ```
56
172
 
173
+ ℹ️ You can check available extras in
174
+ [Installation Options](#-installation-options) section or directly in
175
+ [pyproject.toml](pyproject.toml) file.
176
+
57
177
  4. **Option 3: Run with Docker**
58
178
 
59
179
  ```sh
60
180
  docker compose watch
61
181
  ```
62
182
 
183
+ ## 📦 Installation Options
184
+
185
+ The toolkit supports multiple installation options using "extras" to include
186
+ just the dependencies you need:
187
+
188
+ ### Available Extras
189
+
190
+ ```sh
191
+ # LLM Provider Extras
192
+ pip install "langgraph-agent-toolkit[openai,uvicorn-backend]" # OpenAI and Uvicorn backend
193
+ pip install "langgraph-agent-toolkit[anthropic,aws-backend]" # Anthropic and AWS Lambda backend
194
+
195
+ # Also available: google-vertexai, aws, ollama, groq, deepseek
196
+ pip install "langgraph-agent-toolkit[all-llms,ll-backends]" # All LLM providers and all backends
197
+
198
+ # Client-Only Installation
199
+ pip install "langgraph-agent-toolkit[client]" # Just the client and Streamlit app
200
+ ```
201
+
202
+ <a name="architecture"></a>
203
+
63
204
  ## 🏗️ Architecture
64
205
 
65
- <img src="docs/media/agent_architecture.png" width="800">
206
+ <!-- <img src="docs/media/agent_architecture.png" width="800"> -->
207
+ <img src="https://github.com/kryvokhyzha/langgraph-agent-toolkit/blob/main/docs/media/agent_architecture.png?raw=true" width="800">
66
208
 
67
209
  ## ✨ Key Features
68
210
 
@@ -97,6 +239,8 @@ Features include:
97
239
  - Prompt management system
98
240
  - LiteLLM proxy integration
99
241
 
242
+ <a name="environment-setup"></a>
243
+
100
244
  ## ⚙️ Environment Setup
101
245
 
102
246
  ### 📝 Creating Your `.env` File
@@ -112,12 +256,69 @@ Features include:
112
256
  **🔑 LLM API Configuration**
113
257
 
114
258
  ```env
115
- # LiteLLM configuration
116
- MODEL_NAME="gpt4o" # LiteLLM model name
117
- MODEL_BASE_URL=http://litellm:4000/v1 # LiteLLM endpoint
118
- MODEL_API_KEY=sk-any-string # LiteLLM master key
259
+ # OpenAI Settings
260
+ OPENAI_API_KEY=sk-xxxxxxxxxxxxx
261
+ OPENAI_API_BASE_URL=http://litellm:4000/v1 # Can be OpenAI API or LiteLLM proxy
262
+ OPENAI_API_VERSION=2025-01-01
263
+ OPENAI_MODEL_NAME=gpt-4o-mini
264
+
265
+ # Azure OpenAI Settings (Optional)
266
+ AZURE_OPENAI_API_KEY=
267
+ AZURE_OPENAI_ENDPOINT=
268
+ AZURE_OPENAI_API_VERSION=
269
+ AZURE_OPENAI_MODEL_NAME=
270
+ AZURE_OPENAI_DEPLOYMENT_NAME=
271
+
272
+ # Anthropic Settings (Optional)
273
+ ANTHROPIC_API_KEY=
274
+ ANTHROPIC_MODEL_NAME=
275
+
276
+ # Other provider settings are also available:
277
+ # - Google VertexAI
278
+ # - Google GenAI
279
+ # - AWS Bedrock
280
+ # - DeepSeek
281
+ # - Ollama
282
+ ```
283
+
284
+ **🔀 Multi-Provider Model Configuration**
285
+
286
+ ```env
287
+ # Configure multiple models from different providers in a single environment variable
288
+ MODEL_CONFIGS={\
289
+ "gpt4o": {\
290
+ "provider": "azure_openai",\
291
+ "name": "gpt-4o",\
292
+ "api_key": "azure-key-123",\
293
+ "endpoint": "https://your-resource.openai.azure.com/",\
294
+ "api_version": "2023-05-15",\
295
+ "deployment": "gpt4o-deployment",\
296
+ "temperature": 0.7\
297
+ },\
298
+ "gpt4o-mini": {\
299
+ "provider": "azure_openai",\
300
+ "name": "gpt-4o-mini",\
301
+ "api_key": "azure-key-123",\
302
+ "endpoint": "https://your-resource.openai.azure.com/",\
303
+ "api_version": "2023-05-15",\
304
+ "deployment": "gpt4o-mini-deployment"\
305
+ },\
306
+ "gemini": {\
307
+ "provider": "google_genai",\
308
+ "name": "gemini-pro",\
309
+ "api_key": "google-key-123",\
310
+ "temperature": 0.7\
311
+ }\
312
+ }
119
313
  ```
120
314
 
315
+ This configuration allows you to:
316
+
317
+ - Define multiple models with different providers in one place
318
+ - Reference them by logical names in your application
319
+ - Set provider-specific parameters for each model
320
+ - Switch between models without changing code
321
+
121
322
  **🗄️ Database Configuration**
122
323
 
123
324
  ```env
@@ -193,13 +394,20 @@ Features include:
193
394
  redis_password: os.environ/REDIS_AUTH
194
395
  ```
195
396
 
196
- 3. Setup LiteLLM environment:
397
+ 3. Setup service environment files:
398
+
399
+ Each service has its own environment file:
197
400
 
198
401
  ```sh
199
402
  cp configs/litellm/.litellm.env.example configs/litellm/.litellm.env
403
+ cp configs/redis/.redis.env.example configs/redis/.redis.env
404
+ cp configs/postgres/.postgres.env.example configs/postgres/.postgres.env
405
+ cp configs/minio/.minio.env.example configs/minio/.minio.env
406
+ cp configs/clickhouse/.clickhouse.env.example configs/clickhouse/.clickhouse.env
407
+ cp configs/langfuse/.langfuse.env.example configs/langfuse/.langfuse.env
200
408
  ```
201
409
 
202
- Edit to include:
410
+ For example, edit LiteLLM environment:
203
411
 
204
412
  ```env
205
413
  LITELLM_MASTER_KEY=sk-your-master-key # Create a strong key here
@@ -208,7 +416,8 @@ Features include:
208
416
  STORE_MODEL_IN_DB=True
209
417
  ```
210
418
 
211
- > **Note**: LiteLLM relies on Redis for request caching and rate limiting.
419
+ > [!NOTE]
420
+ > LiteLLM relies on Redis for request caching and rate limiting.
212
421
 
213
422
  ## 📂 Project Structure
214
423
 
@@ -224,6 +433,8 @@ The repository contains:
224
433
  - `docker/`: Docker configurations
225
434
  - `tests/`: Test suite
226
435
 
436
+ <a name="setup-and-usage"></a>
437
+
227
438
  ## 🛠️ Setup and Usage
228
439
 
229
440
  1. Clone the repository:
@@ -248,7 +459,7 @@ To customize the agent:
248
459
 
249
460
  ### 🐳 Docker Setup
250
461
 
251
- The `docker-compose.yaml` defines these services:
462
+ The `docker-compose.yaml` defines these services with enhanced security:
252
463
 
253
464
  - `backend-agent-service`: FastAPI service
254
465
  - `frontend-streamlit-app`: Streamlit chat interface
@@ -276,7 +487,7 @@ enables live reloading:
276
487
  - 🔌 Agent API: `http://0.0.0.0:8080`
277
488
  - 📚 API docs: `http://0.0.0.0:8080/docs`
278
489
  - 📊 Langfuse dashboard: `http://0.0.0.0:3000`
279
- - 🤖 LiteLLM API: `http://0.0.0.0:4000`
490
+ - 🤖 LiteLLM API: `http://0.0.0.0:4000` (accessible from any host)
280
491
 
281
492
  4. Stop services:
282
493