# ai chat web **Repository Path**: zhangjun76/ai-chat-web ## Basic Information - **Project Name**: ai chat web - **Description**: 搭建ai大模型对话web服务,可对接ollama或者deepseek等服务商提供的的api - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-03-12 - **Last Updated**: 2025-03-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI Chat Web 这是一个基于 FastAPI 和 OpenAI API 的轻量级 AI 聊天 Web 应用,可对接ollama或者deepseek等服务商提供的的api。它支持与 AI 模型的对话、历史记录管理、配置管理等功能,并且可以通过简单的界面与 AI 进行交互。 ![输入图片说明](%E6%88%AA%E5%9B%BE.png) ## 功能特性 - **实时对话**:支持与 AI 模型的实时对话,支持流式响应。 - **历史记录管理**:保存和管理对话历史,支持查看、删除历史对话。 - **配置管理**:支持配置 OpenAI API 密钥、API 地址和模型选择。 - **Markdown 支持**:支持 Markdown 格式的输入和输出,代码高亮显示。 - **HTML 预览**:支持预览生成的 HTML 代码。 - **系统角色提示**:可以设置系统角色提示,指导 AI 的回复风格。 - **温度控制**:支持调整生成文本的随机性和多样性。 ## 功能特性(更新) - **多文件支持**:支持上传PDF、Excel、Word文档及图片(PNG/JPG等),自动解析文本内容 - **OCR文字识别**:集成OCR服务,支持图片文字提取(需下载umi-ocr开启http服务) - **智能角色模板**:内置AVC分析助手、图表大师等专业角色提示模板 - **可视化支持**:集成Mermaid图表和ECharts可视化库,支持交互式图表生成 - **大文件处理**:支持最大100MB文件上传,智能内容提取 ## 技术栈 - **后端**:FastAPI - **前端**:HTML, CSS, JavaScript - **AI 模型**:OpenAI API 或兼容的本地模型(如 Ollama) - **Markdown 渲染**:Showdown.js - **代码高亮**:Highlight.js ## 技术栈(更新) - **文件解析**:PyPDF2, python-docx, openpyxl - **OCR集成**:通过HTTP接口对接OCR服务 - **数据可视化**:Mermaid.js, ECharts - **前端增强**:文件拖放上传、实时预览 ## 快速开始 可直接下载整个项目然后运行ai_chat_web.exe,也可以git克隆项目后使用python运行ai_chat_web.py ### 1. 克隆项目 ```bash git clone https://gitee.com/huang-fuying98/ai-chat-web cd ai-chat-web ``` ### 2. 安装依赖 确保你已经安装了 Python 3.7+ 和 `pip`,然后安装所需的 Python 依赖: ```bash pip install fastapi uvicorn openai requests PyPDF2 python-docx openpyxl ``` ### 3. 配置 API 密钥和地址 在 `main.py` 中,默认的 OpenAI API 配置如下: ```python config = { "openai": {"api_key": "ollama", "base_url": "http://localhost:11434/v1"} } ``` 你可以通过前端界面修改这些配置,或者直接在代码中修改。 ### 4. 启动服务 运行以下命令启动 FastAPI 服务: ```bash python main.py ``` 服务启动后,浏览器会自动打开 `http://localhost:8333/`,你可以开始使用 AI 聊天功能。 ## 使用指南 ### 1. 配置 API 在侧边栏的 **服务配置** 中,你可以设置 OpenAI API 密钥和 API 地址。如果你使用的是本地模型(如 Ollama),可以将 API 地址设置为 `http://localhost:11434/v1`。 ### 2. 选择模型 在 **服务配置** 中,点击 **🔄** 按钮加载可用的模型列表,然后从下拉菜单中选择一个模型。 ### 3. 开始对话 在输入框中输入你的消息,按下 `Enter` 键或点击 **发送** 按钮即可开始对话。AI 的回复会以流式方式显示在聊天框中。 ### 4. 管理历史对话 在侧边栏的 **历史对话** 中,你可以查看、加载和删除历史对话。点击对话项即可加载该对话的历史记录。 ### 5. 清空对话 点击 **清空** 按钮可以清空当前对话的历史记录。 ## 项目结构 ``` ai-chat-web/ ├── ai_chat_web.py # 后端 FastAPI 服务 ├── ai_chat_web.exe # 打包好的后端 FastAPI 服务exe文件 ├── index.html # 前端 HTML 页面 ├── default.min.css # 代码高亮样式 ├── highlight.min.js # 代码高亮脚本 ├── showdown.min.js # Markdown 渲染脚本 └── README.md # 项目说明文档 ``` ## 注意事项 1. **API 密钥安全**:请妥善保管你的 OpenAI API 密钥,避免泄露。 2. **本地模型支持**:如果你使用的是本地模型(如 Ollama),请确保模型服务已启动,并且 API 地址配置正确。 3. **温度参数**:温度参数控制生成文本的随机性,值越高,生成的文本越随机,但也可能产生不符合逻辑的内容。 ## 未来计划 - 支持更多 AI 模型(如 Hugging Face、Cohere 等)。 - 增加对话导出功能(支持 Markdown、PDF 等格式)。 - 支持多用户会话管理。 - 增加对话标签和分类功能。 ## 贡献 欢迎提交 Issue 和 Pull Request,帮助我们改进项目! ## 许可证 本项目采用 MIT 许可证,详情请参阅 [LICENSE](LICENSE) 文件。 --- Enjoy your AI chatting! 🤖💬