feat: implement tools loading api

This commit is contained in:
He Tao
2025-04-23 14:38:04 +08:00
parent 8129370bbd
commit dae036f583
7 changed files with 265 additions and 71 deletions

153
uv.lock generated
View File

@@ -309,6 +309,74 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/c3/be/d0d44e092656fe7a06b55e6103cbce807cdbdee17884a5367c68c9860853/dataclasses_json-0.6.7-py3-none-any.whl", hash = "sha256:0dbf33f26c8d5305befd61b39d2b3414e8a407bedc2834dea9b8d642666fb40a", size = 28686 },
]
[[package]]
name = "deer-flow"
version = "0.1.0"
source = { editable = "." }
dependencies = [
{ name = "arxiv" },
{ name = "duckduckgo-search" },
{ name = "fastapi" },
{ name = "httpx" },
{ name = "inquirerpy" },
{ name = "jinja2" },
{ name = "json-repair" },
{ name = "langchain-community" },
{ name = "langchain-experimental" },
{ name = "langchain-openai" },
{ name = "langgraph" },
{ name = "litellm" },
{ name = "markdownify" },
{ name = "mcp" },
{ name = "numpy" },
{ name = "pandas" },
{ name = "python-dotenv" },
{ name = "readabilipy" },
{ name = "socksio" },
{ name = "sse-starlette" },
{ name = "uvicorn" },
{ name = "yfinance" },
]
[package.optional-dependencies]
dev = [
{ name = "black" },
]
test = [
{ name = "pytest" },
{ name = "pytest-cov" },
]
[package.metadata]
requires-dist = [
{ name = "arxiv", specifier = ">=2.2.0" },
{ name = "black", marker = "extra == 'dev'", specifier = ">=24.2.0" },
{ name = "duckduckgo-search", specifier = ">=8.0.0" },
{ name = "fastapi", specifier = ">=0.110.0" },
{ name = "httpx", specifier = ">=0.28.1" },
{ name = "inquirerpy", specifier = ">=0.3.4" },
{ name = "jinja2", specifier = ">=3.1.3" },
{ name = "json-repair", specifier = ">=0.7.0" },
{ name = "langchain-community", specifier = ">=0.3.19" },
{ name = "langchain-experimental", specifier = ">=0.3.4" },
{ name = "langchain-openai", specifier = ">=0.3.8" },
{ name = "langgraph", specifier = ">=0.3.5" },
{ name = "litellm", specifier = ">=1.63.11" },
{ name = "markdownify", specifier = ">=1.1.0" },
{ name = "mcp", specifier = ">=1.6.0" },
{ name = "numpy", specifier = ">=2.2.3" },
{ name = "pandas", specifier = ">=2.2.3" },
{ name = "pytest", marker = "extra == 'test'", specifier = ">=7.4.0" },
{ name = "pytest-cov", marker = "extra == 'test'", specifier = ">=4.1.0" },
{ name = "python-dotenv", specifier = ">=1.0.1" },
{ name = "readabilipy", specifier = ">=0.3.0" },
{ name = "socksio", specifier = ">=1.0.0" },
{ name = "sse-starlette", specifier = ">=1.6.5" },
{ name = "uvicorn", specifier = ">=0.27.1" },
{ name = "yfinance", specifier = ">=0.2.54" },
]
provides-extras = ["dev", "test"]
[[package]]
name = "distro"
version = "1.9.0"
@@ -853,72 +921,6 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/e0/09/3f909694aa0b104a611444959227832206864d92703e191a0f4b2a27d55b/langsmith-0.3.13-py3-none-any.whl", hash = "sha256:73aaf52bbc293b9415fff4f6dad68df40658081eb26c9cb2c7bd1ff57cedd695", size = 339683 },
]
[[package]]
name = "deer-flow"
version = "0.1.0"
source = { editable = "." }
dependencies = [
{ name = "arxiv" },
{ name = "duckduckgo-search" },
{ name = "fastapi" },
{ name = "httpx" },
{ name = "inquirerpy" },
{ name = "jinja2" },
{ name = "json-repair" },
{ name = "langchain-community" },
{ name = "langchain-experimental" },
{ name = "langchain-openai" },
{ name = "langgraph" },
{ name = "litellm" },
{ name = "markdownify" },
{ name = "numpy" },
{ name = "pandas" },
{ name = "python-dotenv" },
{ name = "readabilipy" },
{ name = "socksio" },
{ name = "sse-starlette" },
{ name = "uvicorn" },
{ name = "yfinance" },
]
[package.optional-dependencies]
dev = [
{ name = "black" },
]
test = [
{ name = "pytest" },
{ name = "pytest-cov" },
]
[package.metadata]
requires-dist = [
{ name = "arxiv", specifier = ">=2.2.0" },
{ name = "black", marker = "extra == 'dev'", specifier = ">=24.2.0" },
{ name = "duckduckgo-search", specifier = ">=8.0.0" },
{ name = "fastapi", specifier = ">=0.110.0" },
{ name = "httpx", specifier = ">=0.28.1" },
{ name = "inquirerpy", specifier = ">=0.3.4" },
{ name = "jinja2", specifier = ">=3.1.3" },
{ name = "json-repair", specifier = ">=0.7.0" },
{ name = "langchain-community", specifier = ">=0.3.19" },
{ name = "langchain-experimental", specifier = ">=0.3.4" },
{ name = "langchain-openai", specifier = ">=0.3.8" },
{ name = "langgraph", specifier = ">=0.3.5" },
{ name = "litellm", specifier = ">=1.63.11" },
{ name = "markdownify", specifier = ">=1.1.0" },
{ name = "numpy", specifier = ">=2.2.3" },
{ name = "pandas", specifier = ">=2.2.3" },
{ name = "pytest", marker = "extra == 'test'", specifier = ">=7.4.0" },
{ name = "pytest-cov", marker = "extra == 'test'", specifier = ">=4.1.0" },
{ name = "python-dotenv", specifier = ">=1.0.1" },
{ name = "readabilipy", specifier = ">=0.3.0" },
{ name = "socksio", specifier = ">=1.0.0" },
{ name = "sse-starlette", specifier = ">=1.6.5" },
{ name = "uvicorn", specifier = ">=0.27.1" },
{ name = "yfinance", specifier = ">=0.2.54" },
]
provides-extras = ["dev", "test"]
[[package]]
name = "litellm"
version = "1.63.11"
@@ -1046,6 +1048,25 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/34/75/51952c7b2d3873b44a0028b1bd26a25078c18f92f256608e8d1dc61b39fd/marshmallow-3.26.1-py3-none-any.whl", hash = "sha256:3350409f20a70a7e4e11a27661187b77cdcaeb20abca41c1454fe33636bea09c", size = 50878 },
]
[[package]]
name = "mcp"
version = "1.6.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "anyio" },
{ name = "httpx" },
{ name = "httpx-sse" },
{ name = "pydantic" },
{ name = "pydantic-settings" },
{ name = "sse-starlette" },
{ name = "starlette" },
{ name = "uvicorn" },
]
sdist = { url = "https://files.pythonhosted.org/packages/95/d2/f587cb965a56e992634bebc8611c5b579af912b74e04eb9164bd49527d21/mcp-1.6.0.tar.gz", hash = "sha256:d9324876de2c5637369f43161cd71eebfd803df5a95e46225cab8d280e366723", size = 200031 }
wheels = [
{ url = "https://files.pythonhosted.org/packages/10/30/20a7f33b0b884a9d14dd3aa94ff1ac9da1479fe2ad66dd9e2736075d2506/mcp-1.6.0-py3-none-any.whl", hash = "sha256:7bd24c6ea042dbec44c754f100984d186620d8b841ec30f1b19eda9b93a634d0", size = 76077 },
]
[[package]]
name = "msgpack"
version = "1.1.0"