【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年环法自行车赛温格高的表现有哪些亮点?"
    ]
相关推荐
kimi-2226 小时前
LangChain 将数据加载到 Chroma 向量数据库
数据库·langchain
学Linux的语莫8 小时前
Milvus向量数据库的操作(基于Langchain)
数据库·langchain·milvus
社恐的下水道蟑螂10 小时前
LangChain:AI 应用开发框架的深度解析与实践指南
前端·langchain·ai编程
白兰地空瓶10 小时前
别再把大模型只当聊天机器人:LangChain Tool 才是 AI 应用的分水岭
langchain
香蕉君10 小时前
第一品——LangChain核心基础
人工智能·langchain
kimi-22210 小时前
基于 LangChain 的 RAG(检索增强生成)
langchain
大模型RAG和Agent技术实践13 小时前
从零构建:基于 LangGraph 的医疗问诊智能体实战(完整源代码)
人工智能·langchain·agent·langgraph
3秒一个大15 小时前
LangChain 中的 Output 解析器与 Zod:用法与意义
javascript·langchain
kimi-22218 小时前
短期记忆中ChatMessageHistory()、 InMemoryChatMessageHistory()区别
langchain
SCBAiotAigc1 天前
langchain1.2学习笔记(一):安装langchain
人工智能·python·langchain