板球经纪人(当地)
该项目是一个本地的端到端代理人工智能系统,旨在理解和实验 Strands代理商 和 模型上下文协议(MCP) 使用板球分析域。
该系统演示了如何清晰地进行推理(LLM)、确定性工具和数据 使用代理架构进行分离和编排。
______________________________________________________________________
架构概述
该项目遵循分层、模块化的设计:
- 数据层(
data/)\
包含用于受控实验的静态板球统计数据。
- 工具层(
tools/)\
执行板球相关计算的纯确定性Python函数 (例如平均值、比较)。\ 这些功能包括 没有人工智能或推理逻辑.
- MCP服务器(
server/)\
使用以下方式将工具作为可调用功能公开 模型上下文协议(MCP)\ 通过本地Streamable HTTP服务器。
- MCP客户端(
client/)\
连接到MCP服务器并动态发现可用工具。
- 代理层(
agent/)\
使用语言模型来解释用户查询、决定调用哪些工具, 并解释结果。\ 代理人确实如此 不 计算统计数据本身。
- 应用层(
app.py)\
将MCP客户端和代理连接在一起,并提供简单的CLI界面。
______________________________________________________________________
当前能力
- 具有隔离虚拟环境的本地Python项目
- 用于可预测行为的静态板球数据集
- 确定性板球分析工具
- MCP服务器公开工具
localhost - MCP客户端动态发现工具
- 完全工作的代理人:
- 接受自然语言问题 - 通过MCP使用工具进行计算 - 清楚地解释结果
- 本地LLM推理使用 Ollama(调用3.2)\
(无云API,无凭据)
______________________________________________________________________
技术栈
- python
- Strands代理商
- 绞合MCP工具
- 模型上下文协议(MCP)
- Ollama(当地LLM-Callama3.2)
______________________________________________________________________
如何跑步(本地)
1.启动MCP服务器
在一个终端中(从项目根目录开始): python-m服务器.mcp_server
2.启动应用程序
在另一个终端中(从项目根目录): python app.py
然后,您可以提出以下问题:
What is the batting average of Virat Kohli?Compare home and away performance of Rohit Sharma
______________________________________________________________________
设计原则
- 明确区分关注点
- 确定性工具、概率推理
- 可替换模型提供程序
- 地方优先发展
- 优化前的架构
______________________________________________________________________
将来的扩展
- 添加更多板球分析工具
- 改善当地LLM行为的护栏
- 引入记忆或持久性
- 替换或添加替代模型提供程序
- 将架构重用于其他域
______________________________________________________________________
状态
该项目正在积极开发中,作为一个学习和原型系统 用于代理AI架构。
