diff --git a/AI_CHAT_GUIDE.md b/AI_CHAT_GUIDE.md new file mode 100644 index 0000000..1bf6dcd --- /dev/null +++ b/AI_CHAT_GUIDE.md @@ -0,0 +1,231 @@ +# AI聊天助手使用指南 + +## 🎯 功能介绍 + +AI聊天助手是一个集成了Google Gemini AI的智能对话工具,支持文字+图片多模态交互,可以进行图片编辑、内容生成等多种操作。 + +## 📦 功能特性 + +### ✅ 图片发送功能 +- **点击上传**: 点击图片图标选择文件 +- **拖拽上传**: 拖拽图片到聊天窗口 +- **粘贴上传**: 直接粘贴剪贴板中的图片(Ctrl/Cmd+V) +- **多图支持**: 一次最多发送5张图片 +- **实时预览**: 上传后立即显示预览 +- **删除功能**: 可以删除已上传的图片 + +### ✅ 图片接收功能 +- **AI生成图片**: 支持接收AI生成的图片 +- **Base64图片**: 自动解析Base64格式 +- **InlineData**: 支持Gemini API的inline data格式 +- **点击查看**: 点击图片在新窗口查看大图 +- **下载图片**: Hover图片显示下载按钮 + +### ✅ 对话功能 +- **流式对话**: 支持连续多轮对话 +- **上下文记忆**: 保留对话历史和图片信息 +- **实时响应**: 快速的AI响应 +- **多模态理解**: 同时理解文字和图片 + +## ⚙️ 配置步骤 + +### 1. 获取Gemini API Key + +访问 [Google AI Studio](https://aistudio.google.com/app/apikey) 获取API密钥。 + +### 2. 配置环境变量 + +在项目根目录的 `.env` 文件中添加: + +```env +# Gemini AI Configuration +GEMINI_API_KEY=your_gemini_api_key_here +GEMINI_API_BASE_URL=https://generativelanguage.googleapis.com/v1beta +GEMINI_MODEL=gemini-2.0-flash-exp +``` + +**参数说明:** +- `GEMINI_API_KEY`: 你的Gemini API密钥(必填) +- `GEMINI_API_BASE_URL`: API基础URL(可选,默认值如上) +- `GEMINI_MODEL`: 使用的模型名称(可选,默认:gemini-2.0-flash-exp) + +**可用模型:** +- `gemini-2.0-flash-exp` - 最新实验版(推荐) +- `gemini-1.5-pro` - 专业版 +- `gemini-1.5-flash` - 快速版 + +### 3. 启动项目 + +```bash +npm run dev +``` + +## 🚀 使用方法 + +### 基本对话 + +1. 点击右下角的紫色AI助手按钮 +2. 在输入框输入文字 +3. 按Enter发送(Shift+Enter换行) + +### 发送图片 + +**方式1:点击上传** +1. 点击输入框左侧的图片图标 +2. 选择要上传的图片 +3. 可以继续添加更多图片(最多5张) +4. 输入描述文字(可选) +5. 点击发送 + +**方式2:拖拽上传** +1. 打开聊天窗口 +2. 直接拖拽图片到聊天区域 +3. 松开鼠标完成上传 +4. 输入描述文字(可选) +5. 点击发送 + +**方式3:粘贴上传** +1. 复制图片到剪贴板 +2. 在聊天窗口按 Ctrl+V (Windows) 或 Cmd+V (Mac) +3. 图片自动添加到预览区 +4. 输入描述文字(可选) +5. 点击发送 + +### 查看和下载AI返回的图片 + +1. AI返回的图片会显示在消息气泡中 +2. **点击图片** - 在新窗口查看大图 +3. **Hover图片** - 显示下载按钮 +4. **点击下载** - 保存图片到本地 + +## 💡 使用技巧 + +### 图片编辑示例 + +``` +"请帮我把这张图片的背景改成蓝色" +"给这张图片添加一个卡通滤镜" +"帮我去除图片中的文字" +"把这张图片转换成黑白的" +``` + +### 图片生成示例 + +``` +"生成一张日落海滩的图片" +"创建一个可爱的卡通猫咪" +"设计一个科技感的logo" +``` + +### 图片分析示例 + +``` +"这张图片里有什么?" +"帮我识别图片中的文字" +"分析这张图片的构图" +"这是什么品种的狗?" +``` + +## 📊 技术架构 + +``` +Frontend (AIChatWidget) + ↓ +API Route (/api/ai-chat) + ↓ +Gemini AI API +``` + +### 数据流程 + +1. **图片上传** → Base64编码 → 前端预览 +2. **发送消息** → 构建对话历史 → 调用API +3. **API处理** → 转换格式 → 调用Gemini +4. **接收响应** → 解析图片/文字 → 前端显示 + +## 🔧 故障排查 + +### 常见问题 + +**Q: 发送消息时提示"未授权"** +A: 请确保已登录系统 + +**Q: 提示"Gemini API未配置"** +A: 检查.env文件中的GEMINI_API_KEY是否正确设置 + +**Q: 图片上传后无法发送** +A: 检查图片大小,建议单张图片不超过4MB + +**Q: AI响应很慢** +A: 可能是网络问题或API限制,请稍后重试 + +**Q: 图片无法显示** +A: 检查浏览器控制台是否有错误信息 + +### API错误代码 + +- **401**: API密钥无效或过期 +- **429**: 请求频率过高,请稍后重试 +- **500**: 服务器错误,请联系管理员 + +## 🎨 自定义配置 + +### 修改最大图片数量 + +编辑 `components/AIChatWidget.tsx`: + +```typescript +// 将5改为你想要的数量 +setImages(prev => [...prev, ...files].slice(0, 5)) +``` + +### 修改模型参数 + +编辑 `app/api/ai-chat/route.ts`: + +```typescript +generationConfig: { + temperature: 1, // 创造性(0-2) + topK: 40, // 采样范围 + topP: 0.95, // 核采样 + maxOutputTokens: 8192 // 最大输出长度 +} +``` + +## 📝 注意事项 + +1. **API配额**: Gemini API有使用限制,请合理使用 +2. **图片大小**: 建议单张图片不超过4MB +3. **隐私安全**: 不要上传敏感或私人图片 +4. **网络要求**: 需要稳定的网络连接 +5. **浏览器兼容**: 推荐使用Chrome、Firefox、Edge等现代浏览器 + +## 🆕 更新日志 + +### v1.0.0 (2025-10-27) +- ✅ 初始版本发布 +- ✅ 支持文字+图片多模态对话 +- ✅ 集成Gemini AI API +- ✅ 支持拖拽、粘贴上传图片 +- ✅ 支持图片查看和下载 +- ✅ 对话历史管理 +- ✅ 黑夜模式支持 + +## 🔗 相关链接 + +- [Gemini API文档](https://ai.google.dev/docs) +- [项目GitHub](https://github.com/your-repo) +- [问题反馈](https://github.com/your-repo/issues) + +## 👥 管理员账号 + +``` +用户名: admin +邮箱: admin@youyidian3d.com +密码: admin123456 +``` + +--- + +**享受AI助手带来的强大功能吧!🎉** +