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

通过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.lryc.cn/news/2378961.html

相关文章:

  • C#控制流
  • 永久免费,特殊版本!
  • Canva 推出自有应用生成器以与 Bolt 和 Lovable 竞争
  • Matrix-Game:键鼠实时控制、实时生成的游戏生成模型(论文代码详细解读)
  • MySQL 5.7在CentOS 7.9系统下的安装(下)——给MySQL设置密码
  • 机器学习笔记2
  • AgentCPM-GUI,清华联合面壁智能开源的端侧GUI智能体模型
  • Go语言实现链式调用
  • 重排序模型解读 mxbai-rerank-base-v2 强大的重排序模型
  • 期望是什么:(无数次的均值,结合概率)21/6=3.5
  • uniapp-vue3项目中引入高德地图的天气展示
  • 容器化-k8s-介绍及下载安装教程
  • lc42接雨水
  • 通义千问-langchain使用构建(三)
  • uniapp自动构建pages.json的vite插件
  • 系统漏洞扫描服务:维护网络安全的关键与服务原理?
  • nlf loss 学习笔记
  • 【Redis】零碎知识点(易忘 / 易错)总结回顾
  • 基于three.js 全景图片或视频开源库Photo Sphere Viewer
  • LangPDF: Empowering Your PDFs with Intelligent Language Processing
  • OpenVLA (2) 机器人环境和环境数据
  • 代码复现5——VLMaps
  • Ocean: Object-aware Anchor-free Tracking
  • 计算机网络(1)——概述
  • 刘家祎双剧收官见证蜕变,诠释多面人生
  • Axure制作可视化大屏动态滚动列表教程
  • MATLAB实现振幅调制(AM调制信号)
  • LLM-Based Agent综述及其框架学习(五)
  • 6.1.1图的基本概念
  • Linux面试题集合(6)