- Pass all registered tools to LLM during chat completion - Handle tool_calls from LLM response - Execute tools and feed results back to LLM - Loop until LLM returns final response - Updated system prompt to encourage tool use - Updated streaming to handle tool calls - Increased MAX_TOOL_ITERATIONS to 5
35 lines
568 B
Plaintext
Executable File
35 lines
568 B
Plaintext
Executable File
# Core dependencies
|
|
fastapi~=0.115.0
|
|
uvicorn[standard]~=0.32.0
|
|
pydantic~=2.10.0
|
|
python-multipart~=0.0.20
|
|
python-dotenv~=1.0.0
|
|
|
|
# HTTP and async
|
|
aiohttp~=3.11.0
|
|
httpx~=0.28.0
|
|
requests~=2.32.4
|
|
|
|
# Web scraping and parsing
|
|
beautifulsoup4~=4.13.4
|
|
lxml~=5.3.0
|
|
urllib3~=2.5.0
|
|
|
|
# Document processing
|
|
PyMuPDF~=1.25.0
|
|
python-docx~=1.1.0
|
|
|
|
# LLM API client (for OpenRouter)
|
|
openai>=1.30.0
|
|
|
|
# Financial data
|
|
yfinance>=0.2.0
|
|
|
|
# Vector store alternatives (uncomment as needed)
|
|
# chromadb~=0.5.0
|
|
# faiss-cpu~=1.9.0
|
|
|
|
# Development dependencies
|
|
# pytest~=8.3.0
|
|
# pytest-asyncio~=0.24.0
|