LLMChat - 您的AI聊天助手 🤖
LLMChat是一个功能强大的大语言模型(LLM)聊天应用,它结合了Python FastAPI的高性能后端和Flutter的美观前端,为用户提供了流畅的聊天体验。无论您是想与ChatGPT进行对话,还是尝试本地运行的LLaMA模型,LLMChat都能满足您的需求。让我们一起来探索这个令人兴奋的项目吧!
🌟 主要特性
- 支持多种LLM模型,包括OpenAI的GPT和本地运行的LLaMA
- 实时WebSocket通信,确保流畅的对话体验
- 向量存储功能,支持相似性搜索和长期记忆
- 自动文本摘要,有效节省token使用
- Web浏览功能,让AI助手能够检索最新信息
- 支持上传PDF等文档并进行向量化存储
- 美观易用的Flutter前端,支持移动端和桌面端
🚀 快速开始
-
克隆项目仓库:
git clone https://github.com/c0sogi/llmchat.git
-
创建并配置
.env
文件(参考.env-sample
) -
使用Docker启动服务:
docker-compose -f docker-compose-local.yaml up
-
打开浏览器访问
http://localhost:8000/chat
开始聊天!
💡 核心组件简介
-
FastAPI后端: 提供高性能的API服务,处理用户请求和模型调用。
-
Flutter前端: 构建美观易用的用户界面,支持多平台。
-
WebSocket连接: 实现实时双向通信,提供流畅的聊天体验。
-
向量存储: 使用Redis存储文本向量,支持相似性搜索和长期记忆。
-
自动摘要: 使用LangChain的摘要链,有效压缩长文本,节省token。
-
Web浏览: 集成DuckDuckGo搜索引擎,让AI助手能够获取最新信息。
🛠️ 进阶使用
- 本地LLM模型: 支持使用LlamaCpp和Exllama运行本地LLM模型。
- 自定义命令: 通过在
ChatCommands
类中添加回调函数来扩展功能。 - 向量嵌入: 使用
/embed
命令将文本存储到向量数据库中。 - 相似性查询: 使用
/query
命令在向量数据库中进行相似性搜索。
🔗 相关资源
LLMChat为开发者和AI爱好者提供了一个功能丰富、易于扩展的聊天应用框架。无论您是想构建自己的AI助手,还是学习最新的LLM应用开发技术,LLMChat都是一个极好的起点。开始您的AI聊天之旅吧!
通过这个综合的入门指南,您应该已经对LLMChat项目有了全面的了解。现在就开始尝试吧,相信您会发现更多令人兴奋的可能性!