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

详解Ollama api (Windows环境)

Ollama可以像一个本地软件一样在Windows中运行。通常通过以下两种方法来使用Windows中的Ollama。

  • cmdpowershell中输入命令
  • 基于本地主机http://localhost:11434的Ollama API

关于Ollama的安装和命令行的使用方法可以参考我的另一篇博文。这篇博文主要介绍api的使用方法。

powershell中获取Ollama API

下面是从powershell中获取Ollama API的一个简单示例(在cmd中同样如此):

(Invoke-WebRequest -method POST -Body '{"model":"llama3.2", "prompt":"Why is the sky blue?", "stream": false}' -uri http://localhost:11434/api/generate ).Content | ConvertFrom-json
  • Invoke-WebRequest定义一个网络请求,包括以下参数:
    • -method 定义网络请求的方式,分为POSTGET两种,这里使用POST
    • -Body请求的主体,其内容为一个字典字符串,字典包含以下字段:
      • model模型名称
      • prompt提示词
      • stream是否为流式输出(后面会详细解释)
    • -uri主机地址,这里为http://localhost:11434/api/generate
  • .Content取网络请求结果中的Content内容
  • ConvertFrom-json将json格式的内容转换成文本格式

运行结果如下:
powershell中Ollama api的使用

Python中使用Ollama API

在Python中使用Ollama API与网络爬虫相似,只不过将网址和请求的表头换成了相应的Ollama参数而已。
以下代码参考了峰哥Python笔记中的代码

import requests
import json

url_generate = "http://localhost:11434/api/generate"

def get_response(url, data):
    response = requests.post(url, json = data)
    response_dict = json.loads(response.text)
    response_content = response_dict["response"]
    return response_content

data = {
        "model": "llama3.2",
        "prompt": "Why is the sky blue?",
        "stream": False}

res = get_response(url_generate, data)
print(res)

运行部分结果如下:
Python中调用Ollama API
同在powershell中调用Ollama API一样,重点是确定两个东西:

  • 主机地址:"http://localhost:11434/api/generate"
  • 请求主体:就是这里的data,其中包含的字段和powershell命令中的没什么差别。

只不过这里采用的是Python网络爬虫的方法,通过requests.post方式定义爬虫方式,然后json=data中定义请求主体。

总结

在Windows中调用Ollama API的基本思路其实就是网络爬虫,无论是在powershell中还是在Python中。

但是Ollama API的调用模式有很多种,基本上所有的Ollama模型操作都可以通过API来完成。具体可以参考Ollama的官方文档。


http://www.kler.cn/a/452697.html

相关文章:

  • 数据分析篇001
  • Playwright爬虫xpath获取技巧
  • ZCC5090EA适用于TYPE-C接口,集成30V OVP功能, 最大1.5A充电电流,带NTC及使能功能,双节锂电升压充电芯片替代CS5090EA
  • Java中以某字符串开头且忽略大小写字母如何实现【正则表达式(Regex)】
  • Python OCR 文字识别
  • 【C++】设计模式
  • 【QT开发自制小工具】PDF/图片转excel---调用百度OCR API接口
  • 【问题实录】服务器ping不通win11笔记本
  • 【每日学点鸿蒙知识】挖空样式、解密库性能问题、按钮下拉列表弹窗、Scroll组件回调事件问题、判断当前时间之后方法
  • wordpress网站用token登入开发过程
  • Idean 处理一个项目引用另外一个项目jar 但jar版本低的问题
  • 3D几何建模引擎Parasolid功能解析
  • dify的ChatFlow自定义上传图片并通过HTTP请求到SpringBoot后端
  • STM32F407 | Embedded IDE01 - vscode搭建Embedded IDE开发环境(支持JLINK、STLINK、DAPLINK)
  • DevOps实战:用Kubernetes和Argo打造自动化CI/CD流程(1)
  • Golang框架实战-KisFlow流式计算框架(9)-Cache/Params 数据缓存与数据参数
  • opencv中的色彩空间
  • 4.2 数据库分组查询
  • 机器学习(二)-简单线性回归
  • DVWA第二关 之命令注入
  • 怎么将PDF压缩大小?PDF文件进行压缩的几个方法推荐
  • css文字折行以及双端对齐实现方式
  • 面试题整理17----K8s中request和limit资源限制是如何实现的
  • 机器学习基础 衡量模型性能指标
  • 如何用PhpStudy搭建网络安全靶场
  • 数据结构-树(二叉树)