[build-system] requires = ["setuptools>=61.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "hello-agents-optimized" version = "0.2.9" description = "HelloAgents Optimized - 轻量级、可扩展的多智能体框架(增强版)" readme = "README.md" license = {text = "CC-BY-NC-SA-4.0"} authors = [ {name = "HelloAgents Team", email = "jjyaoao@126.com"} ] requires-python = ">=3.10" dependencies = [ # 核心依赖 "openai>=1.0.0,<2.0.0", "requests>=2.25.0,<3.0.0", "python-dotenv>=0.19.0,<2.0.0", "pydantic>=2.0.0,<3.0.0", # 基础工具库 "beautifulsoup4>=4.9.0,<5.0.0", "numpy>=2.0.0,<3.0.0", "networkx>=2.6.0,<4.0.0", "tiktoken>=0.5.0", ] [project.optional-dependencies] # 搜索功能 search = [ "tavily-python>=0.7.12", "google-search-results>=2.4.2", ] # 记忆系统 memory = [ "qdrant-client>=1.9.0", "neo4j>=5.0.0", "spacy>=3.4.0", "scikit-learn>=1.0.0", ] # RAG 系统 rag = [ "scikit-learn>=1.0.0", "transformers>=4.20.0", "torch>=1.12.0", "sentence-transformers>=2.2.0", "markitdown>=0.0.1", "pypdf>=3.9.0", "pdfminer.six>=20221105", ] # 协议支持 protocols = [ "fastmcp>=2.0.0,<3.0.0", "a2a-sdk>=0.1.0", ] # 评估系统 evaluation = [ "datasets>=2.14.0", "huggingface_hub>=0.20.0,<1.0.0", "evaluate>=0.4.0,<1.0.0", "pandas>=2.0.0,<3.0.0", "matplotlib>=3.7.0,<4.0.0", "seaborn>=0.12.0,<1.0.0", "tqdm>=4.65.0,<5.0.0", "gradio>=4.0.0,<5.0.0", ] # 强化学习 rl = [ "trl>=0.24.0", "transformers>=4.20.0", "torch>=2.0.0", "datasets>=2.14.0", "accelerate>=0.20.0", "peft>=0.5.0", "bitsandbytes>=0.41.0", "wandb>=0.15.0", "tensorboard>=2.13.0", ] # 记忆 + RAG 组合 memory-rag = [ "hello-agents-optimized[memory,rag]", ] # 全部功能 all = [ "hello-agents-optimized[search,memory-rag,protocols,evaluation,rl]", ] [project.urls] Homepage = "https://github.com/jjyaoao/HelloAgents" Documentation = "https://github.com/jjyaoao/HelloAgents" Repository = "https://github.com/jjyaoao/HelloAgents" [tool.setuptools.packages.find] where = ["hello_agents"] [tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py"] python_classes = ["Test*"] python_functions = ["test_*"] addopts = "-v --tb=short" [tool.black] line-length = 88 target-version = ['py310'] [tool.isort] profile = "black" line_length = 88