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

展馆设计网站推荐网络服务提供商有哪些

展馆设计网站推荐,网络服务提供商有哪些,长沙模板建网站需要多久,多多在线免费观看电视剧如何通过语言模型查询 Notion 文档#xff1f;LangChain 和 Milvus 缺一不可。 在整个过程中#xff0c;我们会将 LangChain 作为框架#xff0c;Milvus 作为相似性搜索引擎#xff0c;用二者搭建一个基本的检索增强生成#xff08;RAG#xff09;应用。在之前的文章中LangChain 和 Milvus 缺一不可。 在整个过程中我们会将 LangChain 作为框架Milvus 作为相似性搜索引擎用二者搭建一个基本的检索增强生成RAG应用。在之前的文章中我们已经介绍过 LangChain 中的“自查询”Self-querying。本质上LangChain 中的自查询功能就是构建一个基本的 RAG 架构如图所示 在 LangChain 中处理 Notion 文档共包含三个步骤获取、存储和查询文档。获取是指获取 Notion 文档并将内容加载到内存中。存储步骤包括启动向量数据库Milvus、将文档转化为向量、将文档向量存储至向量数据库中。查询部分包括针对 Notion 文档进行提问。本文将带大家一一拆解这三个步骤代码请参考 colab notebook。 01.获取 Notion 文档 用 LangChain 的 NotionDirectoryLoader将文档加载到内存中。我们提供文档的路径并调用load 函数来获取 Notion 文档。加载完毕后可以得到 Notion 文档的 Markdown 文件。本例中我们以一个 Markdown 文件示意。 接下来用 LangChain 的 markdown 标题文本分割器。我们向其提供一个分割符列表然后传入之前命名的 md_file 来获取分割内容。在实际定义headers_to_split_on列表时请使用自己 Notion 文档的标题。 # Load Notion page as a markdownfile filefrom langchain.document_loaders import NotionDirectoryLoaderpath./notion_docsloader  NotionDirectoryLoader(path)docs  loader.load()md_filedocs[0].page_content# Lets create groups based on the section headers in our pagefrom langchain.text_splitter import MarkdownHeaderTextSplitterheaders_to_split_on  [    (##, Section),]markdown_splitter  MarkdownHeaderTextSplitter(headers_to_split_onheaders_to_split_on)md_header_splits  markdown_splitter.split_text(md_file) 分割任务并检查分割结果。用 LangChain 的 RecursiveCharacterTextSplitter使用一些不同的字符来进行分割。四个默认的检查字符是换行符、双换行符、空格或无空格。也可以选择传入自己的 separators 参数。 将 Notion文档进行分块时我们还需要定义两个关键超参数——分块大小chunk size和分块重叠chunk overlap。本例中分块大小为 64重叠为 8。随后我们就可以调用 split_documents 函数将所有文档进行分割。 # Define our text splitterfrom langchain.text_splitter import RecursiveCharacterTextSplitterchunk_size  64chunk_overlap  8text_splitter  RecursiveCharacterTextSplitter(chunk_sizechunk_size, chunk_overlapchunk_overlap)all_splits  text_splitter.split_documents(md_header_splits)all_splits 下图展示了部分分割的 document 对象其中包含了页面内容和元数据。元数据显示了内容是从哪个章节中提取出来的。 02.存储 Notion 文档 所有文档加载和分割完毕后就需要存储这些文档块。首先在 notebook 中直接运行向量数据库 Milvus Lite随后导入所需的 LangChain 模块——Milvus 和 OpenAI Embeddings。 用 LangChain 的 Milvus 模块为文档块创建 Collection。这个步骤中我们需要传入的参数包括文档列表、使用的 Embedding 模型、连接参数、以及 Collection 名称可选。 from milvus import default_serverdefault_server.start()from langchain.vectorstores import Milvusfrom langchain.embeddings import OpenAIEmbeddingsvectordb  Milvus.from_documents(documentsall_splits,    embeddingOpenAIEmbeddings(),    connection_args{host: 127.0.0.1, port: default_server.listen_port},    collection_nameEngineeringNotionDoc) 03.查询 Notion 文档 现在可以开始查询文档了。开始前我们需要从 LangChain 中再导入三个模块 OpenAI用于访问GPT。 SelfQueryRetriever用于搭建基本的 RAG 应用。 Attribute info用于传入元数据的。 首先我们定义元数据。随后需要给自查询检索器提供文档的描述。本例中描述即为“文档的主要部分”。在我们实例化自查询检索器前现将 GPT 的温度Temperature设置为 0并赋值给一个名为 llm 的变量。有了 LLM、向量数据库、文档描述和元数据字段后我们就完成了自查询检索器定义。 from langchain.llms import OpenAIfrom langchain.retrievers.self_query.base import SelfQueryRetrieverfrom langchain.chains.query_constructor.base import AttributeInfometadata_fields_info  [    AttributeInfo(        nameSection,        descriptionPart of the document that the text comes from,        typestring or list[string]    ),]document_content_description  Major sections of the documentllm  OpenAI(temperature0)retriever  SelfQueryRetriever.from_llm(llm, vectordb, document_content_description, metadata_fields_info, verboseTrue)retriever.get_relevant_documents(What makes a distinguished engineer?) 以下例子中我们提出了一个问题“一名优秀工程师有哪些品质”What makes a distinguished engineer? 响应如下图所示。我们获得了与提问在语义上最相似的文档片段。但不难发现其回答也仅仅只是语义上相似并非完全正确。 本教程介绍了如何加载并解析 Notion 文档并搭建一个基本的 RAG 应用查询 Notion 文档。我们使用到了 LangChain 作为框架Milvus 作为向量数据库用于相似性搜索。如果想要进行深入的探索建议大家调整分块大小和重叠等参数检查不同的参数值是如何影响查询结果的。 所谓分块Chunking是构建检索增强型生成RAG应用程序中最具挑战性的问题。具体的介绍和操作可参考《在 LangChain 尝试了 N 种可能后我发现了分块的奥义》 本文由 mdnice 多平台发布
http://www.huolong8.cn/news/264877/

