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

怎么制作网站表白潍坊360做网站怎么样

怎么制作网站表白,潍坊360做网站怎么样,discuz手机模板,下载 网站样板基于 LangChain 搭建简单 RAG 系统 参考其官方文档:https://python.langchain.com/v0.2/docs/tutorials/rag/ 演示如何快速搭建一套简单的 RAG 系统。 (1)安装与配置: 首先,安装 LangChain 框架及其依赖项。 # 安…

基于 LangChain 搭建简单 RAG 系统

参考其官方文档:https://python.langchain.com/v0.2/docs/tutorials/rag/

演示如何快速搭建一套简单的 RAG 系统。

(1)安装与配置

首先,安装 LangChain 框架及其依赖项。

# 安装LangChain框架及其依赖项
!pip install langchain langchain_community langchain_chroma

(2)数据准备与索引构建

接下来,准备数据并构建索引。

LangChain 的 DocumentLoaders 中提供了种类丰富的文档加载器,例如,我们可以使用 WebBaseLoader 从网页中加载内容并将其解析为文本。

from langchain_community.document_loaders import WebBaseLoader
# 使用WebBaseLoader加载网页内容:
loader = WebBaseLoader("https://example.com/page")
docs = loader.load()

加载完成后,由于加载的文档可能过长,不适合模型的上下文窗口,需要将文档分割成合适的大小。

LangChain 提供了 TextSplitter 组件来实现文档分割。

from langchain_text_splitters import RecursiveCharacterTextSplitter
# 使用TextSplitter将长文档分割成更小的块,其中chunk_size表示分割文档的长度,chunk_overlap表示分割文档间的重叠长度
text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200)
splits = text_splitter.split_documents(docs)

接下来需对分割后的文本块进行索引化,以便后续进行检索。

可以调用 Chroma 向量存储模块和 OpenAIEmbeddings 模型来存储和编码文档。

from langchain_chroma import Chroma
from langchain_openai import OpenAIEmbeddings
# 使用向量存储(如Chroma)和嵌入模型来编码和存储分割后的文档
vectorstore = Chroma.from_documents(documents=splits, embedding=OpenAIEmbeddings())

(3)RAG 系统构建:

构建好知识源后,接下来开始构建基础 RAG 系统。该系统包括检索器与生成器,具体工作流程如下:

  • 对于用户输入的问题,检索器首先搜索与该问题相关的文档,

  • 接着将检索到的文档与初始问题一起传递给生成器,即大语言模型,

  • 最后将模型生成的答案返回给用户。

首先进行检索器构建,这里可基于 VectorStoreRetriever 构建一个 Retriever 对象,利用向量相似性进行检索。

# 创建检索器
retriever = vectorstore.as_retriever()

接下来是生成器部分的构建,这里可使用 ChatOpenAI 系统模型作为生成器。

这一步,需设置 OpenAI 的 API 密钥,并指定要使用的具体模型型号。例如,我们可以选择使用 gpt-3.5-turbo-0125 模型。

import os
os.environ["OPENAI_API_KEY"] = 'xxx'
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-3.5-turbo-0125")

随后是输入 Prompt 的设置,LangChain 的 Prompt Hub 中提供了多种预设的 Prompt 模板,适用于不同的任务和场景。这里我们选择一个适用于 RAG 任务的 Prompt。

from langchain import hub
# 设置提示模板
prompt = hub.pull("rlm/rag-prompt")

最后我们需要整合检索与生成,这里可以使用LangChain表达式语言(LangChain Execution Language,LCEL)来方便快捷地构建一个链,将检索到的文档、构建的输入 Prompt 以及模型的输出组合起来。

from langchain_core.runnables import RunnablePassthrough
from langchain_openai import ChatOpenAI
from langchain_core.output_parsers import StrOutputParser# 使用LCEL构建RAG链
rag_chain = ({"context": retriever | format_docs, "question": RunnablePassthrough()}| prompt| llm| StrOutputParser()
)# 定义文档格式化函数
def format_docs(docs):return "\n\n".join(doc.page_content for doc in docs)# 使用RAG链回答问题
response = rag_chain.invoke("What is Task Decomposition?")
print(response)

通过以上步骤,我们可以方便快捷地使用 LangChain 迅速搭建一个基础 RAG 系统。LangChain 提供了一系列强大的工具和组件,使得构建和整合检索与生成过程变得简单而高效。


声明:资源可能存在第三方来源,若有侵权请联系删除!


文章转载自:

http://Rmeu1Z5g.zrbpx.cn
http://J6cXa9gg.zrbpx.cn
http://JOMyF67T.zrbpx.cn
http://jxNvd1YR.zrbpx.cn
http://eOieOshM.zrbpx.cn
http://9VkyinuS.zrbpx.cn
http://zyBINbV1.zrbpx.cn
http://xK6ILGE1.zrbpx.cn
http://TM1s9Crh.zrbpx.cn
http://KoUrFrAs.zrbpx.cn
http://pzAP1BEv.zrbpx.cn
http://ZhJUFn1m.zrbpx.cn
http://1t2AalPJ.zrbpx.cn
http://IjiP1huB.zrbpx.cn
http://nJkymAox.zrbpx.cn
http://6sryLfGU.zrbpx.cn
http://LeDa8XlI.zrbpx.cn
http://UawVgiiI.zrbpx.cn
http://4XU5Hmoj.zrbpx.cn
http://QPrGuuzm.zrbpx.cn
http://eN7a3pps.zrbpx.cn
http://tFer4JAK.zrbpx.cn
http://Yi6URG1k.zrbpx.cn
http://Tk8cWdaU.zrbpx.cn
http://M8iILRfn.zrbpx.cn
http://vL3o8i34.zrbpx.cn
http://feUhTxmC.zrbpx.cn
http://INZejy1n.zrbpx.cn
http://99ZVJGV8.zrbpx.cn
http://HYXAQZiq.zrbpx.cn
http://www.dtcms.com/wzjs/701176.html

相关文章:

  • 电子网站建设怎么做北京做网站公司哪家好
  • iis7 网站 目录寻找邯郸网站建设
  • 做网站外包公司名称大全开发公司网签房信息
  • 企业网站建设项目实践报告wordpress多用户模版
  • seo宣传网站仓山区城乡建设局网站
  • 网站暂时关闭 seowordpress不开放注册
  • 新注册公司网站怎么做手工制作大全 简单易学
  • 动漫网站建设方案项目书目录手机网站图片切换
  • 网站开发人月薪农业科技公司网站建设
  • 创业平台网站免费建网
  • 网站备案 办公室电话东莞网
  • 企业网站的建立步骤做网站的职责
  • seo关键词排名优化品牌做360网站优化排
  • 山东建站管理系统郑州建设网站推广公司
  • 如何查网站的服务器天津市精神文明建设网站
  • 北京网站建设公司飞沐墨西哥网站后缀
  • 做初中试卷的网站建筑网片报价公式
  • 龙华app网站开发电子商务网站推广的界定
  • Wordpress装好只能访问如何给网站做seo
  • 厦门软件网站建设北京机建网站
  • 济南网站建设哪个好蜂鸟 网站建设
  • 做网站显示上次登录时间代码建德网站seo
  • 模板网站有哪几类汕头潮南网站建设
  • 南昌网站建设好么模板网站建设全过程
  • 一条龙做网站肥城网站建设电话
  • 北京海淀建设支行有哪些成都建站优化
  • 成都公司网站设计哪家专业食品包装设计理念
  • 自媒体采集网站建设vs215开发python网站开发
  • 有没有在家做的手工活网站it外包公司简介
  • 电影网站开发源代码百度搜索电话