大模型rag
时间: 2025-04-27 16:28:24 浏览: 26
### Retrieval-Augmented Generation (RAG) 大模型概述
Retrieval-Augmented Generation (RAG) 是一种用于知识密集型自然语言处理任务的技术,该技术通过结合检索模块和生成模块来提升模型性能。具体来说,在面对一个问题时,RAG 模型会先调用检索组件查找相关的外部文档片段,随后将这些片段连同原始问题一起送入生成器中,从而得到更加精准的回答[^1]。
#### RAG 工作原理
当接收到用户查询后,RAG 首先启动检索部分,从预先构建的知识库或者互联网资源里提取出若干篇可能含有有用信息的文章摘要或段落;接着把这些选中的文本片段以及用户的实际提问共同作为输入传递给下游的语言生成网络,使得后者可以依据最新且最贴切的数据源来进行高质量回复的创作[^2]。
#### 应用场景
由于其独特的工作机制——即借助于实时获取到的真实世界资讯而非单纯依赖内部参数记忆来做决策判断,因此非常适合应用于那些对于时效性和准确性有着较高要求的任务领域,比如医疗咨询解答、法律条文解释等专业服务行业内的问答系统开发工作之中[^3]。
```python
from transformers import RagTokenizer, RagRetriever, RagSequenceForGeneration
tokenizer = RagTokenizer.from_pretrained("facebook/rag-token-nq")
retriever = RagRetriever.from_pretrained("facebook/rag-token-nq", index_name="exact", use_dummy_dataset=True)
model = RagSequenceForGeneration.from_pretrained("facebook/rag-token-nq", retriever=retriever)
input_dict = tokenizer.prepare_seq2seq_batch(
["What is the capital of France?"], return_tensors="pt"
)
outputs = model.generate(input_ids=input_dict["input_ids"])
print(tokenizer.batch_decode(outputs, skip_special_tokens=True))
```
此代码展示了如何加载预训练好的 RAG 模型,并使用它来生成针对特定问题的答案。这里选择了 Facebook 提供的一个基于 token 的版本 `facebook/rag-token-nq` 进行演示。
阅读全文
相关推荐


















