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

包头天亿网站建设公司如何建立一个网站平台

包头天亿网站建设公司,如何建立一个网站平台,站长统计 网站统计,建立企业网站价格简述 检索增强生成(Retrieval Augmented Generation),简称 RAG,已经成为当前最火热的LLM应用方案。 RAG(中文为检索增强生成) 检索技术 LLM 提示。例如,我们向 LLM 提问一个问题&#xff08…

简述

检索增强生成(Retrieval Augmented Generation),简称 RAG,已经成为当前最火热的LLM应用方案。

RAG(中文为检索增强生成) = 检索技术 + LLM 提示。例如,我们向 LLM 提问一个问题(answer),RAG 从各种数据源检索相关的信息,并将检索到的信息和问题(answer)注入到 LLM 提示中,LLM 最后给出答案。

完整的RAG应用流程主要包含两个阶段:

  • 数据准备阶段:数据提取——>文本分割——>向量化(embedding)——>数据入库
  • 应用阶段:用户提问——>数据检索(召回)——>注入Prompt——>LLM生成答案

下面我们详细介绍一下各环节的技术细节和注意事项:

数据准备阶段

数据准备一般是一个离线的过程,主要是将私域数据向量化后构建索引并存入数据库的过程。主要包括:数据提取、文本分割、向量化、数据入库等环节。

code

from langchain.text_splitter import RecursiveCharacterTextSplitter                                                                                                                      
from langchain_community.document_loaders import WebBaseLoader
from langchain_chroma import Chroma
from langchain_ollama import OllamaEmbeddings
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_ollama import ChatOllama# 数据提取
loader = WebBaseLoader("https://lilianweng.github.io/posts/2023-06-23-agent/")
data = loader.load()# 文本分割
text_splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=0)
all_splits = text_splitter.split_documents(data)
#print(all_splits)#向量化(embedding)
local_embeddings = OllamaEmbeddings(model="nomic-embed-text")
vectorstore = Chroma.from_documents(documents=all_splits, embedding=local_embeddings)

应用阶段

在应用阶段,我们根据用户的提问,通过高效的检索方法,召回与提问最相关的知识,并融入Prompt;大模型参考当前提问和相关知识,生成相应的答案。关键环节包括:数据检索、注入Prompt等。

code

prompt = ChatPromptTemplate.from_template("Summarize the main themes in these retrieved docs: {docs}"
)llm = ChatOllama(model="qwen2:7b",# model="llama3.1:8b",# model="ollama.com/wangshenzhi/llama3.1_8b_chinese_chat:latest",# model="EntropyYue/chatglm3:6b",# temperature=0.4,temperature=0.2,verbose=True)def format_docs(docs):return "\n\n".join(doc.page_content for doc in docs)chain = {"docs": format_docs} | prompt | llm | StrOutputParser()question = "What are the approaches to Task Decomposition?"# 数据检索
docs = vectorstore.similarity_search(question)# 注入Prompt
response = chain.invoke(docs)print(response)                   

参考文章

一文读懂:大模型RAG(检索增强生成)_rag大模型-CSDN博客

http://www.dtcms.com/wzjs/803826.html

相关文章:

  • 国内商城网站建设大学生兼职网站策划书
  • php户外运动产品企业网站源码做网站分什么软件
  • 电子商务网站建设 试卷河南网站域名备案
  • 网站建设优化服务咨询浙江网络安全学院
  • 好玩的游戏平台网站如何优化
  • 网站二级目录怎么做wordpress rewrite插件
  • 电商网站经营性备案wordpress 编辑器全屏
  • 旅行社网站 模板推广公司网站有哪些方式
  • 如何建设百度网站中国企业排名前十
  • 艺梵科技 网站建设中小企业网站建设报告
  • 曲靖手机网站建设费用陕西交通建设有限公司网站
  • 定制网站建设案例课堂网络推广与seo的区别在哪里
  • 用html5做手机网站广州网站建设公司怎么选
  • 关于seo的行业岗位有哪些商品标题seo是什么意思
  • 常州微元宝网站建设公司邮箱后缀正确的是以下
  • 480元做网站网站制作评价
  • 电子商务网站建设考题与答案wordpress数据库表
  • 企业网站的推广方法网站做程序员
  • 网站优化排名北京工商登记服务平台
  • 网站内的地图导航怎么做南京做网站外包
  • yellow片高清影视在线观看wordpress seo插件教程
  • 宝安附近公司做网站建设哪家效益快微信做明天展现网站要多少钱
  • 营销型网站建设细节五个网络营销方式
  • 微网站平台建设方案中国建设银行个人客户
  • 深做网站公司折800网站源码
  • 自己做网站 最好的软件下载中国网站建设调查分析
  • 济南网站假设推广网站平台建设工作汇报
  • 购物网站主页设计图怎么样引流顾客到店方法
  • 乐清官方网站图片网站该如何做seo优化
  • 如何自己开发网站创建网站花钱吗