当前位置: 首页 > 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。如您有任何任何问题,我会尽我所能为您提供帮助。

相关文章:

  • CSS 锚点滑动效果的技术
  • 【C/C++】高阶用法_笔记
  • Tensorflow2保存和加载模型
  • 【Redis】缓存穿透、缓存雪崩、缓存击穿
  • Java 异常处理之 BufferUnderflowException(BufferUnderflowException 概述、常见发生场景、避免策略)
  • C 语言学习笔记(8)
  • 因果推断 | 用SHAP分值等价因果效应值进行反事实推理
  • 【Linux】掌握 setsid:让进程脱离终端独立运行
  • 东芝新四款产品“TB67Z830SFTG、TB67Z830HFTG、TB67Z850SFTG、TB67Z850HFTG系列三相栅极驱动器ic三相栅极驱动器IC
  • 软件测试--入门
  • 【Linux】Ext系列文件系统
  • 鸿蒙-5.1.0-release构建编译环境
  • Oracle中的select1条、几条、指定范围的语句
  • 每日算法-250514
  • 【golang】网络数据包捕获库 gopacket
  • 嵌入式系统中WAV音频文件格式详解与处理实践
  • 【CustomPagination:基于Vue 3与Element Plus的高效二次封装分页器】
  • Lightpanda开源浏览器:专为 AI 和自动化而设计的无界面浏览器
  • 安卓基础(Bitmap)
  • scons user 3.1.2
  • 日月谭天丨这轮中美关税会谈让台湾社会看清了什么?
  • 加拿大新政府宣誓就职
  • 特朗普开启第二任期首次外访:中东行主打做生意,不去以色列
  • 人民日报访巴西总统卢拉:“巴中关系正处于历史最好时期”
  • 郑州通报涉“健康证”办理有关问题查处进展情况
  • 人民网评:守护健康证的“健康”,才有舌尖上的安全