MCP问答机器人-带记忆的对话聊天机器人
一个使用OpenRouter免费AI模型的具有持久内存的会话聊天机器人。
🚀 特性
- 持久存储器:记住会话中的对话
- 自由AI模型:使用OpenRouter的免费GPT-OSS-20B型号
- FastAPI后端:现代异步web服务器
- 交互式CLI:易于使用的聊天界面
- 自动保存对话:自动保存为JSON文件
📋 需求
- Python 3.7+
- OpenRouter API密钥(可用的免费层)
🛠️ 安装
- 克隆此存储库:
git clone
cd mcp_qabot- 安装依赖项:
pip install -r requirements.txt- 创建一个
.env项目根目录中的文件:
OPENROUTER_API_KEY=your-api-key-here从以下位置获取免费API密钥:https://openrouter.ai/
🎯 用法
步骤1:启动服务器
python -m uvicorn server:app --reload服务器将在以下时间启动 http://127.0.0.1:8000
步骤2:启动客户端
在新终端中:
python client_interactive.py第三步:开始聊天!
You: Hello
Bot: Hello! How can I help you today?
You: My name is John
Bot: Nice to meet you, John!
You: What's my name?
Bot: Your name is John.类型 exit 或 quit 停止。
📁 项目结构
mcp_qabot/
├── bot.py # Bot logic with OpenRouter integration
├── server.py # FastAPI web server
├── client_interactive.py # Interactive chat client
├── conversation.json # Conversation history storage
├── requirements.txt # Python dependencies
├── .env # Environment variables (API key)
└── README.md # This file🏗️ 建筑
┌─────────────────────┐
│ client_interactive │ ← User Interface
└──────────┬──────────┘
│ HTTP POST
↓
┌─────────────────────┐
│ server.py │ ← FastAPI Server
└──────────┬──────────┘
│ Uses
↓
┌─────────────────────┐
│ bot.py │ ← Bot Logic + Memory
└──────────┬──────────┘
│ Stores
↓
┌─────────────────────┐
│ conversation.json │ ← Database
└─────────────────────┘📡 API终点
获取 /
服务器状态检查。
答复:
{"message": "MCP Q&A Bot (OpenRouter Free) is running!"}发布 /ask
问一个问题。
请求:
{
"question": "What is Python?"
}答复:
{
"answer": "Python is a high-level programming language..."
}🔧 配置
机器人可以在中配置 bot.py:
bot = QABotMCP(
model="openai/gpt-oss-20b:free", # AI model
max_history=10 # Max conversation history
)可用型号:https://openrouter.ai/models
🎯 主要特点
- 内存管理:保留最后10条消息以供参考
- 自动保存:每次请求后将对话保存为JSON
- 恢复对话:重新启动时加载上一个对话
- 错误处理:具有超时保护的强大错误处理
- 免费等级:使用免费的OpenRouter型号
🔒 安全
- 永不承诺
.env文件(包含在.gitignore) - API密钥是从环境变量加载的
- 对话历史记录仅限于本地
📝 许可证
MIT许可证-请随意使用此项目!
🤝 贡献
欢迎拉取请求!对于重大更改,请先打开一个问题。
📧 支持
对于问题或疑问,请在GitHub上打开问题。
______________________________________________________________________
由以下材料制成❤️ 使用OpenRouter、FastAPI和Python
