详解Ollama api (Windows环境)
Ollama可以像一个本地软件一样在Windows中运行。通常通过以下两种方法来使用Windows中的Ollama。
- 在
cmd
或powershell
中输入命令 - 基于本地主机
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
定义网络请求的方式,分为POST
和GET
两种,这里使用POST
-Body
请求的主体,其内容为一个字典字符串,字典包含以下字段:model
模型名称prompt
提示词stream
是否为流式输出(后面会详细解释)
-uri
主机地址,这里为http://localhost:11434/api/generate
.Content
取网络请求结果中的Content内容ConvertFrom-json
将json格式的内容转换成文本格式
运行结果如下:
在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)
运行部分结果如下:
同在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的官方文档。