LangChain-结合魔塔社区modelscope的embeddings实现搜索

article/2025/7/3 16:33:35

首先要安装modelscope

pip install modelscope

安装完成后测试

from langchain_community.embeddings import ModelScopeEmbeddingsembeddings = ModelScopeEmbeddings(model_id="iic/nlp_gte_sentence-embedding_chinese-base")text = "这是一个测试句子"
query_result = embeddings.embed_query(text)
print(f"嵌入向量长度: {len(query_result)}")

运行后,会自动下载,最后输出:

以下使用 智谱AI大模型 + modelscope + LangChain 实现搜索功能

from langchain_community.embeddings import  ModelScopeEmbeddings
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnableLambda, RunnablePassthrough
from langchain_community.vectorstores import Chroma
from langchain_core.documents import Document# 实例化自定义语言模型
from langchain_openai import ChatOpenAIllm = ChatOpenAI(temperature=1,model='glm-4-plus',openai_api_key='*****',openai_api_base="https://open.bigmodel.cn/api/paas/v4/"
)documents = [Document(page_content='狗是伟大的伴侣,以其忠诚和友好而闻名。',metadata={'source': '哺乳动物宠物文档'},),Document(page_content='猫是独立的宠物,通常喜欢自己的空间。',metadata={'source': '哺乳动物宠物文档'},),Document(page_content='金鱼是初学者的流行宠物,需要比较简单的护理。',metadata={'source': '鱼类宠物文档'},),Document(page_content='鹦鹉是聪明的鸟类,能模仿人数的语言。',metadata={'source': '鸟类动物宠物文档'},),Document(page_content='白兔是社交动物,需要足够的跳跃空间。',metadata={'source': '哺乳动物宠物文档'},),
]embeddings = ModelScopeEmbeddings(model_id="iic/nlp_gte_sentence-embedding_chinese-base")# 实例化向量数据库
vector_store = Chroma.from_documents(documents, embedding=embeddings)# 相似度的查询:返回相似的分数,分数越低相似度越高
# print(vector_store.similarity_search_with_score('咖啡猫'))# 检索器:bind(k=1) 返回相似度最高的第一个
retriever = RunnableLambda(vector_store.similarity_search).bind(k=1)
# print(retriever.batch(['咖啡猫', '鲨鱼']))# 提示模板
message = """
使用提供的上下文仅回答这个问题。
{question}
上下文:{context}
"""prompt_temp = ChatPromptTemplate.from_messages([('human', message)
])# RunnablePassthrough 允许我们将用户的问题之后再传递给 prompt 和 model
chain = {'question': RunnablePassthrough(), 'context': retriever} | prompt_temp | llm
resp = chain.invoke('请介绍一个猫?')
print(resp.content)

以上代码:

1.先定义要使用的AI大模型 

2.定义documents,这里可以自己使用本地的文档内容

3.然后使用modelscope的embeddings实例化向量数据库

4.创建检索器,取向量返回的相似度最高的第一个值

5.定义一个用户提示词模板,用于上下文中问题的回答

6.构建一个chain,调用链invoke

运行之后的结果:


http://www.hkcw.cn/article/jylYIgJhxy.shtml

相关文章

千库/六图素材下载工具

—————【下 载 地 址】——————— 【​本章下载一】:https://pan.xunlei.com/s/VORW9TbxC9Lmz8gCynFrgdBzA1?pwdxiut# 【​本章下载二】:https://pan.quark.cn/s/829e2a4085d3 【百款黑科技】:https://ucnygalh6wle.feishu.cn/wiki/…

老板发百万让员工带薪收麦子 暖心福利获赞

5月23日,河南长垣的河南省矿山起重机有限公司内举行了一场特别的“三夏”生产动员暨表彰大会。公司董事长崔培军在会上宣布了一项暖心措施:他现场拿出360万元现金,每位员工都收到了700元现金、一袋小米和4箱啤酒作为“三夏”福利。崔培军表示,正值“三夏”大忙季节,考虑到…

加沙的孩子没有儿童节 战火中的无辜伤亡

5月27日,联合国儿童基金会称,自2023年10月本轮巴以冲突爆发以来,加沙已有超过5万名儿童伤亡,当地被形容为人间地狱。英国外交官卡里乌基表示,加沙已成为世界上儿童生存最危险的地方。据半岛电视台报道,平均每45分钟就有一名孩子死去。战前,加沙人口约230万,其中一半是1…

何为新消费时代的“情绪价值逻辑” 品牌业绩与股价双开花

胖东来、泡泡玛特、老铺黄金等品牌不仅在社交媒体上频繁出现,还实现了业绩与股价的双重增长。这种现象背后是情绪消费时代的崛起。国金证券最新研究报告指出,随着中国居民人均可支配收入的提升,消费需求正从功能性向情感性转移,情绪价值消费成为消费行业的重要趋势。预计到…

当越来越多明星签下那则道德条款 娱乐圈的道德锁链

明星道德条款起源于百年前的美国派拉蒙电影公司。当时,一位与派拉蒙签约的艺人涉嫌谋杀强奸被逮捕,尽管最终被判无罪,但项目因此受到抵制,派拉蒙从此在艺人合同中加入了道德条款。近年来,在中国影视行业中,道德条款也逐渐成为明星和剧组工作人员必须遵守的准则。它禁止的…

Grace被断眉唱哭了 断眉袭榜成功

5月30日晚,《歌手2025》第三期播出,共有8名歌手参加比赛。查理普斯作为首位袭榜歌手登场。排名如下: - 第一名:格瑞丝金斯勒 - 第二名:单依纯 - 第三名:米奇盖顿 - 第四名:GAI周延 - 第五名:陈楚生 - 第六名:马嘉祺 - 第七名:白举纲根据规则,若袭榜歌手获胜,本场竞…

