diff --git a/pyproject.toml b/pyproject.toml index 89f6257f..35ebc921 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ description = "Add your description here" readme = "README.md" requires-python = ">=3.13" dependencies = [ - "agentd>=0.1.8", + "agentd>=0.2.0.post2", "aiofiles>=24.1.0", "docling>=2.41.0", "opensearch-py[async]>=3.0.0", diff --git a/src/agent.py b/src/agent.py index e72873bc..1790bcd0 100644 --- a/src/agent.py +++ b/src/agent.py @@ -1,23 +1,17 @@ -import asyncio - -from agentd.patch import patch_openai_with_mcp - messages = [{"role": "system", "content": "You are a helpful assistant. use your tools to answer questions."}] # Async version for web server -async def async_chat(async_client, prompt: str) -> str: +async def async_chat(async_client, prompt: str, model: str = "gpt-4.1-mini", previous_response_id: str = None) -> str: global messages messages += [{"role": "user", "content": prompt}] - response = await async_client.chat.completions.create( - model="gpt-4.1-mini", - messages=messages, - mcp_strict=True + response = await async_client.responses.create( + model=model, + input=prompt, + previous_response_id=previous_response_id, ) - response_text = response.choices[0].message.content + response_id = response.id + response_text = response.output_text print(f"user ==> {prompt}") print(f"agent ==> {response_text}") - return response_text - -if __name__ == "__main__": - asyncio.run(async_chat("What pods are there?")) \ No newline at end of file + return response_text \ No newline at end of file diff --git a/src/app.py b/src/app.py index 6890fa45..a4d56d03 100644 --- a/src/app.py +++ b/src/app.py @@ -12,6 +12,8 @@ import hashlib import tempfile import asyncio import time +import json +import httpx from starlette.applications import Starlette from starlette.requests import Request @@ -107,7 +109,6 @@ async def init_index(): else: print(f"Index '{INDEX_NAME}' already exists, skipping creation.") - def extract_relevant(doc_dict: dict) -> dict: """ Given the full export_to_dict() result: @@ -310,11 +311,14 @@ app = Starlette(debug=True, routes=[ if __name__ == "__main__": import uvicorn - asyncio.run(init_index()) + + async def main(): + await init_index() + + asyncio.run(main()) uvicorn.run( "app:app", host="0.0.0.0", port=8000, reload=True, ) - diff --git a/uv.lock b/uv.lock index e107ffa2..498ef6a3 100644 --- a/uv.lock +++ b/uv.lock @@ -9,7 +9,7 @@ resolution-markers = [ [[package]] name = "agentd" -version = "0.1.8" +version = "0.2.0.post2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "litellm" }, @@ -18,9 +18,9 @@ dependencies = [ { name = "openai-agents" }, { name = "pyyaml" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ea/e1/a3d0d2ddb6639be34d906f13a2edc91dbf174f8dcf97a68705f3a613ff8d/agentd-0.1.8.tar.gz", hash = "sha256:9278916d228d23d67283aed0e420d14f3b6862499df5cc5a8adb92ab3583ed17", size = 114252, upload-time = "2025-07-11T16:06:57.478Z" } +sdist = { url = "https://files.pythonhosted.org/packages/91/fb/177ce5c7e8f8e8c4a4771b1da26e09e62780bf6f4042622654d05b101534/agentd-0.2.0.post2.tar.gz", hash = "sha256:b4cf8f5b727c1f0c0c9685762415e5affbc501758c0641eb9bd9c7d972c3ef30", size = 114513, upload-time = "2025-07-16T05:13:30.646Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d5/ca/9caa1253ab3ba151e725ea02aba334c29d659568b5341e5d886dbb394d85/agentd-0.1.8-py3-none-any.whl", hash = "sha256:15cc05ccbedfa9df8983a7a67c274c0c5a7ef029e55e6c0d7639106022c5cf06", size = 13472, upload-time = "2025-07-11T16:06:56.014Z" }, + { url = "https://files.pythonhosted.org/packages/e4/5d/232b01286225d5e6eff6e4e741411950d60002eeeceb7b2ab1e84d96cc66/agentd-0.2.0.post2-py3-none-any.whl", hash = "sha256:000a058758843739061c93503db5977c9734f2e690545dd21923bf9ae8a8a161", size = 13266, upload-time = "2025-07-16T05:13:29.389Z" }, ] [[package]] @@ -434,7 +434,7 @@ dependencies = [ [package.metadata] requires-dist = [ - { name = "agentd", specifier = ">=0.1.8" }, + { name = "agentd", specifier = ">=0.2.0.post2" }, { name = "aiofiles", specifier = ">=24.1.0" }, { name = "docling", specifier = ">=2.41.0" }, { name = "opensearch-py", extras = ["async"], specifier = ">=3.0.0" },