当前位置: 首页 > news >正文

wordpress仿站实战教程如何将微信和企业网站同步

wordpress仿站实战教程,如何将微信和企业网站同步,乌海网络推广,网站图标做多大好MultiQueryRetriever 概要内容总结 概要 基于距离的向量数据库检索在高维空间中嵌入查询#xff0c;并根据“距离”查找相似的嵌入文档。 但是#xff0c;如果查询措辞发生细微变化#xff0c;或者嵌入不能很好地捕获数据的语义#xff0c;检索可能会产生不同的结果。有时… MultiQueryRetriever 概要内容总结 概要 基于距离的向量数据库检索在高维空间中嵌入查询并根据“距离”查找相似的嵌入文档。 但是如果查询措辞发生细微变化或者嵌入不能很好地捕获数据的语义检索可能会产生不同的结果。有时需要进行及时的工程/调整来手动解决这些问题但这可能很乏味。 MultiQueryRetriever 通过使用 LLM 从不同角度为给定的用户输入查询生成多个查询从而自动执行提示调整过程。对于每个查询它都会检索一组相关文档并采用所有查询之间的唯一并集来获取更大的一组潜在相关文档。通过对同一问题生成多个视角MultiQueryRetriever 或许能够克服基于距离的检索的一些限制并获得更丰富的结果集。 小节下同一个问题生成多个角度的问题。 内容 # 构建示例向量数据库 from langchain.vectorstores import Chroma from langchain.document_loaders import WebBaseLoader from langchain.embeddings.openai import OpenAIEmbeddings from langchain.text_splitter import RecursiveCharacterTextSplitter# 加载博客文章 loader WebBaseLoader(https://lilianweng.github.io/posts/2023-06-23-agent/) data loader.load()# 拆分 text_splitter RecursiveCharacterTextSplitter(chunk_size500, chunk_overlap0) splits text_splitter.split_documents(data)# 向量数据库 embedding OpenAIEmbeddings() vectordb Chroma.from_documents(documentssplits, embeddingembedding)简单使用 指定用于查询生成的 LLM检索器将完成其余的工作。 from langchain.chat_models import ChatOpenAI from langchain.retrievers.multi_query import MultiQueryRetriever # 问题 question What are the approaches to Task Decomposition? # 创建大模型用于生成内容 llm ChatOpenAI(temperature0) retriever_from_llm MultiQueryRetriever.from_llm(retrievervectordb.as_retriever(), llmllm ) # 设置查询的日志记录 import logginglogging.basicConfig() logging.getLogger(langchain.retrievers.multi_query).setLevel(logging.INFO) # 开始检索 unique_docs retriever_from_llm.get_relevant_documents(queryquestion) # 获取生成内容的文档长度 len(unique_docs)结果 INFO:langchain.retrievers.multi_query:Generated queries: [1. How can Task Decomposition be approached?, 2. What are the different methods for Task Decomposition?, 3. What are the various approaches to decomposing tasks?]您还可以提供提示和输出解析器以将结果拆分为查询列表。 from typing import List from langchain import LLMChain from pydantic import BaseModel, Field from langchain.prompts import PromptTemplate from langchain.output_parsers import PydanticOutputParser# 输出解析器会将 LLM 结果拆分为查询列表 class LineList(BaseModel):# “lines”是解析输出的键属性名称lines: List[str] Field(descriptionLines of text)class LineListOutputParser(PydanticOutputParser):def __init__(self) - None:super().__init__(pydantic_objectLineList)def parse(self, text: str) - LineList:lines text.strip().split(\n)return LineList(lineslines)output_parser LineListOutputParser()QUERY_PROMPT PromptTemplate(input_variables[question],template你是一名AI语言模型助手。你的任务是生成五个 给定用户问题的不同版本用于从向量中检索相关文档 数据库。通过对用户问题产生多种观点您的目标是帮助 用户克服了基于距离的相似性搜索的一些限制。 提供这些替代问题并用换行符分隔。Original question: {question}, ) llm ChatOpenAI(temperature0)# Chain llm_chain LLMChain(llmllm, promptQUERY_PROMPT, output_parseroutput_parser)# Other inputs question 任务分解的方法有哪些? # 执行 retriever MultiQueryRetriever(retrievervectordb.as_retriever(), llm_chainllm_chain, parser_keylines ) # “lines”是解析输出的键属性名称# 结果 unique_docs retriever.get_relevant_documents(query课程中关于回归的内容是怎样的? ) # 文档数量 len(unique_docs)结果 INFO:langchain.retrievers.multi_query:Generated queries: [1. 该课程对回归的看法是什么?, 2. 您能否提供课程中讨论的有关回归的信息?, 3. 课程如何涵盖回归主题?, 4. 该课程关于回归的教学内容是什么?, 5. 关于课程提到了回归?]11总结 现在的搜索其实是基于向量库的检索本质上是距离的检索。而我们搜索的措辞的微妙变化会产生不同的结果这需要我们手动调整这个工作枯燥乏味。 MultiQueryRetriever可以基于你给出的问题生成多个相关问题。通过生成多角度问题来自动调整这种微妙的措施变化。 MultiQueryRetriever的使用步骤 加载文档loader WebBaseLoader(https://lilianweng.github.io/posts/2023-06-23-agent/) data loader.load()初始化拆分器text_splitter RecursiveCharacterTextSplitter(chunk_size500, chunk_overlap0) splits text_splitter.split_documents(data)构建嵌入embedding OpenAIEmbeddings()构建向量存储库vectordb Chroma.from_documents(documentssplits, embeddingembedding)指定llmllm ChatOpenAI(temperature0)得到MultiQueryRetrieverretriever_from_llm MultiQueryRetriever.from_llm( retrievervectordb.as_retriever(), llmllm )得到多角度问题unique_docs retriever_from_llm.get_relevant_documents(queryquestion) len(unique_docs) 参考地址 https://python.langchain.com/docs/modules/data_connection/retrievers/how_to/MultiQueryRetriever
http://www.yutouwan.com/news/480790/

