Open-Fiesta
扫码查看

开源多模型AI聊天工具

Open-Fiesta

综合介绍

Open-Fiesta 是一个开源的 AI 聊天平台,基于 Next.js 14 开发,支持多种 AI 模型和提供商,如 OpenRouter(包括 DeepSeek R1、Llama 3.3、Qwen 等)和 Gemini。用户可以同时选择最多 5 种模型进行对话,比较不同模型的输出结果。它提供简洁的界面,支持键盘提交、流式响应、图像附件(仅限 Gemini)和可选的网页搜索功能。项目使用 TypeScript 和 Tailwind CSS,确保代码规范和界面美观。Open-Fiesta 适合开发者、AI 爱好者和需要对比模型输出的用户,代码完全开源,遵循 MIT 许可证,欢迎社区贡献。

功能列表

  • 多模型支持:集成 OpenRouter(支持 DeepSeek R1、Llama 3.3、Qwen、Mistral 等)和 Gemini,允许用户选择最多 5 种模型进行对话。
  • 并排比较输出:支持同时运行多个模型,方便用户比较不同模型的回答。
  • 网页搜索功能:每条消息可单独开启网页搜索,增强回答的实时性和准确性。
  • 图像附件支持:Gemini 模型支持上传图像作为输入,适合需要图像分析的场景。
  • 简洁用户界面:支持键盘提交,流式响应,提供流畅的交互体验。
  • API 规范化:后端处理 DeepSeek R1 等模型的输出,移除推理标签,将 Markdown 转为纯文本,提升可读性。
  • 开源与可扩展:基于 MIT 许可证,代码公开,鼓励社区贡献新功能和模型。

使用帮助

安装流程

  1. 克隆仓库在 GitHub 上访问 Open-Fiesta 仓库,点击 “Fork” 按钮,将仓库 fork 到自己的 GitHub 账户。然后克隆到本地:
    git clone https://github.com/<你的用户名>/Open-Fiesta.git
    cd Open-Fiesta
    
  2. 安装依赖确保本地已安装 Node.js(建议版本 18 或以上)。在项目根目录运行以下命令安装依赖:
    npm install
    
  3. 配置环境变量在项目根目录创建 .env.local 文件,添加以下 API 密钥:
    OPENROUTER_API_KEY=your_openrouter_api_key
    GOOGLE_GENERATIVE_AI_API_KEY=your_google_ai_api_key
    
    • 获取 OPENROUTER_API_KEY:访问 OpenRouter,注册并生成 API 密钥。
    • 获取 GOOGLE_GENERATIVE_AI_API_KEY:访问 Google AI Studio,生成 Gemini 模型的 API 密钥。
    • 如果不想在 .env.local 中配置密钥,也可以在 UI 的设置面板中输入密钥。
  4. 运行开发服务器安装完成后,运行以下命令启动本地开发服务器:
    npm run dev
    

    打开浏览器,访问 http://localhost:3000,即可看到 Open-Fiesta 的界面。

  5. 代码检查与构建在提交代码或部署前,运行以下命令检查代码规范和构建项目:
    npm run lint
    npm run build
    

使用方法

  • 访问界面:启动后,浏览器会显示 Open-Fiesta 的主界面,包含聊天框、模型选择器和设置面板。
  • 选择模型
    • 在界面顶部或设置面板中,选择 AI 模型(最多 5 个)。可用模型包括 OpenRouter 的 DeepSeek R1、Llama 3.3、Qwen 等,以及 Gemini。
    • 点击模型名称即可切换或添加模型。
  • 输入消息
    • 在聊天框输入问题或指令,按回车键或点击发送按钮提交。
    • 支持流式响应,模型会逐步返回结果。
  • 使用网页搜索
    • 每条消息旁边有一个搜索开关,开启后,系统会结合网页搜索结果生成回答。
  • 上传图像(仅限 Gemini):
    • 在聊天框旁边,点击图像上传按钮,选择本地图片。
    • 上传后,Gemini 模型会分析图像并结合文本输入生成回答。
  • 比较模型输出
    • 选择多个模型后,界面会并排显示每个模型的回答,方便比较差异。
  • 调整设置
    • 在设置面板中,可以输入或更新 API 密钥,调整模型参数(如温度、最大输出长度)。

功能操作流程

  1. 多模型对话
    • 打开模型选择器,选择 2-5 个模型(如 DeepSeek R1 和 Gemini)。
    • 输入问题,例如“解释量子力学的基本原理”。
    • 系统会同时向所选模型发送请求,并将结果并排显示。
    • DeepSeek R1 的输出会自动移除推理标签,转换为纯文本,易于阅读。
  2. 网页搜索增强
    • 对于需要最新信息的提问(如“2025 年科技趋势”),打开消息旁边的搜索开关。
    • 系统会调用外部搜索 API,结合搜索结果生成更准确的回答。
  3. 图像分析
    • 使用 Gemini 模型时,点击聊天框旁边的图像图标。
    • 上传图片(支持 PNG、JPEG 等格式),并输入相关问题,如“描述这张图片的内容”。
    • Gemini 会分析图像并返回详细描述。
  4. 开发者贡献
    • 如果想添加新模型,修改 lib/models.ts 或 lib/customModels.ts,并更新 app/api/ 下的对应路由。
    • 提交代码前,运行 npm run lint 和 npm run build,确保代码通过检查。
    • 提交 PR 时,使用描述性提交信息,如 feat: add support for new model X

注意事项

  • API 密钥安全:不要将 .env.local 文件上传到 GitHub,以免泄露密钥。
  • 模型限制:部分模型(如 DeepSeek R1)需要 OpenRouter 的免费或付费账户支持。
  • 性能优化:本地运行时,确保机器有足够内存(建议 8GB 以上),以处理多模型请求。

应用场景

  1. AI 模型对比开发者或研究人员需要评估不同 AI 模型的性能。Open-Fiesta 允许同时运行多个模型,比较它们的回答质量和风格,适合选择最适合特定任务的模型。
  2. 教育与学习学生或教师可以输入学术问题,结合网页搜索功能获取最新信息,并通过多模型输出获得多样化的解释,适合学习复杂概念。
  3. 内容创作创作者可以使用 Open-Fiesta 生成文本或分析图像,快速获取灵感或草稿。Gemini 的图像分析功能尤其适合需要视觉描述的场景。
  4. 开源开发开发者可以 fork 仓库,添加新功能或模型,参与社区贡献,学习 Next.js 和 AI API 集成的开发流程。

QA

  1. Open-Fiesta 支持哪些 AI 模型?支持 OpenRouter 的模型(如 DeepSeek R1、Llama 3.3、Qwen、Mistral 等)和 Google 的 Gemini 模型。用户可通过 lib/models.ts 查看完整模型列表。
  2. 如何获取 API 密钥?访问 OpenRouter 获取 OPENROUTER_API_KEY,访问 Google AI Studio 获取 GOOGLE_GENERATIVE_AI_API_KEY
  3. 为什么 DeepSeek R1 的输出更易读?Open-Fiesta 后处理 DeepSeek R1 的输出,移除推理标签并将 Markdown 转为纯文本,确保内容简洁。
  4. 可以离线使用吗?不支持离线使用,所有模型请求都需要联网调用 OpenRouter 或 Google 的 API。
  5. 如何贡献代码?Fork 仓库,创建功能分支,修改代码后运行 npm run lint 和 npm run build,提交 PR 到主分支,附上详细说明和测试记录。
微信微博Email复制链接