微信扫码
添加专属顾问
我要投稿
01
02
03
04
05
服务名称 | 您可以自定义。 | |
模型来源 | 使用默认的开源公共模型。 | |
通常选择通义千问7B。例如,Qwen1.5-7b。 | ||
实例数 | 使用默认的1。 | |
按需选择GPU资源配置。例如,ml.gu7i.c16m30.1-gu30。 | ||
Milvus实例的内网地址。您可以在Milvus实例的实例详情页面查看。 | ||
Milvus实例的Proxy Port。您可以在Milvus实例的实例详情页面查看。 | ||
配置为root。 | ||
配置为数据库名称,例如default。创建Milvus实例时,系统会默认创建数据库default,您也可以手动创建新的数据库,具体操作,请参见管理Databases【https://help.aliyun.com/zh/milvus/user-guide/manage-databases】。 | ||
输入新的Collection名称或已存在的Collection名称。对于已存在的Collection,Collection结构应符合PAI-RAG要求,例如您可以填写之前通过EAS部署RAG服务时自动创建的Collection。 | ||
VPC | 创建阿里云Milvus实例选择时的VPC、交换机和安全组。您可以在Milvus实例的实例详情页面查看。 | |
交换机 | ||
安全组名称 | ||
pip3 install pymilvus langchain dashscope beautifulsoup4
vim milvusr-llm.py
from langchain_community.document_loaders import WebBaseLoaderfrom langchain.text_splitter import RecursiveCharacterTextSplitterfrom langchain.vectorstores.milvus import Milvusfrom langchain.schema.runnable import RunnablePassthroughfrom langchain.prompts import PromptTemplatefrom langchain_community.embeddings import DashScopeEmbeddingsfrom langchain_community.llms.pai_eas_endpoint import PaiEasEndpoint# 设置Milvus Collection名称。COLLECTION_NAME = 'doc_qa_db'# 设置向量维度。DIMENSION = 768loader = WebBaseLoader(['https://milvus.io/docs/overview.md','https://milvus.io/docs/release_notes.md','https://milvus.io/docs/architecture_overview.md','https://milvus.io/docs/four_layers.md','https://milvus.io/docs/main_components.md','https://milvus.io/docs/data_processing.md','https://milvus.io/docs/bitset.md','https://milvus.io/docs/boolean.md','https://milvus.io/docs/consistency.md','https://milvus.io/docs/coordinator_ha.md','https://milvus.io/docs/replica.md','https://milvus.io/docs/knowhere.md','https://milvus.io/docs/schema.md','https://milvus.io/docs/dynamic_schema.md','https://milvus.io/docs/json_data_type.md','https://milvus.io/docs/metric.md','https://milvus.io/docs/partition_key.md','https://milvus.io/docs/multi_tenancy.md','https://milvus.io/docs/timestamp.md','https://milvus.io/docs/users_and_roles.md','https://milvus.io/docs/index.md','https://milvus.io/docs/disk_index.md','https://milvus.io/docs/scalar_index.md','https://milvus.io/docs/performance_faq.md','https://milvus.io/docs/product_faq.md','https://milvus.io/docs/operational_faq.md','https://milvus.io/docs/troubleshooting.md',])docs = loader.load()text_splitter = RecursiveCharacterTextSplitter(chunk_size=1024, chunk_overlap=0)# 使用LangChain将输入文档安照chunk_size切分all_splits = text_splitter.split_documents(docs)# 设置embedding模型为DashScope(可以替换成自己模型)。embeddings = DashScopeEmbeddings(model="text-embedding-v2", dashscope_api_key="your_api_key")# 创建connection,host为阿里云Milvus的访问域名。connection_args = {"host": "c-xxxx.milvus.aliyuncs.com", "port": "19530", "user": "your_user", "password": "your_password"}# 创建Collectionvector_store = Milvus(embedding_function=embeddings,connection_args=connection_args,collection_name=COLLECTION_NAME,drop_old=True,).from_documents(all_splits,embedding=embeddings,collection_name=COLLECTION_NAME,connection_args=connection_args,)# 利用Milvus向量数据库进行相似性检索。query = "What are the main components of Milvus?"docs = vector_store.similarity_search(query)print(len(docs))# 声明LLM 模型为PAI EAS(可以替换成自己模型)。llm = PaiEasEndpoint(eas_service_url="your_pai_eas_url",eas_service_token="your_token",)# 将上述相似性检索的结果作为retriever,提出问题输入到LLM之后,获取检索增强之后的回答。retriever = vector_store.as_retriever()template = """Use the following pieces of context to answer the question at the end.If you don't know the answer, just say that you don't know, don't try to make up an answer.Use three sentences maximum and keep the answer as concise as possible.Always say "thanks for asking!" at the end of the answer.{context}Question: {question}Helpful Answer:"""rag_prompt = PromptTemplate.from_template(template)rag_chain = ({"context": retriever, "question": RunnablePassthrough()}| rag_prompt| llm)print(rag_chain.invoke("Explain IVF_FLAT in Milvus."))
设置Milvus Collection名称,您可以自定义。 | |
本文示例使用的Embedding模型(text-embedding-v2),您也可以替换成您实际使用的模型。有关Embedding的更多信息,请参见Embedding(https://help.aliyun.com/zh/model-studio/user-guide/embedding)。 | |
dashscope_api_key | 百炼的API-KEY。 |
| |
配置为步骤1中获取的服务访问地址。本文示例声明LLM模型为PAI(EAS),您也可以替换成您实际使用的模型。 | |
eas_service_token | 配置为步骤1中获取的服务Token。 |
python3 milvusr-llm.py
4IVF_FLAT is a type of index in Milvus that divides vector data into nlist cluster units and compares distances between the target input vector and the center of each cluster. It uses a smaller number of clusters than IVF_FLAT, which means it may have slightly higher query time but also requires less memory. The encoded data stored in each unit is consistent with the original data.
06
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-04-19
万字讲透Agent Harness的十二大模块
2026-04-08
同一个模型,换个Harness排名跳了25位:智能体基础设施完全解剖
2026-03-28
LangChain的DeepAgents子代理实战:复杂任务为什么一定要交给 SubAgent
2026-03-27
LangChain的DeepAgents工具体系全解析:MCP、Skills 与沙箱安全怎么配合
2026-03-26
实现一个基于LangChain 的 RAG 智能问答Agent实践
2026-03-26
都 2026 年了,为什么还有人分不清 LangChain 和 LangGraph?
2026-02-24
进阶指南:BrowserUse + AgentRun Sandbox 最佳实践
2026-02-11
LangGraph五真相
2026-01-29
2026-03-26
2026-02-10
2026-03-27
2026-02-04
2026-04-08
2026-02-24
2026-02-11
2026-04-19
2026-03-28
2026-03-26
2025-11-03
2025-10-29
2025-07-14
2025-07-13
2025-07-05
2025-06-26
2025-06-13