🐘 忠诚的小象:您值得信赖的具有记忆功能的AI伙伴 🧠
🚀 与忠诚的小象一起开启激动人心的冒险吧,它是您忠实的AI助手!这个项目结合了简洁的Next.js网页界面和强大的Python后端,利用大型语言模型(LLMs)和检索增强生成(RAG)的最新进展,为您提供流畅而有意义的聊天体验!🎉
特点
-
🎛️ 可控记忆: 掌控忠诚小象的记忆!您可以决定保存哪些时刻,并可以根据需要轻松编辑上下文。它是您的情景记忆第二大脑。✍️
-
🔍 混合搜索: 体验Chroma和BM25结合的强大搜索功能!它还针对处理基于日期的查询进行了优化。📅
-
🔒 安全的网络访问: 内置登录功能,只有授权用户才能访问您的AI伙伴,确保您的对话在互联网上保持私密和安全。🛡️
-
🤖 精简的LLM代理: 忠诚的小象使用XML语法,无需函数调用。它还针对更少的令牌使用进行了优化,可以使用Llama.cpp或ExllamaV2与优秀的本地LLMs顺畅工作。💬
-
📝 (可选)Markdown编辑器集成: 连接在线Markdown编辑器,在聊天过程中查看原始参考文档,并在在线编辑笔记后体验实时LLM知识集成。🌐
忠诚的小象支持开源和专有的LLMs和嵌入,这些都作为OpenAI兼容的API提供服务。
警告:这个项目最初是为Linux设计的,与Windows或macOS的兼容性尚未完全测试。如果您使用Windows,我强烈建议您在WSL中运行此项目。
截图
以下截图使用Meta-Llama-3-70B-Instruct.Q4_K_S.gguf模型捕获
使用SilverBulletMd,您可以在浏览器上编辑笔记,然后让忠诚的小象记住它!
UI修改自https://github.com/mckaywrigley/chatbot-ui-lite,感谢作者Mckay Wrigley!
部署
1. 克隆仓库
git clone https://github.com/v2rockets/Loyal-Elephie.git
2. 安装前端依赖
cd frontend
npm i
3. 配置登录用户
frontend/users.json
[{
"username":"admin",
"password":"admin"
}]
4. 安装后端依赖
cd backend
pip install -r requirements.txt
5. 配置后端设置
# backend/settings.py
NICK_NAME = 'Peter' # 这是您的昵称。确保在开始时设置它,并且不要更改,以免LLM感到困惑。
CHAT_BASE_URL = 'https://api.openai.com/v1' # 修改为您的OpenAI兼容API url
CHAT_API_KEY = 'your-api-key'
CHAT_MODEL_NAME = "gpt-3.5-turbo"
# 语言偏好(实验性)
# 支持的语言:英语、中文、德语、法语、西班牙语、葡萄牙语、意大利语、荷兰语、捷克语、波兰语、俄语、阿拉伯语
LANGUAGE_PREFERENCE = "English"
6. 运行应用
前端:
cd frontend
npm run build
npm run start
后端:
cd backend
python app.py
使用技巧
- 默认情况下,从http://localhost:8080访问忠诚的小象
- 使用"保存"按钮将当前对话保存到忠诚小象的记忆中
- 使用"重置"按钮清除当前对话(不影响保存状态,相当于刷新页面)
- 点击"参考"中的标题可导航到相应的Markdown笔记(但需要托管和配置SilverBulletMd或其他Web Markdown编辑器)
一些测试过的可用本地LLMs:
- OpenHermes-2.5-Mistral-7B
- Mixtral-8x7B-Instruct-v0.1
- c4ai-command-r-v01
- Meta-Llama-3-70B-Instruct(目前最佳)
- Qwen2-72b-instruct(非英语语言最佳)
对于那些需要本地嵌入API的人,在"external_example"中添加了一个嵌入服务器示例。