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

如何制作建筑公司网站成都调查事务所

如何制作建筑公司网站,成都调查事务所,个人 网站建设,北京p2p网站建设检索增强生成#xff08;Retrieval-Augmented Generation, RAG#xff09;是一种结合了检索机制和生成模型的先进技术#xff0c;旨在提高自然语言处理系统的准确性和上下文相关性。本文将详细介绍如何从零开始构建一个RAG系统#xff0c;包括数据处理、检索、生成以及部署… 检索增强生成Retrieval-Augmented Generation, RAG是一种结合了检索机制和生成模型的先进技术旨在提高自然语言处理系统的准确性和上下文相关性。本文将详细介绍如何从零开始构建一个RAG系统包括数据处理、检索、生成以及部署等各个环节。 RAG系统的核心组件 一个完整的RAG系统通常由以下几个核心组件构成 索引管道负责数据的摄取和预处理创建向量嵌入并将其存储在快速访问的向量数据库中。检索管道根据用户的查询从已索引的数据库中检索最相关的信息使用检索策略和重排序方法来优化结果。生成管道将检索到的数据与用户的查询结合生成准确、相关且连贯的响应。 构建RAG系统的步骤  1. 数据摄取与预处理 在构建RAG系统之前需要准备好用于训练和检索的数据。这通常包括以下步骤 数据收集选择合适的数据源例如文档库、API或数据库以确保信息的相关性和时效性。数据清洗去除冗余信息处理缺失值并确保数据格式一致以便后续处理。文本分块将长文本分割成较小的块以便于后续的嵌入和检索。 2. 向量嵌入生成 向量嵌入是RAG系统的基础它将文本数据转换为数值表示使得计算机能够理解其语义。可以使用以下方法生成嵌入 选择嵌入模型使用如BERT、SentenceTransformers等预训练模型来生成文本嵌入。根据应用场景可以对模型进行微调以提高特定领域的准确性。存储向量将生成的向量存储在高性能向量数据库中如Pinecone或Weaviate以支持快速相似性搜索。 3. 检索过程 在用户提交查询后RAG系统会执行以下步骤 查询预处理对用户输入进行清洗和标准化例如去除停用词、词形还原等以提高检索效果。生成查询嵌入将预处理后的查询转换为向量表示以便与数据库中的文档进行比较。执行检索利用向量数据库执行相似性搜索从中获取与用户查询最相关的文档片段。 4. 上下文整合与生成响应 一旦获得相关文档RAG系统将执行以下操作 上下文整合将检索到的信息与用户查询结合形成一个丰富的上下文提示这一步骤对于生成准确响应至关重要。调用生成模型使用大模型如GPT系列来生成最终响应。此时模型会依据整合后的信息生成更加准确且上下文相关的答案。 常用RAG工具 Haystack Haystack是一个强大的开源框架支持多种文档存储方案如Elasticsearch、FAISS等并与多种语言模型无缝集成。LangChain LangChain提供了一个灵活的框架允许开发者快速构建和管理链式应用程序适合用于RAG系统的构建。RAGFlow RAGFlow是一个用户友好的框架专注于简化RAG应用程序的开发过程适合初学者和有经验的开发者。 使用LangChain构建RAG演示 from langchain import hub from langchain_community.document_loaders import WebBaseLoader from langchain_community.vectorstores import Chroma from langchain_openai import ChatOpenAI# 加载文档并创建向量存储 loader WebBaseLoader(https://example.com) documents loader.load() vectorstore Chroma.from_documents(documents)# 创建检索器 retriever vectorstore.as_retriever(search_typesimilarity, search_kwargs{k: 5})# 创建生成模型 llm ChatOpenAI(model_namegpt-3.5-turbo, temperature0)# 定义RAG链 def format_docs(docs):return \n\n.join(doc.page_content for doc in docs)rag_chain ({context: retriever | format_docs, question: What is the role of Microsoft?}| llm ) response rag_chain.invoke(What does Microsoft do?) print(response)构建一个简单的问答系统 pip install langchain openai 创建知识库 创建一个简单的知识库包含一些常见问题及其对应答案。可以使用Python字典来存储这些信息 knowledge_base {What is LangChain?: LangChain is an open-source framework for developing applications powered by large language models.,What is the capital of France?: The capital of France is Paris.,Who is the CEO of OpenAI?: As of 2023, Sam Altman is the CEO of OpenAI. }创建提示模板 接下来我们创建一个提示模板用于格式化用户输入并生成查询 from langchain import PromptTemplatetemplate Answer the following question based on the knowledge base: {question} prompt PromptTemplate(templatetemplate, input_variables[question])创建大型模型实例 import os from langchain.llms import OpenAIos.environ[OPENAI_API_KEY] ******* # 替换为自己的API密钥 llm OpenAI(model_namegpt-3.5-turbo)创建问答链 创建一个问答链将提示和语言模型结合起来 from langchain.chains import LLMChain# 创建问答链 qa_chain LLMChain(llmllm, promptprompt)实现查询功能 def answer_question(question):# 检查知识库中是否有答案if question in knowledge_base:answer knowledge_base[question]else:answer Im sorry, I dont know the answer to that question.# 使用LLM生成回答result qa_chain.run(question)return result测试 if __name__ __main__:user_question input(Please ask a question: )response answer_question(user_question)print(response)
http://www.dnsts.com.cn/news/206017.html

相关文章:

  • 域名网站免费建站宁波做网站优化的公司
  • 电影网站源码程序网站专题页面
  • 求做外宣图网站单页面网站入侵
  • 网页设计和网站建设是同一回事吗企业做产品网站费用大概是多少
  • 网站做好了怎么做后台管理sae wordpress 主题 下载
  • 做网站需要买wordpress使用jquery
  • 做的网站怎么样才能再网上看到电子商务经营范围有哪些?
  • 企业网站建设排名官网企业管理系统大全免费
  • 网站建设 康盛设计html代码大全很全的
  • 东莞seo网站排名优化公司空壳网站数据
  • 艺术学校示范校建设专题网站广州安全信息教育平台
  • 龙华区住房和建设局网站是哪个视频网站信息资源建设
  • c 企业网站开发wordpress失败
  • 浙江短视频seo优化网站wordpress分类信息 模板
  • 做内贸现在一般都通过哪些网站wordpress实体图
  • win7 iis配置本地网站企业信息公开网站
  • 运动网站建设主题大型网站技术架构演进与性能优化
  • 换友情链接的网站wordpress 虾米音乐插件
  • 南漳网站制作梧州论坛藤县论坛
  • 建一个网站的手机电脑购物网站制作实例
  • 重点实验室网站建设平邑网站开发
  • 律师行业网站建设wap网站在线生成
  • 启东网站建设公司网站建设哪家go
  • 做网站没有必须要ftp吗最近中国新闻事件
  • 2017做哪些网站能致富贵州省建设局网站
  • 英文网站建设的请示怎么写厦门建筑信息网
  • 济南网站建设公司送400做酒水网站有哪些
  • 建设项目竣工验收公告网站电子商务类网站设计
  • 精仿手表网站重庆妇科医院免费咨询
  • 东阳市建设规划局网站管理是什么