RAG的四种的检索方式

RAG的四种的检索方式

python 复制代码
# 定义 RAGPrompts 类,用于管理所有 Prompt 模板
class RAGPrompts:
    # 定义 RAG 提示模板
    @staticmethod
    def rag_prompt():
        # 创建并返回 PromptTemplate 对象
        return PromptTemplate(
            template="""  
            你是一个智能助手,可以帮助用户回答问题。  
            如果提供了上下文,请基于上下文回答;如果没有上下文,请直接根据你的知识回答。  
            如果答案来源于检索到的文档,请在回答中说明。

            问题: | {question} | 
            上下文: | {context} |
            

            如果无法回答,请回复:"信息不足,无法回答,请联系人工客服,电话:{phone}。"  
            回答:  
            """,
            #   定义输入变量
            input_variables=["context", "question", "phone"],
        )

    # 定义假设问题生成的 Prompt 模板
    @staticmethod
    def hyde_prompt():
        #   创建并返回 PromptTemplate 对象
        return PromptTemplate(
            template="""  
            假设你是用户,想了解以下问题,请生成一个简短的假设答案:  
            问题: | {query} |
            假设答案:  
            """,
            #   定义输入变量
            input_variables=["query"],
        )

    #   定义子查询生成的 Prompt 模板
    @staticmethod
    def subquery_prompt():
        #   创建并返回 PromptTemplate 对象
        return PromptTemplate(
            template="""  
            将以下复杂查询分解为多个简单子查询,每行一个子查询:  
            查询: | {query} |  
            子查询:  
            """,
            #   定义输入变量
            input_variables=["query"],
        )

    #   定义回溯问题生成的 Prompt 模板
    @staticmethod
    def backtracking_prompt():
        #   创建并返回 PromptTemplate 对象
        return PromptTemplate(
            template="""  
            将以下复杂查询简化为一个更简单的问题:  
            查询: | {query} | 
            简化问题:  
            """,
            #   定义输入变量
            input_variables=["query"],
        )
相关推荐
骇客野人8 分钟前
Linux 服务器 Python 版 MCP 服务部署整体方案(适配 Claude/Cursor/自研Agent)
linux·服务器·python
AI视觉网奇13 分钟前
动作识别 视频理解大模型
开发语言·python·音视频
Java尧哥学AI33 分钟前
35岁Java程序员学AI Day2:从装环境到写第一行Python,踩了3个坑
python
zhiSiBuYu051744 分钟前
Flask Session 与 Cookie 新手实战指南
后端·python·flask
码云骑士1 小时前
104-实战论文搜索引擎-ArXiv爬取-Milvus存储-RAG问答-Gradio前端
前端·python·搜索引擎·milvus
比高创意品牌策划设计1 小时前
零售卖场门头设计怎么做才显眼
python
鬼手点金1 小时前
Scrapy + Playwright 完整示例(JS 动态渲染网页)
开发语言·javascript·爬虫·python·scrapy·html·json
存在morning1 小时前
【Python 开发实践 一】Python vs Go vs Java 三门语言对比
java·python·golang
vx-程序开发2 小时前
springboot旅游推介平台---附源码24175
java·spring boot·python·spring cloud·eclipse·django·idea
心运软件2 小时前
基于深度学习的宝石图像分类系统
人工智能·python·深度学习·机器学习·分类·数据挖掘