难度:⭐⭐ 初级 | 技术栈:Python/FastAPI | 耗时:1 小时
一个简单的 AI 聊天机器人,支持:
复制以下提示词:
你是一个 Python 后端开发助手。我想用 Vibe Coding 的方式做一个 AI 聊天机器人。
项目要求:
- 后端:FastAPI
- 前端:简单 HTML 页面(内嵌在 FastAPI 中)
- 功能:用户输入问题,调用 OpenAI API 返回回答
- 支持流式输出(SSE)
- 界面简洁,类似 ChatGPT
请给我:
1. 项目结构
2. requirements.txt
3. 完整代码
4. 运行命令
我的 OpenAI API Key 会通过环境变量 OPENAI_API_KEY 传入。
AI 会给你类似这样的结构:
chatbot/
├── main.py # FastAPI 主程序
├── requirements.txt # 依赖
└── .env # API Key(自己创建)
requirements.txt:
fastapi
uvicorn
openai
python-dotenv
sse-starlette
# 安装依赖
pip install -r requirements.txt
# 设置 API Key
export OPENAI_API_KEY="sk-xxx"
# 启动服务
uvicorn main:app --reload
打开 http://localhost:8000 即可使用。
请帮我添加:
1. 对话历史保存到文件
2. 支持切换不同模型(GPT-4/GPT-3.5)
3. 添加系统提示词设置
4. 支持 Markdown 渲染
| 问题 | 解决方案 |
|---|---|
| API Key 无效 | 检查环境变量是否正确设置 |
| 跨域错误 | FastAPI 添加 CORS 中间件 |
| 流式输出不工作 | 检查 SSE 配置,前端用 EventSource |
| 中文乱码 | 确保 response 设置 charset=utf-8 |