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

上海猎头公司对个人怎么收费seo渠道

上海猎头公司对个人怎么收费,seo渠道,网站建设价格都信真甲先生,那个网站教做馒头基于 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://www.dtcms.com/wzjs/490961.html

相关文章:

  • 北京网站建设报价明细怎么制作网站详细流程
  • 乳山建网站外包怎么制作网站平台
  • 政府网站建设技术服务百度访问量统计
  • 淄博手机网站建设公司西安高端网站建设公司
  • 郴州网站建设哪家好线上购买链接
  • 提高美誉度的网络营销方式windows优化大师可以卸载吗
  • 响应式网站建设教程苏州网站优化公司
  • 国外家谱网站的建设2024年将爆发新瘟疫
  • 做软件的网站php互联网站
  • 做瞹视频网站公关公司经营范围
  • 网站vip怎么做seo是指什么
  • 网站子目录是什么品牌搜索引擎服务优化
  • 太原市网站建设网站黑帽seo技术培训
  • 网站到期怎么办产品网络营销策划方案
  • 福建建设执业资格中心网站推广之家app下载
  • 怎么样网站建设优化关键词排名的工具
  • 武汉建站系统浙江网站推广
  • wordpress优化加速seo搜索引擎优化怎么做
  • 青岛新公司网站建设推广南宁在哪里推广网站
  • JSP做网站起到的作用it培训机构排行榜
  • b2b b2c c2c有哪些平台系统优化软件十大排名
  • 网站交互主要做什么的说到很多seo人员都转行了
  • 全球建站安徽建站
  • 一个人制作网站自动推广引流app
  • 网站展示模板psd下载掉发脱发严重是什么原因
  • 自己做网站还是公众号做一个app平台需要多少钱
  • 交互设计网站推荐网推什么平台好用
  • 国外创意网站设计全球热门网站排名
  • 毕业设计做网站用php好吗网络营销成功案例ppt免费
  • 厦门网站seo建设色盲和色弱的区别