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

网站建设安全吗东莞营销网站建设推广

网站建设安全吗,东莞营销网站建设推广,手机网站左右滑动效果,室内设计公司创业计划书导读:在当今大数据和人工智能快速发展的背景下,向量数据库的搜索技术正成为技术人员必须掌握的核心技能。本文将深入探讨LangChain框架与Milvus向量数据库的整合实践,重点对比分析相似度搜索与最大边际相关性(MMR)搜索…

导读:在当今大数据和人工智能快速发展的背景下,向量数据库的搜索技术正成为技术人员必须掌握的核心技能。本文将深入探讨LangChain框架与Milvus向量数据库的整合实践,重点对比分析相似度搜索与最大边际相关性(MMR)搜索两种核心技术的实际应用效果。

文章通过构建包含重复记录的真实测试环境,系统验证了MMR算法在处理数据冗余时的独特优势。您将了解到为什么传统相似度搜索在面对重复数据时会产生结果集中化问题,以及MMR搜索如何通过平衡相关性与多样性来解决这一痛点。特别值得关注的是,文章详细解析了lambda_mult参数对搜索结果多样性的影响机制,这一技术细节往往决定了实际项目中搜索系统的用户体验质量。

概述

本文将详细介绍如何使用LangChain框架整合向量数据库Milvus,并实现两种核心搜索技术的对比实战:相似度搜索与最大边际相关性(MMR)搜索。

本文继上一篇文章进一步讲述:LangChain整合Milvus向量数据库实战:数据新增与删除操作-CSDN博客

项目需求分析

核心目标

  • 实现LangChain与向量数据库Milvus的深度整合
  • 对比测试相似度搜索与MMR搜索的实际效果
  • 验证不同搜索算法在处理重复数据时的表现差异

技术要点

通过构建包含重复记录的测试数据集,我们将重点观察向量数据库在不同搜索策略下的去重处理能力,为MMR算法的多样性优势提供实证验证。

环境配置与依赖导入

首先完成必要的依赖库导入和开发环境配置:

from langchain_community.embeddings import DashScopeEmbeddings
from langchain_milvus import Milvus
from langchain_core.documents import Document

嵌入模型初始化

配置文本嵌入模型,选用DashScope提供的第二代通用嵌入模型:

embeddings = DashScopeEmbeddings(model="text-embedding-v2",  # 第二代通用文本嵌入模型max_retries=3,dashscope_api_key="sk-xxxxxxxxxxxxxxxxxxxxxxxx"
)

测试数据集构建

为了有效测试MMR算法的多样性搜索能力,我们构建一个包含技术博客文章信息的文档集合。特别注意,通过多次执行数据插入操作,我们将在向量数据库中创建重复记录,以验证不同搜索算法的去重表现:

# 构建测试文档集合
document_1 = Document(page_content="MMR搜索和LangChain整合Milvus实战",metadata={"source": "humaonan.blog.csdn.net/article/details/148318637"},
)document_2 = Document(page_content="Milvus向量Search查询综合案例实战(下)",metadata={"source": "humaonan.blog.csdn.net/article/details/148292710"},
)document_3 = Document(page_content="Milvus向量Search查询综合案例实战(上)",metadata={"source": "humaonan.blog.csdn.net/article/details/148267037"},
)document_4 = Document(page_content="嵌入大模型与LLM技术全面解析与实战指南",metadata={"source": "humaonan.blog.csdn.net/article/details/148198246"},
)documents = [document_1, document_2, document_3, document_4]

向量存储初始化

建立Milvus向量数据库连接并完成文档集合的向量化存储:

vector_store = Milvus.from_documents(documents=documents,embedding=embeddings,collection_name="mmr_test",connection_args={"uri": "http://192.168.19.152:19530"}
)

相似性搜索实现

基础相似性搜索

执行标准的向量相似性搜索,观察当数据库包含重复记录时的返回结果:

# 执行相似性搜索
query = "Milvus如何进行向量Search查询?"
results = vector_store.similarity_search(query, k=2)for doc in results:print(f"内容: {doc.page_content}\n元数据: {doc.metadata}\n")

元数据过滤搜索

结合元数据条件进行混合搜索,实现更精确的检索控制:

# 混合搜索:结合元数据过滤条件
results = vector_store.similarity_search(query,k=2,expr='source == "xdclass.net/doc1"'
)
print(results)

MMR搜索实现

最大边际相关性搜索通过平衡相关性与多样性,能够在包含重复数据的环境中提供更加多元化的搜索结果:

# MMR搜索:优化结果多样性
diverse_results = vector_store.max_marginal_relevance_search(query="如何进行数据集成",k=2,                    # 返回结果数量fetch_k=10,             # 初始候选集大小lambda_mult=0.4,        # 多样性权重参数search_params={"metric_type": "IP",         # 内积相似度度量"params": {"nprobe": 32}     # 搜索精度参数}
)
print(diverse_results)

技术要点说明

MMR算法优势

MMR搜索算法通过引入多样性约束,能够在保证搜索相关性的同时避免结果过度集中,特别适用于处理包含重复或高度相似内容的数据集。

参数调优指导

  • lambda_mult参数控制相关性与多样性的平衡,取值范围为0到1
  • fetch_k参数决定初始候选集的规模,影响最终结果的多样性潜力
  • 搜索参数中的nprobe值影响搜索精度与性能的权衡
http://www.dtcms.com/wzjs/213925.html

相关文章:

  • 做网站应该学什么专业搜狗网站收录提交入口
  • 网站建设竞价托管外包做网站需要什么技术
  • 网站改版合同可以免费做网站推广的平台
  • 网站开发工单网站建设小程序开发
  • 网站服务器是注册域名平台吗站群seo
  • 艾米艾园wordpress商丘seo公司
  • 网站制作网站建设网络营销方法有哪几种
  • 时时彩怎么做网站上海百度公司地址
  • 郑州手机网站制作公司哪家好网站开发步骤
  • 网站建设交互效果seo精准培训课程
  • 电子商务网站建设 大纲巨量引擎广告投放平台代理
  • 南阳网站seo顾问投诉百度最有效的电话
  • 遵义做网站的网络公司十大基本营销方式
  • 个人怎么做贷款网站免费推广软件哪个好
  • 宝鸡做网站市场怎么样友情链接检测工具
  • 女性健康网站源码百度seo sem
  • 商旅通官网app家庭优化大师下载
  • 青岛中企动力做网站怎么样百度注册公司地址
  • 网站规划怎么写百度开户公司
  • 西安有那些做网站的公司好关键词优化快速排名
  • 做网站用java好还是c做网络优化哪家公司比较好
  • Wordpress去除文章发布日期seo什么意思简单来说
  • 外贸网站建设系统怎样推广自己的产品
  • web美食网站设计与开发seo关键字优化
  • 郑州汉狮做网站费用seo是哪里
  • 实力网站建设网站分析报告范文
  • 做书评的网站网站建设技术托管
  • 怎么测试网站怎么自己创建一个网站
  • 网站做授权登录界面专业网络推广公司
  • 哪个网站做售楼推广好广告投放代理商加盟