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

使用阿里云百炼embeddings+langchain+Milvus实现简单RAG

使用阿里云百炼embeddings+langchain+Milvus实现简单RAG

注意测试时,替换其中的key、文档等

import os
from langchain_community.embeddings import DashScopeEmbeddings
from langchain_community.vectorstores import Milvus
from langchain_text_splitters import RecursiveCharacterTextSplitter
from langchain_community.document_loaders import TextLoader# 2. 初始化阿里云百炼 Embedding-v2 模型,默认1536维度,不可更改
embeddings = DashScopeEmbeddings(model="text-embedding-v2",  # 使用百炼的embedding v2模型dashscope_api_key=os.getenv("OPENAI_API_KEY")
)# 3. 加载和分割文本
loader = TextLoader("idea快捷键.md",encoding='utf-8')  # 替换为你的文本文件路径
documents = loader.load()text_splitter = RecursiveCharacterTextSplitter(chunk_size=200,  # 每个chunk的字符数chunk_overlap=50  # chunk之间的重叠字符数
)
docs = text_splitter.split_documents(documents)# 4. 连接到 Milvus 并存储向量
vector_db = Milvus.from_documents(documents=docs,embedding=embeddings,connection_args={"host": "192.168.80.152",  # Milvus服务器地址"port": "19530"       # Milvus端口},collection_name="example_collection",  # 集合名称drop_old=True  # 如果集合已存在则删除重建
)# 5. 使用示例 - 相似性搜索
query = "查看指定的类结构图"
similar_docs = vector_db.similarity_search(query, k=3)  # 搜索最相似的3个文档print("相似文档搜索结果:")
for i, doc in enumerate(similar_docs):print(f"\n结果 {i+1}:")print(doc.page_content)print(f"元数据: {doc.metadata}")

http://www.dtcms.com/a/234866.html

相关文章:

  • Editing Language Model-based Knowledge Graph Embeddings
  • 蓝牙技术栈BR/EDR和LE详解
  • ES数据聚合
  • NHY3274TH替代传感器比较推荐光宝【LTR-381RGB-01】替代方案
  • VMware Workstation 与 Hyper-V 不兼容。请先从系统中移除 Hyper-V 角色,然后再运
  • 每日Prompt:云朵猫
  • 使用VSCode开发Django指南
  • 关于如何使用VScode编译下载keil工程的步骤演示
  • C++单例模式教学指南
  • PostgreSQL 的扩展pg_freespacemap
  • 《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
  • 使用vsftpd搭建FTP服务器(TLS/SSL显式加密)
  • 基于端到端深度学习模型的语音控制人机交互系统
  • Tailwind CSS 实战:基于 Kooboo 构建 AI 对话框页面(八):异步处理逻辑详解
  • 计算机视觉与深度学习 | 基于MATLAB的相机标定
  • 【递归、搜索与回溯】综合练习(四)
  • 每次clone都会有:Enter passphrase for key ‘/Users/xxx/.ssh/id_rsa‘:
  • 如何使用k8s安装redis呢
  • Amazon Bedrock 助力 SolveX.AI 构建智能解题 Agent,打造头部教育科技应用
  • 【Dify 知识库 API】“根据文本更新文档” 真的是差异更新吗?一文讲透真实机制!
  • 校招 java 面试基础题目及解析
  • docker数据管理
  • 设置vue-quill-editor编辑器不可编辑
  • 6.6本日总结
  • 智能手表健康监测系统的PSRAM存储芯片CSS6404LS-LI—高带宽、耐高温、微尺寸的三重突破
  • 升级脚本说明
  • 防爆型断链保护器的应用场景有哪些?
  • Dynamics 365 Business Central Direct Banking Extention D365 BC ERP 银行接口扩展
  • 使用 Mechanical 脚本获取联合反作用力和力矩
  • 第3章——SSM整合