🚀 数学运算代理(集成 Microsoft Word 和 Gmail)
这是一款基于 Python 的数学运算代理,它借助多种数学工具迭代解决问题,并能通过 Microsoft Word 和 Gmail 对结果进行可视化展示,为数学问题的处理提供了高效且直观的解决方案。
🚀 快速开始
本数学运算代理可快速解决各类数学问题,以下是使用前的准备和启动步骤:
先决条件
- Python 3.7+
- macOS 上的 Microsoft Word
- macOS 10.15 或更高版本
- Google Cloud API 密钥(用于 Gemini Pro)
安装
- 克隆仓库。
- 安装依赖项:
pip3 install -r requirements.txt
- 设置环境变量:
export GEMINI_API_KEY=your_api_key_here
export GMAIL_USER=your.email@gmail.com
export GMAIL_APP_PASSWORD=your16digitpassword
- 选项 2:创建 .env 文件:
GEMINI_API_KEY=your_api_key_here
GMAIL_USER=your.email@gmail.com
GMAIL_APP_PASSWORD=your16digitpassword
启动
python math_agent_client.py
- 调试方法(可选):分别运行服务器和客户端:
- 启动 MCP 服务器:
python math_agent_server.py
python math_agent_client.py
启动代理后,它将完成以下操作:
- 内部启动 MCP 服务器。
- 使用 Gemini AI 处理数学查询。
- 执行可用工具的计算。
- 创建包含结果的 Word 文档。
- 绘制一个矩形以显示最终答案。
- 发送带有执行日志的电子邮件报告。
✨ 主要特性
数学运算
- 基本算术运算:支持加、减、乘、除等基本操作。
- 高级运算:涵盖幂、平方根、立方根等高级计算。
- 三角函数:可进行正弦、余弦、正切等三角函数计算。
- 对数计算:实现对数相关运算。
- 阶乘计算:能快速计算阶乘。
- 斐波那契数列生成:生成指定的斐波那契数列。
- ASCII 值转换:进行字符与 ASCII 值的转换。
- 指数和计算:完成指数和的计算。
人工智能集成
- 智能问题解决:使用 Google Gemini Pro 模型实现智能问题解决。
- 迭代式方法:采用迭代式问题解决方法。
- 自动工具选择:自动选择并执行合适的工具。
增强日志记录
- 详细执行日志:记录详细的执行过程。
- 调试信息:包含工具操作的调试信息。
- 错误跟踪:进行错误跟踪和报告。
- 综合报告:生成包含执行历史的综合电子邮件报告。
电子邮箱集成
- 自动报告:自动发送完成后的电子邮件报告。
- 详细日志:邮件正文包含详细执行日志。
- 结果摘要:提供最终结果摘要。
- SMTP 集成:实现 Gmail SMTP 集成。
Word 集成
- 文档生成:自动生成 Word 文档。
- 结果绘制:绘制结果矩形。
- 可视化展示:自动化结果可视化。
- 位置配置:支持文本位置配置。
💻 使用示例
基础用法
以下是一些示例查询,你可以将这些查询输入到代理中进行测试:
- 查找 INDIA 中字符的 ASCII 值,然后返回这些值指数和的结果总和
- 计算 5 的阶乘
- 求前 10 个斐波那契数之和
🔧 技术细节
架构
math_agent_client.py:作为主客户端,负责处理以下任务:
- 集成 Gemini AI。
- 处理查询。
- 执行工具。
- 对 Word 结果进行可视化。
math_agent_server.py:服务器提供以下功能:
错误处理
- 超时保护:为 AI 生成功效提供超时保护。
- 鲁棒处理:对工具执行进行鲁棒的错误处理。
- 状态重置:自动进行状态重置。
- 调试日志:记录调试日志。
日志记录
- 时间戳记录:所有操作均按时间戳记录。
- 多日志级别:日志级别包括 INFO、DEBUG、ERROR。
- 报告包含:日志包含在电子邮件报告中。
- 实时监控:控制台输出用于实时监控。
🛠️ 故障排除
电子邮箱配置
- 确保
GMAIL_USER 是您的完整电子邮件地址。
GMAIL_APP_PASSWORD 必须是 16 字符的'app'密码。
- 启用 Google 账户的双重验证。
- 查看执行日志获取详细错误信息。
Word 集成
- 确保 Microsoft Word 已安装并在您的系统上正确配置。
- 检查运行代理的用户是否有权限访问 Word 安装目录。
⚠️ 注意事项
- 本代理需要互联网连接才能使用 Gemini AI 服务。
- 建议在首次使用前检查所有依赖项是否正确安装。
- 如遇问题,请查看日志文件或联系支持团队。