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"],
        )
相关推荐
用户3721574261351 分钟前
如何使用 Python 从 Word 文档中提取图片
python
白山编程大哥2 小时前
Java 集合算法:从排序、查找到底层原理的实战指南
java·python·算法
昭昭日月明3 小时前
RAGFlow 入门,不用从零造轮子
python·ai编程
莓有烦恼吖4 小时前
Vibe Coding 的一些思考
python
小白学大数据4 小时前
超简单:用 Python 让 Excel 飞起来:用 openpyxl 把重复报表整理交给脚本
开发语言·数据库·python·excel
爱丶不疚4 小时前
写给前端工程师的现代 Python 工程化最佳实践:从 pnpm 到 uv,从 CommonJS 到 src-layout
javascript·python·typescript
2601_962297254 小时前
C# vs Java vs Python:YOLO工业部署性能对比实战
java·python·c·工业视觉·性能对比
CTA终结者5 小时前
示例、拆解和练习,要连成一条量化补课线
人工智能·python
lolijiaqi155 小时前
一线观察:长期体验后发现的医疗器械 CDMO 底层现象
大数据·python
spencer_tseng5 小时前
[j2cache ehcache.xml]/tmp/.ehcache-diskstore.lock (Permission denied)
xml·linux·python·ehcache·[j2cache