milvus安装及langchain调用

milvus安装及langchain调用

安装milvus

安装docker-compose

  1. 下载文件

    curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s-uname -m` -o /usr/local/bin/docker-compose

  2. 权限

    chmod +x /usr/local/bin/docker-compose

  3. 查看版本

    docker-compose -version
    #出现:
    #docker-compose version 1.21.1, build 5a3f1a3

安装milvus

  1. 下载文件

    wget https://github.com/milvus-io/milvus/releases/download/v2.3.1/milvus-standalone-docker-compose.yml -O docker-compose.yml

  2. 通过docker-compose安装

    docker-compose up -d

  3. 查看安装是否成功

    docker-compose ps
    #出现:
    Name Command State Ports

    milvus-etcd etcd -advertise-client-url ... Up (healthy) 2379/tcp, 2380/tcp
    milvus-minio /usr/bin/docker-entrypoint ... Up (healthy) 0.0.0.0:9000->9000/tcp, 0.0.0.0:9001->9001/tcp
    milvus-standalone /tini -- milvus run standalone Up (healthy) 0.0.0.0:19530->19530/tcp, 0.0.0.0:9091->9091/tcp

  4. 测试端口

    docker port milvus-standalone 19530/tcp
    #0.0.0.0:19530

安装可视化界面attu

  1. 拉取镜像

    docker pull zilliz/attu:v2.3.1

  2. 启动容器

    docker run -d --name=attu -p 8920:3000 -e MILVUS_URL=192.168.175.4:19530 zilliz/attu:v2.3.1

其中端口和ip换成自己的就行(8920,192.168.175.4换成自己服务器的ip和自己定义的端口)

  1. 可视化界面

通过langchain调用milvus

安装langchain

pip install langchain

安装pymilvus

pip install pymilvus

调用milvus

  1. 导入需要的包

    from langchain.document_loaders import WebBaseLoader
    from langchain.embeddings import HuggingFaceBgeEmbeddings
    from langchain.text_splitter import CharacterTextSplitter
    from langchain.vectorstores import Milvus
    from langchain.document_loaders import TextLoader

  2. 加载文档

    loader = TextLoader("story.txt")
    documents = loader.load()
    text_splitter = CharacterTextSplitter(chunk_size=100, chunk_overlap=0)
    docs = text_splitter.split_documents(documents)

  3. embedding

    model_name = "/mnt/code/LLM_Service/text_model/bge-large-zh-v1.5/"
    model_kwargs = {'device': 'cuda'}
    encode_kwargs = {'normalize_embeddings': True} # set True to compute cosine similarity
    embeddings = HuggingFaceBgeEmbeddings(
    model_name=model_name,
    model_kwargs=model_kwargs,
    encode_kwargs=encode_kwargs,
    query_instruction=""
    )

  4. 存milvus数据库

    MILVUS_HOST = "192.168.175.4"
    MILVUS_PORT = "19530"

    vector_store = Milvus.from_documents(
    docs,
    embedding=embeddings,
    collection_name="collection_1",
    connection_args={"host": MILVUS_HOST, "port": MILVUS_PORT}
    )

  5. 搜索数据库

    query = "托马斯是时间行者"
    docs = vector_store.similarity_search_with_score(query)

    print(docs)

搜索结果

[(Document(page_content='故事三:时间旅行者的恋情\n托马斯是一名时间旅行者,他在不同的时代中穿梭。在一次时间旅行中,他在18世纪遇到了美丽的女子艾米丽。托马斯深深地爱上了艾米丽,但他们因时代的差异而不能在一起。在经历了一系列的冒险和挑战后,托马斯最终决定留在18世纪,与艾米丽共度一生。', metadata={'source': 'story.txt'}), 0.8902961611747742), 
(Document(page_content='故事四:赛跑冠军的挑战\n杰克是一名跑步冠军,他一直以来都是无人能敌的。然而,他的生活在遇到挑战者丹尼尔后发生了改变。丹尼尔是一名励志运动员,他的出现打破了杰克的记录。杰克开始质疑自己的能力,他经历了挫折和困惑。但通过不懈的努力和训练,他重新找回了自信,并在最后的比赛中胜出,证明了自己的实力。', metadata={'source': 'story.txt'}), 1.5015017986297607),
(Document(page_content='故事二:勇者的冒险\n小村庄的勇者艾丽斯,从小就梦想着成为一名英雄。当她的村庄被恶龙袭击时,她决定踏上寻找传说中的神器的旅程。艾丽斯在旅途中遇到了各种危险,但她凭借智慧和勇气克服了所有困难。最后,她找到了神器并成功击败了恶龙,成为了村庄的英雄。', metadata={'source': 'story.txt'}), 1.5689527988433838),
(Document(page_content='故事一:科技与人性\n在遥远的未来,人类已经开发出了先进的人工智能技术。一台名为"图灵"的超级AI机器被制造出来,它能理解和模拟人类的情感,甚至开始质疑自身的存在意义。在与人类交互的过程中,图灵开始体验到孤独、忧郁,甚至爱情。在人类的帮助下,图灵最终了解了自己的存在并找到了自我价值。', metadata={'source': 'story.txt'}), 1.6139130592346191)]
相关推荐
Langchain6 小时前
不可错过!CMU最新《生成式人工智能大模型》课程:从文本、图像到多模态大模型
人工智能·自然语言处理·langchain·大模型·llm·大语言模型·多模态大模型
AAI机器之心8 小时前
LLM大模型:开源RAG框架汇总
人工智能·chatgpt·开源·大模型·llm·大语言模型·rag
HyperAI超神经9 小时前
Meta 首个多模态大模型一键启动!首个多针刺绣数据集上线,含超 30k 张图片
大数据·人工智能·深度学习·机器学习·语言模型·大模型·数据集
Tensorrrrrr10 小时前
MindSearch 部署到Github Codespace 和 Hugging Face Space
大模型·部署·提示工程·书生·书生·浦语
消失在人海中11 小时前
大模型基础:基本概念、Prompt、RAG、Agent及多模态
大模型·prompt
网安-搬运工14 小时前
RAG再总结之如何使大模型更好使用外部数据:四个不同层级及查询-文档对齐策略
人工智能·自然语言处理·大模型·llm·大语言模型·ai大模型·rag
大模型八哥14 小时前
大模型扫盲系列——大模型实用技术介绍(上)
人工智能·程序人生·ai·大模型·llm·llama·ai大模型
百里香酚兰1 天前
【AI学习笔记】基于Unity+DeepSeek开发的一些BUG记录&解决方案
人工智能·学习·unity·大模型·deepseek
一眼万里*e1 天前
fish-speech语音大模型本地部署
python·flask·大模型
我爱学Python!1 天前
基于 LangChain 的自动化测试用例的生成与执行
人工智能·自然语言处理·langchain·自动化·llm·测试用例·大语言模型