以及你应该如何正确调整它
随着LLMs的兴起,检索增强生成(RAG)框架也因为可以构建基于数据的问答系统而变得流行起来。
我们都看过那些与PDF或电子邮件对话的聊天机器人演示。
虽然这些系统确实令人印象深刻,但在生产中可能不可靠,需要微调和实验。
在本文中,我探索了RAG框架背后的问题,并提供了一些改善其性能的技巧。从利用文档元数据到微调超参数,应有尽有。
这些发现基于我作为一名机器学习工程师在制药行业学习这项技术并构建RAG的经验。
话不多说,我们开始看一下吧🔍
简要介绍RAG ⚙️
首先让我们搞清楚基础知识。
以下是RAG的工作原理。
首先它接收一个问题作为输入,并从外部数据库中检索与该问题相关的文档。然后,它将这些块作为上下文信息传递给LLM(生成语言模型),用于帮助生成一个增强回答。
它基本上是这样说的:
“嗨,LLM,这是我的问题,这里有一些文本片段帮助你理解问题。给我一个答案。”
不要被这个简图所蒙蔽。
实际上,RAG隐藏了一定的复杂性,并且在幕后涉及以下组件:
- 加载器:用于解析不同格式的外部数据,如PDF、网站、文档文件等。
- 分割器:将原始数据切分为较小的文本片段。
- 嵌入模型:将文本片段转换为向量。
- 向量数据库:用于存储和查询向量。
- 提示信息:组合问题和检索到的文档。