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

铜仁北京网站建设wordpress发布文章空白

铜仁北京网站建设,wordpress发布文章空白,网站建设费做什么会计科目,桂林市网站建设公司5. 查询构建 — Ragatouille 用户用自然语言提出问题并被路由到特定数据源#xff08;例如#xff0c;向量存储、图形数据库等#xff09;后#xff0c;该问题需要被转换为结构化查询#xff0c;以便从选定的数据源检索信息#xff08;例如#xff0c;文本到SQL、文本到…5. 查询构建 — Ragatouille 用户用自然语言提出问题并被路由到特定数据源例如向量存储、图形数据库等后该问题需要被转换为结构化查询以便从选定的数据源检索信息例如文本到SQL、文本到Cypher等。在本节中我们将看到如何使用Langchain将自然语言问题转换为结构化查询。 # 导入环境变量扩展 %load_ext dotenv %dotenv secrets/secrets.env# 导入所需的库 from langchain_community.document_loaders import YoutubeLoader from langchain_core.prompts import ChatPromptTemplate from langchain_openai import ChatOpenAI from langchain_core.runnables import RunnablePassthrough在本节中我们将看到如何使用自然语言问题构建一个查询以便根据它们的元数据过滤记录。为此我们考虑一个用例即根据视频的元数据过滤YouTube播放列表。首先我们来了解一下在YouTube视频中可以找到哪些元数据。 # 从YouTube URL加载文档 docs YoutubeLoader.from_youtube_url(https://www.youtube.com/watch?vsVcwVQRHIc8, add_video_infoTrue ).load()# 打印第一个文档的元数据 docs[0].metadata输出示例 {source: sVcwVQRHIc8,title: Learn RAG From Scratch – Python AI Tutorial from a LangChain Engineer,description: Unknown,view_count: 147737,thumbnail_url: https://i.ytimg.com/vi/sVcwVQRHIc8/hq720.jpg,publish_date: 2024-04-17 00:00:00,length: 9191,author: freeCodeCamp.org }现在假设我们要基于title、content、view_count、publish_date和length过滤播放列表。因此一旦我们向LLM提出问题它应该返回一个包含上述字段的对象这些字段用于从播放列表/数据库中选择视频。为此我们定义了一个Pydantic模型类似于我们在“路由”部分构建的模型。 # 定义TutorialSearch Pydantic模型 import datetime from typing import Optional from langchain_core.pydantic_v1 import BaseModel, Fieldclass TutorialSearch(BaseModel):在关于LLMs和Langchain的视频数据库/播放列表中进行搜索。content_search: str Field(..., description应用于视频文字的相似性搜索查询。)title_search: str Field(..., description应用于视频标题的内容搜索查询的替代版本。)min_view_count: Optional[int] Field(None, description视图计数的最小值过滤器。)max_view_count: Optional[int] Field(None, description视图计数的最大值过滤器。)earliest_publish_date: Optional[datetime.date] Field(None, description最早的发布日期过滤器。)latest_publish_date: Optional[datetime.date] Field(None, description最晚的发布日期过滤器。)min_length_sec: Optional[int] Field(None, description视频的最小长度秒。)max_length_sec: Optional[int] Field(None, description视频的最大长度秒。)def pretty_print(self) - None:# 打印非空字段for field in self.__fields__:if getattr(self, field) is not None and getattr(self, field) ! getattr(self.__fields__[field], default, None):print(f{field}: {getattr(self, field)})接下来我们构建一个链该链接受用户问题和提示将其提供给LLMLLM根据定义的Pydantic模型提供答案并返回答案。 # 定义元数据提示模板 meta_data_prompt ChatPromptTemplate.from_messages([(system, 你是转换用户问题为数据库查询的专家。),(user, {question}) ])# 初始化GPT-4模型 llm ChatOpenAI(modelgpt-4, temperature0) # 使用with_structured_output()方法初始化结构化输出 structured_llm llm.with_structured_output(TutorialSearch)# 创建元数据链 meta_data_chain ({question: RunnablePassthrough()}| meta_data_prompt| structured_llm )# 调用元数据链并打印结果 query meta_data_chain.invoke(Build RAG using Langchain videos published before January 2024 with at least 1000 views.) query.pretty_print()输出示例 content_search: Building RAG using Langchain title_search: RAG Langchain min_view_count: 1000 latest_publish_date: 2024-01-01这可以用来过滤数据库的记录如本文所示。我们将在最后一部分使用文本到Cypher查询构建以从图形数据库获取信息。 总结 本文介绍了如何使用Langchain将用户用自然语言提出的问题转换为结构化查询以便从特定数据源检索信息。通过定义Pydantic模型和构建链我们可以将用户问题转化为数据库查询从而优化检索最相关结果的过程。
http://www.dnsts.com.cn/news/98719.html

相关文章:

  • 北京建设工程造价管理协会网站网站链接维护怎么做
  • 怎么样给公司做网站成都注册公司代理公司
  • 法律咨询网站开发微信建网站服务
  • 类似淘宝网站建设费用上海建设工程有限公司
  • 手机网站导航菜单办公室装修费用会计分录
  • 石河子市建设局网站哪几个网站做acm题目比较好
  • 如何查询网站的备案信息设计师常上的网站
  • 网站建设得花多少钱网站群建设公司排行榜
  • 网站软文得特点北京网站备案号
  • 去国外做非法网站吗微信代码生成器
  • 西宁网站建设的企业企业网站基本信息早教
  • 网站描述怎么修改吗衡水做网站公司
  • 南京网站制作公司有哪些商城网站建设是 什么
  • 外链查询网站国贸网站建设
  • 如何查看网站开发商域名访问网站在哪里找
  • 参考网是合法网站吗?济南做网站哪好
  • 做网站开发最多能做几年科技袁人袁岚峰
  • 隆尧网站制作网站开发英文术语
  • 可以做问卷赚钱的网站阿里云服务器学生机
  • 网站开发的论文怎么写浙江网站建设而
  • 保护环境做网站素材保定 网站建设软件开发
  • 郑州 高端网站建设给网站网站做推广犯法
  • 濮阳建站公司哪个好企业电子网站的建设案例分析
  • 旅游网站设计代码html静态网站什么样
  • 网站正在建设中视频怎样可以快速增加网站的反链
  • 网站备案中查询广州建立网站的公司网站
  • 商城网站建设可以吗中山网页建站模板
  • 福州网上商城网站建设深圳策划公司网站
  • 临沂网站建设吧微信小程序购物平台
  • 找个免费的网站it培训机构排名