欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

开发人员手把手教您基于 OpenVINO™ 和 LangChain 构建 RAG 问答系统

最编程 2024-05-01 16:09:36
...


3. 设计RAG prompt template

当完成检索后,RAG会将相似度最高的检索结果包装为Prompt,让LLM进行筛选与重构,因此我们需要为每个LLM设计一个RAG prompt template,用于在Prompt中区分这些检索结果,而这部分的提示信息我们又可以称之为context上下文,以供LLM在生成答案时进行参考。以ChatGLM3为例,它的RAG prompt template可以是这样的:

        "prompt_template": f"""<|system|>        {DEFAULT_RAG_PROMPT_CHINESE }"""        + """        <|user|>        问题: {question}         已知内容: {context}         回答:         <|assistant|>""",

其中:

  • {DEFAULT_RAG_PROMPT_CHINESE}为我们事先根据任务要求定义的系统提示词。

  • {question}为用户问题。

  • {context}为Retriever检索到的,可能包含问题答案的段落。


例如,假设我们的问题是“飞桨的四大优势是什么?”,对应从飞桨文档中获取的Prompt输入就是:

“<|system|>

基于以下已知信息,请简洁并专业地回答用户的问题。如果无法从中得到答案,请说 "根据已知信息无法回答该问题" 或 "没有提供足够的相关信息"。不允许在答案中添加编造成分。另外,答案请使用中文。

<|user|>

问题: 飞桨的四大领先技术是什么?

已知内容: ## 安装


PaddlePaddle最新版本: v2.5

跟进PaddlePaddle最新特性请参考我们的版本说明


四大领先技术

开发便捷的产业级深度学习框架


飞桨深度学习框架采用基于编程逻辑的组网范式,对于普通开发者而言更容易上手,符合他们的开发习惯。同时支持声明式和命令式编程,兼具开发的灵活性和高性能。网络结构自动设计,模型效果超越人类专家。


支持超大规模深度学习模型的训练


飞桨突破了超大规模深度学习模型训练技术,实现了支持千亿特征、万亿参数、数百节点的开源大规模训练平台,攻克了超大规模深度学习模型的在线学习难题,实现了万亿规模参数模型的实时更新。

查看详情


支持多端多平台的高性能推理部署工具

<|assistant|>“