构造可靠的RAG应用—用户鉴权与输入

这部分笔记是关于RAG系统中用户鉴权与输入部分(下一篇关于文档索引与存储),挺适合作为checklist用于对自己的系统查漏补缺的,同样先放一张整体的架构图:

1、用户鉴权

用户鉴权是最基础的,supabase、firebase、aws cognito都能实现,其中也细分为好几个部分:

  • 访问控制:通过了鉴权的用户才能使用本系统
  • 数据安全:未授权的用户不能访问机密信息,防止数据泄露
  • 用户隐私:只有本用户才能访问自己的隐私数据
  • 合规:用户数据与隐私需要满足法律规定
  • 责任归属:任何操作都需要关联到具体的用户上,如果有可以操作可以迅速定位
  • 个性化:允许用户进行一些preference的设置

2、输入防护

当用户输入敏感信息或者有害信息的时候需要进行防护,可以用Llama Guard、Sagemaker实现,细分为以下几个部分:

  • 匿名化:用户的输入中如果有个人隐私信息需要将其去除掉(例如名字、邮箱等)
  • 限制子字符串:防止sql注入等攻击
  • 限制主题:比如对于国内政治相关的不能聊,懂得都懂
  • 限制代码:防止可执行的代码注入
  • 限制语言:最好对语言也进行限制,不然容易出现错误的回答
  • 检测prompt注入:对于想注入prompt,将llm带歪的输入也要进行限制
  • 限制token数量:防止成本太高或者超了context window

3、重写查询语句

当用户的输入能通过输入防护之后,还需要对其查询语句进行重写,因为用户的输入可能会很模糊,或者需要一些特定的上下文信息。下面有一些具体的方法:

  • 基于历史的重写:例如["a和b哪个更好?","比较这两者"]这两个查询,后者应该被重写为"比较a和b"
  • 创建子查询:例如"比较a和b"这个查询,通过创造"a的特点是什么"+"b的特点是什么"这两个更加具体的子查询效果通常会更好
  • 创建相似的查询:通过同义词、领域知识等方式创造多个相似的查询语句可以增加检索到正确文档的概率,例如对"a的特点是什么"创造相似的语句:"a的缺点和优点是什么"

附原文:www.rungalileo.io/blog/master...

相关推荐
canonical_entropy9 分钟前
超越Harness Engineering: AGE 应用开发模板介绍
aigc·ai编程·前端工程化
swipe18 分钟前
从本地开发到生产部署:用 Docker Compose 跑通 NestJS、MySQL 与 Milvus
后端·langchain·llm
imbackneverdie2 小时前
AI生图可以编辑矢量图了
人工智能·ai·aigc·科研·科研绘图·研究生·ai生图
墨风如雪7 小时前
小白必看!Opencode 傻瓜式安装教程,终于把 DeepSeek 接上了!
aigc
Cosolar7 小时前
收藏备用!2026 年所有主流 RAG 开源项目都在这里了
人工智能·面试·llm
imbackneverdie11 小时前
好用的AI论文写作工具
人工智能·aigc·论文·科研·ai写作·ai工具
searchforAI11 小时前
视频画面里的PPT怎么提取?视频转图文讲义的实操教程
人工智能·学习·ai·aigc·powerpoint·音视频·贴图
阿牛大牛中13 小时前
多模态生成式推荐技术脉络-MQL4GRec-MACRec-SynGR
llm·推荐算法·生成式推荐
李燚13 小时前
ReAct 循环的 50 行 Go 实现,逐行拆解
javascript·人工智能·react.js·golang·aigc·agent