相关文章:

  • 网站更换备案吗带有互动的网站开发
  • 网站轮播图片特效怎么做福彩网站
  • 温州市建设工程管理网站抖音短视频seo优化
  • 网站建设需求文档模版关于申请网站建设的请示
  • 衡阳做网站比较好的设计网站
  • 大连响应式网站wordpress主题出售
  • 乐清网站优化wordpress设置账号
  • 济南行知做网站福州网站建设教程视频
  • 呼和浩特网站优化公司装饰设计收费标准2020
  • 建设网站图爱建站吧
  • 硬件开发平台站内关键词排名优化软件
  • 网站建设销售经理职责做的好的区块链网站
  • h5case什么网站开发公司质量管理制度体系的情况说明
  • 个人网站不备案可以吗大连微网站开发
  • 用哪个网站做首页好邢台信息港聊天室
  • 残疾人无障碍网站建设厦门seo优
  • 学编程需要英语基础吗网站做优化
  • 网站排名软件多浏览器各大行业网站
  • 发帖网站有哪些包装设计招聘
  • 可信网站标志joomla! 1.5 网站建设基础教程
  • 做网站应该注意什么网站购物商城功能模块图
  • 深圳亿天联网站建设微信文章怎么wordpress
  • 网站建立多少钱wordpress文章标签只调用一个
  • 深圳鸿天顺网站建设win8风格门户网站
  • 能在线做国二计算机题目的网站老哥们给个uc能看的2021
  • 17做网站广州沙河网站怎么做后台
  • 创业谷网站建设方案谷歌广告投放步骤
  • 做网站属于什么备案cms程序
  • 娄底哪里做网站动漫制作
  • 昆明网站制作企业上海公司注册官网