# GerTalk **Repository Path**: wang-ronglin12/ger-talk ## Basic Information - **Project Name**: GerTalk - **Description**: GerTalk 是一个基于 Flask 和现代 Web 技术构建的多功能聊天助手项目,灵感来自 ChatGPT,支持多轮对话、模型切换、对话管理等功能。其目标是提供一个高度可扩展和用户友好的聊天系统。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2024-12-11 - **Last Updated**: 2024-12-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GerTalk GerTalk 是一个基于 Flask 和现代 Web 技术构建的多功能聊天助手项目,灵感来自 ChatGPT,支持多轮对话、模型切换、对话管理等功能。其目标是提供一个高度可扩展和用户友好的聊天系统。 ------ ## **功能特点** ### 核心功能 - **多轮对话**:支持与用户进行上下文多轮对话。 - **模型切换**:提供下拉菜单,动态切换不同的语言模型(如 `qwen2.5-72b-instruct` 等)。 - 对话管理 : - 创建新对话。 - 切换、删除对话。 - 导出对话为 JSON 文件。 - **实时响应**:流式传输消息,提升交互体验。 ### 用户界面 - **欢迎界面**:显示 GerTalk 项目的欢迎信息。 - **侧边栏**:展示所有历史对话记录,支持快速切换。 - **响应式设计**:支持桌面端和移动端无缝使用。 - 动态布局 : - 模型选择栏在侧边栏显示与隐藏时动态调整位置。 - 交互界面自动适配用户输入和输出内容。 ------ ## **项目结构** ``` GerTalk/ ├── backend/ │ ├── app/ │ │ ├── __init__.py # Flask 应用初始化 │ │ ├── models.py # 核心逻辑:ConversationManager 等 │ │ ├── routes.py # 后端路由 │ │ ├── utils.py # 工具函数 │ ├── config.py # 配置管理 │ ├── data/ │ │ └── conversations.json # 持久化存储的对话数据 ├── frontend/ │ ├── static/ │ │ ├── css/ # 样式文件 │ │ ├── js/ # 前端逻辑 │ ├── templates/ │ │ └── index.html # 前端 HTML 模板 ├── tests/ # 测试用例 ├── .env # 环境变量 ├── requirements.txt # Python 依赖 ├── run.py # 项目入口 ``` ------ ## **快速启动** ### 前置条件 - Python 版本 = 3.9.20 - Node.js(可选,用于前端开发) - Flask 框架 ### 本地运行 1. **克隆项目** ```bash git clone https://gitee.com/zhaochongz/ger-talk.git cd GerTalk ``` 2. **安装依赖** ```bash pip install -r requirements.txt ``` 3. **配置环境变量** 在项目根目录创建 `.env` 文件,并添加以下内容: ```plaintext DASHSCOPE_API_KEY=your-api-key SECRET_KEY=your-secret-key FLASK_ENV=development ``` 4. **运行项目** ```bash python run.py ``` 5. **访问** 在浏览器中打开 [http://127.0.0.1:5000](http://127.0.0.1:5000/)。 ------ ## **使用说明** 1. **开始对话**:点击左上角的 “+” 按钮创建一个新的对话。 2. **切换模型**:在页面顶部的模型下拉菜单中选择所需的语言模型。 3. 管理对话 : - 点击对话名称切换到对应对话。 - 点击垃圾桶图标删除对话。 - 点击下载图标导出对话记录。 4. **输入消息**:在输入框中输入内容,按下 Enter 键发送消息。 ------ ## **主要技术栈** ### 后端 - **Flask**:轻量级 Web 框架。 - **Qwen API**:用于实现 AI 模型交互。 ### 前端 - **HTML5 & CSS3**:构建用户界面。 - **JavaScript**:动态交互逻辑。 ### 数据存储 - JSON 文件用于存储对话记录(支持迁移到数据库)。 ------ ## **未来计划** 1. 增加多用户支持,每个用户拥有独立的对话记录。 2. 提供对话内容的智能摘要功能。 3. 支持对话标签和内容搜索。 4. 优化流式传输,支持 WebSocket 协议。 5. 增加更多高级模型支持,如 OpenAI GPT-4、LLAMA 等。 ------ ## **贡献指南** 欢迎任何形式的贡献!以下是贡献流程: 1. Fork 此仓库。 2. 在分支中进行更改。 3. 提交 Pull Request。 ------ ## **截图** 1. **欢迎界面** ![](GerTalk.assets/image-20241209164701020.png) 2. **对话管理界面** ![](GerTalk.assets/image-20241209164841415-1733734803464-7.png) 3. **模型切换界面** ![](GerTalk.assets/image-20241209164946186.png) ------ ## **联系作者** - **作者**: Gerlat-Z - **项目仓库**: https://gitee.com/zhaochongz/ger-talk.git 如果您有任何问题或建议,请随时通过 Issue 或 PR 与我们联系!