俄代表遭死亡威胁?克宫:骇人听闻 梅金斯基家人成目标

克里姆林宫发言人佩斯科夫表示,针对俄总统助理、俄乌谈判俄方代表团团长梅金斯基及其家人的死亡威胁如果得到证实,将是骇人听闻的。俄方已开始调查威胁来源。此前,俄电视节目主持人索洛维约夫称,梅金斯基收到了来自乌克兰方面的死亡威胁,其家人也成为目标。本月早些时候,…

1960元买2张演唱会票竟是铁窗泪 视野不良票引争议

近日,网友小鱼在京观看某明星演唱会时遇到视野被遮挡的问题,引发了公众对“视野不良票”的讨论。小鱼表示,她花了1960元购买了两张看台三层的票,但到了现场发现护栏遮住了大半个舞台。她立即向工作人员反映情况并提出换座要求,但被告知没有空位。无奈之下,小鱼录下了座位…

王毅会见尼泊尔外长阿祖 共襄国际调解盛举

2025年5月30日下午,中共中央政治局委员、外交部长王毅在香港会见了出席国际调解院公约签署仪式的尼泊尔外长阿祖。王毅表示,当天上午80多个国家和近20个国际组织派出高级别代表齐聚香港,共同见证这一重要时刻。这表明通过调解消弭争端是各方共同心愿,符合发展中国家利益,顺…

全球直径最大“深坑车库”来了 地下19层智能停车新体验

上海迎来首个垂直地下车库,直径23.02米,堪称全球之最。它坐落于地下19层,深度达50米,比知名的“深坑酒店”还要深入3层。尽管占地仅286平方米,却能提供超过300个地下车位,高效利用空间。预计建成后,单车存取时间将缩短至仅90秒,同时配备APP预约车位和机器人代泊车等智能…

老人住3600万豪宅拾荒 邻居被逼卖房 邻居忍无可忍

今天上午,黄浦区西藏南路“中海建国里”小区的多位业主向平台求助。他们反映楼内一户独居老人在家中和公共电梯间堆放大量垃圾,导致整栋楼弥漫着难以散去的腥臭味。记者查询发现,该小区均价约23万元,这位老人居住的房子面积为157平米,总价超过3600万元。根据业主提供的照片…

华为OD机试真题——会议接待 /代表团坐车(2025A卷:200分)Java/python/JavaScript/C++/C语言/GO六种最佳实现

2025 A卷 200分 题型 本文涵盖详细的问题分析、解题思路、代码实现、代码详解、测试用例以及综合分析; 并提供Java、python、JavaScript、C++、C语言、GO六种语言的最佳实现方式! 本文收录于专栏:《2025华为OD真题目录+全流程解析/备考攻略/经验分享》 华为OD机试真题《会议…

Windows电脑上好用的待办任务清单工具

在快节奏的现代生活中,无论是学习、工作还是日常事务管理,待办任务清单工具都成了我们不可或缺的帮手。它能帮我们清晰地规划任务,合理安排时间,提高效率。今天,就让我们来盘点一下Windows电脑上好用的待办任务清单工具…

AI时代的园区网变革:“极简”行至最深处,以太彩光恰自来

如果将不断演进的技术比作奔腾不息的大江大河,那么不同的技术路线就是奋力争先的支流,而最初的源头和最终的落脚点都是用户需求。 在备受关注的园区网领域,不同技术路线正演绎新版本的故事,而用户的“投票”无疑将决定谁能笑到最后。 不容回避的是,传统园区网面临诸多挑战,用户…

MiniMax V-Triune让强化学习(RL)既擅长推理也精通视觉感知

MiniMax 近日在github上分享了技术研究成果——V-Triune,这次MiniMax V-Triune的发布既是AI视觉技术也是应用工程上的一次“突围”,让强化学习(RL)既擅长推理也精通视觉感知,其实缓解了传统视觉RL“鱼和熊掌不可兼得”…

ETL脚本节点使用的方式

随着大数据时代的到来,企业对数据处理的需求日益增长,ETL 作为数据整合的关键技术,逐渐走进我们的视野。本文将为您揭秘 ETL 脚本节点的使用方式,助您轻松驾驭数据处理新境界。 一、ETL脚本的优势 1.提高效率:ETL 脚…

[定昌linux开发板]启用用户唯一性限制

默认系统内没找到 /etc/chkuid_state文件, 如果没有那么就手动创建,并且设置参数 # 1. 创建文件(需root权限) sudo touch /etc/chkuid_state# 2. 写入配置启用UID唯一性检查 echo "stateon" | sudo tee /etc/chkuid_…

推荐3个优秀wordpress主题

工控配电企业WP模板 这款WordPress外贸模板专为工业自动化控制行业设计,适用于工业机器人、低压配电等领域的外贸公司。模板采用简洁实用的设计风格,支持自定义设置,包括产品展示、询价功能、下拉菜单、高级幻灯片动画展示等,确保…

图解深度学习 - 基于梯度的优化(梯度下降)

在模型优化过程中,我们曾尝试通过手动调整单个标量系数来观察其对损失值的影响。具体来说,当初始系数为0.3时,损失值为0.5。随后,我们尝试增加系数至0.35,发现损失值上升至0.6;相反,当系数减小至…

保险行业数字化应用解决方案

数字化转型面临的挑战 新一代信息技术与保险业务的深度融合成为促进创新、提升效率、优化体验的强大引擎。但保险行业业务场景多样化,数据类型复杂,传统的信息化建设模式难以匹配快速变化的市场需求。保险公司亟需引入开放灵活的技术工具,加…