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

使用阿里云百炼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.lryc.cn/news/2404783.html

相关文章:

  • C#合并CAN ASC文件:实现与优化
  • [TIP] Ubuntu 22.04 配置多个版本的 GCC 环境
  • 如何思考?分析篇
  • Redis:Hash数据类型
  • 抗辐照MCU在卫星载荷电机控制器中的实践探索
  • 快捷键的记录
  • Python读取阿里法拍网的html+解决登录cookie
  • electron-vite串口通信
  • 中山大学美团港科大提出首个音频驱动多人对话视频生成MultiTalk,输入一个音频和提示,即可生成对应唇部、音频交互视频。
  • Maven的配置与运行
  • MySQL 迁移至 Docker ,删除本地 mysql
  • redis分片集群架构
  • 关于物联网的基础知识(一)
  • 浏览器后台服务 vs 在线教育:QPS、并发模型与架构剖析
  • 电脑商城--用户注册登录
  • Riverpod与GetX的优缺点对比
  • Three.js怎么工作的?
  • LangChain面试内容整理-知识点1:LangChain架构与核心理念
  • 双面沉金线路板制作流程解析:高可靠性PCB的核心工艺
  • 什么是梯度磁场
  • 从零开始的python学习(七)P102+P103+P104+P105+P106+P107
  • Linux--进程的调度
  • Hadolint:Dockerfile 语法检查与最佳实践验证的终极工具
  • Python爬虫实战:研究Hyper 相关技术
  • 基于langchain的简单RAG的实现
  • VmWare Ubuntu22.04 搭建DPDK 20.11.1
  • selenium-自动更新谷歌浏览器驱动
  • 34、协程
  • Apache POI操作Excel详解
  • Docker容器部署elasticsearch8.*与Kibana8.*版本使用filebeat采集日志