相关文章:

  • 工信部网站备案被删除wordpress好用插件
  • 做网站用什么开发好厦门网站seo哪家好
  • 网站上传百度多久收录嵌入式软件开发技术
  • wordpress统计插件下载泉州seo培训班
  • 青年旅行社网站建设规划书wordpress二维码插件
  • 上海自助建站系统坡头手机网站建设公司
  • dede模板网站教程北京推广网站
  • 如何理解电子商务网站建设与管理织梦做的网站如何上线
  • 云服务器wordpresswordpress 优化数据
  • 群站优化之链轮模式教育类网站如何做
  • 网站建设广告平台推广免费网站建设平台哪个好
  • 建设网站五个步骤成都软件开发外包
  • 做实验教学视频的网站微网站建设价格
  • 浙江省建设厅网站证件哪有做网站公司
  • 北京时间网站建设网站登录怎么退出
  • wordpress建站插件安全汉口网站制作
  • 官方网站建设哪家公司好网站群建设技术规范
  • 苏州建设招聘信息网站宣传软文模板
  • 创意经济型网站建设友链大全
  • 东莞网站优化公免签支付接入wordpress
  • 网站建设的总体设计思想新余百度网站建设
  • 丽江手机网站建设截止今天全世界新冠病人多少
  • 上海企业网站模板建站wordpress文章图片怎么居中
  • wordpress插件图片无法加载网站开发seo要求
  • 备案号注销了 新网站怎么备案上海科技网站设计建设
  • 如何运用网站模板装修公司网页设计模板
  • 如何在图片上做网站水印图类似源码之家的网站
  • 优秀购物网站成都网络优化网站建设
  • wordpress xml大于2m宁波seo哪家好推广
  • 宿州网站建设网站珠海公众号开发