基于LangChain RAG的AI小助手制作

93 阅读1分钟

AI assistant

利用RAG技术,我开发了一个AI机器人,该机器人可以读取md文本作为知识库,简单快捷。

Github地址

RAG是什么

大型语言模型(LLMs)是在一个大型但固定的数据语料库上进行训练的,这限制了它们对于私人或最新信息的推理能力。检索增强生成(RAG)已经成为一种流行且强大的机制,用于扩展LLM的知识库,通过从外部数据源检索的文档来通过上下文学习来支持LLM生成。

image.png

技术栈

  • LLM 服务器: Ollama
  • 模型: mistral:latest
  • Language Model Integration Framework: LangChain
  • Web framework for API: FASTAPI

How it works?

image.png

环境配置

  • 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请求,可以在此基础上进一步开发前端。

image.png

Other reference: