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

通过Ollama读取模型

通过Ollama读取模型

  • 前言
  • 一、查看本地Ollama上有哪些模型
  • 二、调用bge-m3模型
    • 1、调用模型
    • 2、使用bge-m3进行相似度比较
  • 三、调用大模型


前言

手动下载和加载大模型通常需要复杂的环境配置,而使用Ollama可以避免这一问题。本文将介绍如何调用Ollama上的模型。


一、查看本地Ollama上有哪些模型

ollama list

在这里插入图片描述

二、调用bge-m3模型

1、调用模型

import requests
def get_embedding(text, url="http://localhost:11434/api/embeddings", model="bge-m3"):"""获取指定文本的嵌入表示。参数:- text (str): 需要生成嵌入的文本。- url (str): 嵌入服务的API地址。- model (str): 使用的模型名称。返回:- dict: 包含嵌入结果的字典。"""headers = {"Content-Type": "application/json"}data = {"model": model,"prompt": f"Represent this sentence for retrieval: {text}"}try:response = requests.post(url, headers=headers, json=data)response.raise_for_status()  # 检查HTTP错误return response.json()['embedding']except requests.exceptions.RequestException as e:print(f"请求错误: {e}")except ValueError as e:print(f"JSON解析错误: {e}")# 示例调用
if __name__ == "__main__":result = get_embedding("什么是人工智能?")if result:print("返回的嵌入结果:")print(result)

2、使用bge-m3进行相似度比较

from bge_m3 import get_embedding
def cosine_similarity(a, b):"""计算两个向量的余弦相似度"""dot_product = sum(ai * bi for ai, bi in zip(a, b))magnitude_a = sum(ai ** 2 for ai in a) ** 0.5magnitude_b = sum(bi ** 2 for bi in b) ** 0.5return dot_product / (magnitude_a * magnitude_b)query = '小明父亲是谁'
document = ['小明的爸爸是小刚','小刚有个儿子叫小明','小明的姐姐是小红','小青的姐姐是许仙']
for doc in document:a = get_embedding(query)b = get_embedding(doc)print(cosine_similarity(a, b))

三、调用大模型

import ollama
response = ollama.chat(model='deepseek-r1:1.5b', messages=[{'role': 'user', 'content': '你是谁'}
])
print(response['message']['content'])
您好!我是由中国的深度求索(DeepSeek)公司开发的智能助手DeepSeek-R1。如您有任何任何问题,我会尽我所能为您提供帮助。
http://www.xdnf.cn/news/443089.html

相关文章:

  • attention_weights = torch.ones_like(prompt_embedding[:, :, 0]):切片操作获取第二维度,第三维度
  • 速查 Linux 常用指令 II
  • 初识C++:类和对象(上)
  • Nexus首次亮相迪拜 TOKEN2049:以“手机 + 钱包 + 公链 + RWA”生态系统引领未来区块链基建
  • C++GO语言微服务之Dockerfile docker-compose②
  • Screen Mirroring App:轻松实现手机与电视的无缝投屏
  • idea springboot 配置文件 中文显示
  • OpenHarmony平台驱动开发(十七),UART
  • DFS算法的学习
  • PyTorch深度神经网络(前馈、卷积神经网络)
  • JVM调优实战
  • 面试--HTML
  • OpenCV CUDA模块中逐元素操作------逻辑运算
  • 代码随想录算法训练营第四十天
  • ubuntu24.04上安装NVIDIA driver+CUDA+cuDNN+Anaconda+Pytorch
  • Webpack其他插件
  • Emacs 折腾日记(二十三)——进一步提升编辑效率
  • Docker 疑难杂症解决指南:从入门到进阶的全面剖析
  • 第五章 LVGL 字库使用
  • 【测试】BUG
  • 深度理解指针(2)
  • map格式可以接收返回 fastjson2格式的数据 而不需要显示的转换
  • 占位符读取标准输入缓冲区规则
  • WEB安全--Java安全--CC1利用链
  • 生成式人工智能认证(GAI认证)官网 - 全国统一认证中文服务平台上线
  • [python] python中的魔法方法和属性
  • 【Python 异常处理】
  • 【c语言内存函数】
  • Kuka AI音乐AI音乐开发「人声伴奏分离」 —— 「Kuka Api系列|中文咬字清晰|AI音乐API」第6篇
  • 梯度优化提示词:模型生成精准回答的秘密