RAG(Retrieval-AugmentedGeneration)检索增强生成是什么?

云的事情不好说 2024-04-29 03:04:04

RAG是一个机器学习概念,旨在通过从文档集合中获取外部知识,增强生成式AI模型的能力。

RAG作为一个AI框架,旨在通过将模型连接到外部知识库,丰富LLM的内在数据表示,从而提高生成模型产生的响应质量。

将RAG纳入由LLM(如GPT、LLaMA2、Falcon、ChatGPT等)驱动的问答系统中有两个重要的好处:它为AI模型提供了访问最新可靠信息的能力,并让用户能够访问模型的参考资料,验证其断言的准确性,增加对AI实现及其结果的信任。

1. 文档被转换为向量表示,通常称为嵌入。可以使用不同的技术来进行转换,例如TF-IDF(Term Frequency-Inverse Document Frequency,词频-逆文档频率)、Word2Vec、FastText,或者更高级的方法,如BERT(Bidirectional Encoder Representations from Transformers)或其他基于Transformer的模型。

2. 嵌入(向量化的文档)被存储在向量数据库中,例如ChromaDB、Pinecone或Milvus。再次强调,嵌入是文本数据的数值表示,使得它们可以以优化性能的方式进行存储和检索。

3. 用户提出一个问题。

4. 一旦数据存储在数据库中,LangChain支持各种检索算法。这些算法包括基本的语义搜索、父文档检索器、自查询检索器、集合检索器等。

5. 在进行搜索时,检索系统根据与查询相关性对每个文档进行评分或排名。然后,文档按照降序排序,最相关的文档出现在列表的顶部。这种排名方式可以让系统根据搜索查询快速识别和访问最相关的信息。排名算法考虑了多个因素,如关键词匹配、文档受欢迎程度、用户行为和其他相关信号,以确定结果的顺序。

6. 结果被发送到LLM(例如GPT、Falcon、LLaMA2、ChatGPT等)。

7. 利用上下文表示,模型然后生成一个回答。



0 阅读:0

云的事情不好说

简介:感谢大家的关注