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

襄阳网站seo诊断上海最新新闻今天

襄阳网站seo诊断,上海最新新闻今天,《网页设计与网站建设》,wordpress的文件权限设置1. 什么是 RAG? 在许多大模型(LLM)应用场景中,我们需要使用特定的用户数据,而这些数据并未包含在模型的训练集中。检索增强生成(Retrieval Augmented Generation,RAG)是一种有效的解…

1. 什么是 RAG?

        在许多大模型(LLM)应用场景中,我们需要使用特定的用户数据,而这些数据并未包含在模型的训练集中。检索增强生成(Retrieval Augmented Generation,RAG)是一种有效的解决方案,它通过从外部数据源检索相关数据,并在生成回答时将其传递给 LLM,以提高回答的准确性和相关性。

        LangChain 提供了一整套用于构建 RAG 应用的模块,包括:

  • 文档加载(Document loaders):从 HTML、PDF、代码等多种格式的数据源加载文档。

  • 文档转换(Document transformers):将大文档拆分为更小的、相关的片段,以提升检索效果。

  • 文本嵌入模型(Text embedding models):将文本转换为向量,以便进行相似度搜索。

  • 向量存储(Vector stores):用于存储和检索嵌入向量的数据库。

  • 检索器(Retrievers):从存储的数据中获取最相关的信息。

2. 文档加载(Document Loaders)

        LangChain 提供了多种文档加载工具,例如 CSVLoader、PyPDFLoader 和 OnlinePDFLoader。

from langchain.document_loaders import PyPDFLoaderloader = PyPDFLoader("./docs/pdf/MachineLearning-Lecture01.pdf")
pages = loader.load_and_split()
print(len(pages))

3. 文档转换(Document Transformers)

        在检索过程中,将长文档拆分为较小的块有助于提高查询效率。

from langchain.text_splitter import RecursiveCharacterTextSplittertext_splitter = RecursiveCharacterTextSplitter(chunk_size=700, chunk_overlap=100
)
docs = text_splitter.split_documents(pages)
print(len(docs))

4. 文本嵌入(Text Embedding Models)

        文本嵌入用于将文本转换为向量,以便进行相似度计算。

from langchain.embeddings import HuggingFaceInstructEmbeddings
import torchembedding_model = HuggingFaceInstructEmbeddings(model_name='hkunlp/instructor-base',model_kwargs={'device': torch.device('cuda' if torch.cuda.is_available() else 'cpu')}
)

5. 向量存储(Vector Stores)

        我们可以使用 FAISS 进行向量存储和检索。

from langchain.vectorstores import FAISSvectordb = FAISS.from_documents(docs, embedding_model)
vectordb.save_local("./vectordb_path/ml-andrew-ng")

6. 检索器(Retrievers)

        检索器用于从存储的数据中提取最相关的片段。

retriever = vectordb.as_retriever(search_type="similarity")
query = "What is Linear Regression"
docs = retriever.get_relevant_documents(query)
print(docs)

7. 多查询检索(MultiQueryRetriever)

        LangChain 允许自动生成多个查询,以便获取更全面的检索结果。

from langchain.chat_models import ChatOpenAI
from langchain.retrievers.multi_query import MultiQueryRetrieverllm = ChatOpenAI(temperature=0)
retriever_from_llm = MultiQueryRetriever.from_llm(retriever=vectordb.as_retriever(), llm=llm
)
query = "What is the difference between Linear Regression and Logistic Regression?"
docs = retriever_from_llm.get_relevant_documents(query)
print(len(docs))

8. 向量存储缓存(Caching)

        缓存嵌入结果可以减少重复计算,提高检索效率。

from langchain.embeddings import CacheBackedEmbeddings
from langchain.storage import LocalFileStorefs = LocalFileStore("./cache/")
cached_embedder = CacheBackedEmbeddings.from_bytes_store(embedding_model, fs, namespace=embedding_model.model_name
)

9. 结论

        在本篇博文中,我们介绍了 RAG 在自然语言处理中的应用,涵盖了文档加载、文本嵌入、向量存储和检索等核心组件。使用 LangChain,可以轻松构建一个高效的检索增强生成系统,以提升 LLM 的回答质量。


📌 参考链接

  • LangChain 文档加载

  • LangChain 向量存储

如果你觉得这篇博文对你有帮助,请点赞、收藏、关注我,并且可以打赏支持我!

欢迎关注我的后续博文,我将分享更多关于人工智能、自然语言处理和计算机视觉的精彩内容。

谢谢大家的支持!

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

相关文章:

  • 网站设计 广西html代码示例
  • 服装设计公司有哪些首页排名优化公司
  • 网站建设 临沂跨境电商流程
  • 三峡建设管理有限公司网站青岛市住房城乡建设厅网站
  • 装饰网站建设公司网站代码模板免费
  • 软件开发招标网站做网站可以用什么主题
  • 国外主流网站开发技术微信电脑网站是什么原因
  • 岑溪网站搭建跨境电商平台
  • 淮安建设局网站网页设计美工培训
  • 用模板做的网站权重高吗seo搜索优化推广
  • 如何做好网站宣传上海网站建设-网建知识
  • win7 做服务器开网站公司企业官网建设
  • 域名被锁定网站打不开贵阳网站建设管理
  • 企业网站推广属于付费大兴区住房和城乡建设部网站
  • 什么做自己的网站定制设计的网站
  • 南昌做网站的公司哪个比较好的网页设计与制作配套素材
  • 黑龙江省农业网站建设情况logo设计网页
  • 网站建设需要什么人电商网站开发难点
  • 做家教去什么网站网页设计宣传海报素材
  • 网站建设那些公司比较好h5免费制作
  • 网站建设实施流程图北京建设教育协会
  • 一个企业官网多个营销型网站百度推广合作
  • 开通网站软件的会计科目怎么做怎样精准搜索关键词
  • 公司网站内容建设潍坊互联网推广
  • 网站二维码链接怎么做vs做网站登录界面
  • seo移动网站页面怎么做福安市代理做网站
  • 做网站的怎么跑业务wordpress中文旅游模板下载
  • 做百度推广去些网站加客户多用户旅游网站开发
  • 专门做网站推广的平台有什么网站可以做一起作业
  • 网站logo如何做清晰江门提供网站制作平台