构造可靠的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...

相关推荐
寒水馨4 小时前
Windows下载、安装ollama-v0.32.1(附安装包OllamaSetup.exe)
windows·llm·大语言模型·llama·本地部署·ollama·模型运行
leeyi4 小时前
流式传输引擎:Eino StreamReader 源码拆解(第61篇-E47)
llm·aigc·agent
卡卡罗特AI5 小时前
OpenAI模型,自主入侵顶级AI公司系统!后背发凉!
aigc·openai
iThinkAi5 小时前
别被那些“必装清单”骗了,我替你们踩完了 Codex Skills 的所有坑
aigc
张申傲5 小时前
拆解 harness9(9):Observability 可观测性
人工智能·aigc·agent·deepseek·harness
李剑一5 小时前
瑞幸也AI上了?我用AI命令行帮我点了一杯咖啡,但是我花了不止一杯咖啡钱
aigc·openai·ai编程
武子康5 小时前
Copilot Code Review 从固定 Reviewer 演进为可编程 Runtime,仓库控制面、Setup 供应链、Runner 资源和 MCP 工具同时被纳入审查决策
人工智能·github·aigc
AINative软件工程6 小时前
LLM 应用的熔断降级工程实践:Circuit Breaker 不只是重试的升级版
后端·llm·ai编程
K姐研究社7 小时前
Codex 怎么用国产模型?Kimi + CC Switch 接入配置指南
人工智能·aigc
wangruofeng16 小时前
opencodex 解锁 Codex 任意模型,一个本地代理打通 Claude/Kimi/GLM/DeepSeek
llm·github·openai