当前位置: 首页 > 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.dtcms.com/a/190997.html

相关文章:

  • 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
  • C#强类型枚举的入门理解
  • C++【STL】(2)string
  • 4级流程控制
  • 复现:DemoGen 用于数据高效视觉运动策略学习的 合成演示生成 (RSS) 2025
  • Docker 常见问题及其解决方案
  • nginx报错-[emerg] getpwnam(“nginx“) failed in /etc/nginx/nginx.conf:2
  • FastAPI + OpenAI 模型 的 GitHub 项目结构模板
  • 未来软件开发趋势与挑战
  • Python+Selenium爬虫:豆瓣登录反反爬策略解析
  • C#调用C++dll 过程记录