AI assistant
利用RAG技术,我开发了一个AI机器人,该机器人可以读取md文本作为知识库,简单快捷。
RAG是什么
大型语言模型(LLMs)是在一个大型但固定的数据语料库上进行训练的,这限制了它们对于私人或最新信息的推理能力。检索增强生成(RAG)已经成为一种流行且强大的机制,用于扩展LLM的知识库,通过从外部数据源检索的文档来通过上下文学习来支持LLM生成。
技术栈
- LLM 服务器: Ollama
- 模型: mistral:latest
- Language Model Integration Framework: LangChain
- Web framework for API: FASTAPI
How it works?
环境配置
pip install -r requirements.txt- 获取你的 langchain API Key(在这里 注册), 并将其配置在
.env.example环境变量中,复制为 .env 文件使其生效cp -RPp .env.example .env(MacOs or Linux)copy .env.example .env(windows)
Ollama Model
Refer to Ollama for more information. Make sure it is running as a service.
pip install ollama(ollama --version: 0.3.6)ollama run mistral:latest- Check your model with
ollama list
知识库
您可以随时更换 ./data/lnowledge.md 知识库. 这里选用的是一本亚当斯密的 The Wealth of Nations. Source
启动程序
uvicorn main:app --reload
Try it!
html文件包含简单的js请求,可以在此基础上进一步开发前端。