微信扫码
添加专属顾问
我要投稿
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+中大型企业
2025-10-31
Spring AI Alibaba/Dify/LangGraph/LangChain 一文讲清四大AI框架怎么选
2025-10-29
为什么我们选择 LangGraph 作为智能体系统的技术底座?
2025-10-27
Langchain 、 Manus 组了一个研讨会:Agent越智能,死得越快!
2025-10-23
LangChain V1.0 深度解析:手把手带你跑通全新智能体架构
2025-10-23
LangChain 与 LangGraph 双双发布 1.0:AI 智能体框架迎来里程碑时刻!
2025-10-19
AI 不再“乱跑”:LangChain × LangGraph 打造可控多阶段智能流程
2025-10-15
LangChain对话Manus创始人:顶级AI智能体上下文工程的“满分作业”首次公开
2025-10-09
Langchain回应OpenAI:为什么我们不做拖拉拽工作流
2025-09-13
2025-09-21
2025-10-19
2025-08-19
2025-08-17
2025-09-19
2025-09-12
2025-09-06
2025-08-03
2025-08-29
2025-10-29
2025-07-14
2025-07-13
2025-07-05
2025-06-26
2025-06-13
2025-05-21
2025-05-19