From e4a070b701b277826e97fb914a382407ed9ae644 Mon Sep 17 00:00:00 2001 From: collhoun <2904yr@mail.ru> Date: Mon, 20 Apr 2026 21:17:42 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B8=D0=BD=D1=82=D0=B5=D0=B3=D1=80=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D1=8F=20=D1=81=20composio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pyproject.toml | 1 + src/agent/base.py | 9 +++++---- src/agent/service.py | 1 + uv.lock | 15 +++++++++++++++ 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index c436267..f039ec1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,4 +10,5 @@ dependencies = [ "deepagents>=0.1.0", "langchain-openai>=1.1.12", "composio>=0.11.5", + "composio-langchain>=0.11.5" ] diff --git a/src/agent/base.py b/src/agent/base.py index dce4088..dc5247a 100644 --- a/src/agent/base.py +++ b/src/agent/base.py @@ -3,16 +3,17 @@ from deepagents import create_deep_agent from langchain_openai import ChatOpenAI from langgraph.checkpoint.memory import MemorySaver from composio import Composio - +from composio_langchain import LangchainProvider def create_agent(): model = ChatOpenAI( model=os.environ["PROVIDER_MODEL"], base_url=os.environ["PROVIDER_URL"], - api_key=os.environ["PROVIDER_API_KEY"], + api_key=os.environ["PROVIDER_API_KEY"] ) - composio = Composio() + + composio = Composio(provider=LangchainProvider()) session = composio.create(user_id="default_user") tools = session.tools() @@ -21,4 +22,4 @@ def create_agent(): system_prompt="You are a helpful assistant. Use Composio tools to take action when needed.", checkpointer=MemorySaver(), tools=tools - ) \ No newline at end of file + ) diff --git a/src/agent/service.py b/src/agent/service.py index 04c4e47..f285630 100644 --- a/src/agent/service.py +++ b/src/agent/service.py @@ -56,6 +56,7 @@ class AgentService: result=str(result) # Страховка от ошибки сериализации JSON ) + # 3. В конце генерации отправляем событие завершения yield MsgEventEnd(tokens_used=0) # потом заменить на метадату diff --git a/uv.lock b/uv.lock index b20be97..f360545 100644 --- a/uv.lock +++ b/uv.lock @@ -8,6 +8,7 @@ version = "0.1.0" source = { virtual = "." } dependencies = [ { name = "composio" }, + { name = "composio-langchain" }, { name = "deepagents" }, { name = "fastapi" }, { name = "langchain-openai" }, @@ -17,6 +18,7 @@ dependencies = [ [package.metadata] requires-dist = [ { name = "composio", specifier = ">=0.11.5" }, + { name = "composio-langchain", specifier = ">=0.11.5" }, { name = "deepagents", specifier = ">=0.1.0" }, { name = "fastapi", specifier = ">=0.135.3" }, { name = "langchain-openai", specifier = ">=1.1.12" }, @@ -219,6 +221,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/93/bc/83efc07964e39109c4471f8873dda98cd16137c8e4e2d4456a8a5d8f9c42/composio_client-1.33.0-py3-none-any.whl", hash = "sha256:8c01f096772272398760f5c553b3444b5706e346b294856f613b092f1d3afd6b", size = 252699, upload-time = "2026-04-10T01:35:30.003Z" }, ] +[[package]] +name = "composio-langchain" +version = "0.11.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "composio" }, + { name = "langchain" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/31/13/fdf3a471044369f89b33c9ba917a9bfc4dafbe6f44547866449e71655b4b/composio_langchain-0.11.5.tar.gz", hash = "sha256:1eccea5eff9255241c1894b30b90b050cde876e5a028ef210e316865efc3181c", size = 2678, upload-time = "2026-04-10T07:59:50.093Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4f/d4/8cc58a41a45a2a12180e6a7d042206b2f4426e7a052b163b3620cf022d0f/composio_langchain-0.11.5-py3-none-any.whl", hash = "sha256:527539ae3bc41813b860911927d1aa1697ec0e1f6052f9a8311aa98c6e05a6f6", size = 2964, upload-time = "2026-04-10T07:59:36.936Z" }, +] + [[package]] name = "cryptography" version = "46.0.6"