此系列文章详细的阐述了如何从第一行代码开始搭建一个可以运行完全在本地服务器的RAG(Retrieval Augmented Generation)系统,包含了详细的步骤说明和代码,它是保姆级教程。
它主要包含以下功能:

  • 使用本地大语言模型做语言翻译
  • 使用本地大语言模型做专业领域的知识问答

从系统架构来看,本系统包含了前端、API网关、后台服务三大部分: 基本架构

功能

前端使用vue3vuetify3开发,脚本主要是使用组合式API写的,主要功能有:

  • 基于OAuth2.0JWT标准的用户认证
  • 翻译组件
  • 问答聊天组件 前端代码还包含了本地会话管理请求拦截的通用模块、切换主题等常用功能,使用了很多veutify3控件。

API网关使用FastAPI实现,主要实现以下功能:

  • 基于OAuth2.0JWT规范的用户认证
  • 请求代理转发

后台服务主要基于本地大语言模型提供服务,包括:

  • 使用Ollama平台,在本地部署和使用Ollama3.1开源大语言模型
  • 使用Chroma做本地矢量数据存储和检索
  • 使用Ollama3.1或者nomic-embed-text进行矢量化
  • 使用本地大语言模型Ollama3.1实现增强生成
  • 使用langchian将以上功能整合起来提供服务

系列文章目录

  1. 在Visual Studio Code中配置venv
  2. 在langchian中使用本地部署的llama3.1大模型
  3. 使用langchain+本地lamma3.1+本地chroma做RAG
  4. 基于langchain和本地大模型以及会话式检索增强生成技术实现知识问答
  5. 基于langchian和对话式增强生成技术实现知识问答
  6. 使用LangServe做API开放本地大模型的能力
  7. 用Flask做langchain服务的API
  8. 用FastAPI做langchain本地大模型的API
  9. 使用FastAPI实现微服务API网关
  10. 使用FastAPI实现简单的OAuth2的Password和Bearer验证
  11. 基于FastAPI和JWT实现OAuth2用户认证
  12. 基于OAuth2.0和JWT规范实现安全易用的用户认证
  13. 实现可以自动清除过期条目的缓存
  14. 用图形验证码增强用户认证安全性

如果您不了解vuetify,您可以先看看下面的入门教程:
🔗Veutify3入门实战

查看完整代码


🪐祝好运🪐