【langchain学习】使用Langchain生成多视角查询

使用Langchain生成多视角查询

  1. 导入所需库

    python 复制代码
    from langchain.prompts import ChatPromptTemplate
    from langchain_core.output_parsers import StrOutputParser
    from langchain_core.runnables import RunnablePassthrough
    from config import llm
  2. 设置提示模板

    python 复制代码
    prompt = ChatPromptTemplate.from_template(
        """
        You are an intelligent assistant. Your task is to generate 5 questions based on the provided question in different wording and different perspectives to retrieve relevant documents from a vector database. By generating multiple perspectives on the user question, your goal is to help the user overcome some of the limitations of the distance-based similarity search. Provide these alternative questions separated by newlines. Original question: {question}
        """
    )
  3. 定义查询生成过程

    python 复制代码
    generate_queries = (
        {"question": RunnablePassthrough()}
        | prompt
        | llm
        | StrOutputParser()
        | (lambda x: x.split("\n"))
    )
  4. 调用生成多视角查询

    python 复制代码
    result = generate_queries.invoke("温格高是如何赢下2023年环法自行车赛的?")
    print(result)
  5. 示例输出

    python 复制代码
    [
        "温格高在2023年环法自行车赛中采用了哪些策略?",
        "2023年环法自行车赛温格高获胜的关键因素是什么?",
        "温格高在2023年环法自行车赛中面对哪些挑战?",
        "温格高是如何准备2023年环法自行车赛的?",
        "2023年环法自行车赛温格高的表现有哪些亮点?"
    ]
相关推荐
是小王同学啊~8 小时前
(LangChain)RAG系统链路向量检索器之Retrievers(五)
python·算法·langchain
AIGC包拥它8 小时前
提示技术系列——链式提示
人工智能·python·langchain·prompt
AI大模型14 小时前
LangGraph官方文档笔记(4)——提示聊天机器人
程序员·langchain·llm
OpenAppAI17 小时前
Few-shot Prompting(少样本提示)概念指南
langchain·few-shot·prompts
余衫马10 天前
LangChain 文本分割器深度解析:从原理到落地应用(上)
langchain·文本分割器
大千AI助手12 天前
LangChain执行引擎揭秘:RunnableConfig配置全解析
人工智能·langchain·config
精灵vector12 天前
Agent的记忆详细实现机制
python·langchain·llm
少林码僧13 天前
14.2 《3小时从零搭建企业级LLaMA3语言助手:GitHub配置+私有化模型集成全实战》
人工智能·机器学习·语言模型·langchain
何双新14 天前
第3讲、LangChain性能优化:上下文缓存与流式响应实战指南
缓存·性能优化·langchain
程序员阿超的博客14 天前
Java大模型开发入门 (13/15):拥抱官方标准 - Spring AI框架入门与实践
人工智能·langchain·大模型·spring ai·langchain4j