大模型(含deepseek r1)本地部署利器ollama的API操作指南

ollama介绍:

Ollama 是一个开源的大型语言模型(LLM)平台,旨在让用户能够轻松地在本地运行、管理和与大型语言模型进行交互。它支持多种预训练的大型语言模型(如 LLaMA2、Mistral、Gemma、DeepSeek 等),并提供了一个简单高效的方式来加载和使用这些模型。

  • 出现Error: something went wrong, please see the ollama server logs for details的问题原因 主要是网络问题导致的,尤其是设置了代理环境变量(终端FQ目的)
  • 关于DeepSeek本地部署指南(ollama的应用)可以看下我之前写的文章:DeepSeek R1本地与线上满血版部署:超详细手把手指南

ollama 的API:

官方api操作手册如下:https://github.com/ollama/ollama/blob/main/docs/api.md

下面是ollama官网所有API的命令供参考:

命令 描述 请求方法 请求URL 请求体/参数 响应示例 中文说明
Generate a completion 根据给定的提示生成文本响应。 POST /api/generate {"model": "llama3.2", "prompt": "Why is the sky blue?"} {"model": "llama3.2", "response": "The sky is blue because...", "done": true} 使用指定模型生成文本响应,支持流式响应。
Generate a chat completion 生成聊天对话中的下一条消息。 POST /api/chat {"model": "llama3.2", "messages": [{"role": "user", "content": "Hello!"}]} {"message": {"role": "assistant", "content": "Hello! How are you today?"}} 用于生成聊天机器人回复,支持对话历史和流式响应。
Create a Model 创建模型(从其他模型、safetensors目录或GGUF文件)。 POST /api/create {"model": "mario", "from": "llama3.2", "system": "You are Mario"} {"status": "success"} 创建新模型,支持从现有模型或文件创建。
List Local Models 列出本地可用的模型。 GET /api/tags 无请求体 {"models": [{"name": "llama3:latest", "size": 3825819519, ...}]} 列出本地已有的模型及其相关信息。
Show Model Information 显示模型的详细信息(包括参数、模板等)。 POST /api/show {"model": "llama3.2"} {"modelfile": "...", "parameters": "...", "template": "...", ...} 获取指定模型的详细信息。
Copy a Model 复制一个现有模型到新的名称。 POST /api/copy {"source": "llama3.2", "destination": "llama3-backup"} 返回200 OK 将一个模型复制为另一个名称。
Delete a Model 删除一个模型及其数据。 DELETE /api/delete {"model": "llama3:13b"} 返回200 OK 删除指定模型。
Pull a Model 从Ollama库下载模型。 POST /api/pull {"model": "llama3.2"} {"status": "success"} 下载模型到本地,支持断点续传。
Push a Model 将模型上传到Ollama库。 POST /api/push {"model": "mattw/pygmalion:latest"} {"status": "success"} 将本地模型上传到Ollama库。
Generate Embeddings 生成文本的嵌入向量。 POST /api/embed {"model": "all-minilm", "input": "Why is the sky blue?"} {"embeddings": [[0.010071029, -0.0017594862, ...]]} 使用指定模型生成文本的嵌入向量。
List Running Models 列出当前加载到内存中的模型。 GET /api/ps 无请求体 {"models": [{"name": "mistral:latest", "size": 5137025024, ...}]} 列出当前运行的模型及其相关信息。
Version 获取Ollama版本信息。 GET /api/version 无请求体 {"version": "0.5.1"} 获取Ollama服务器的版本号。

如果你在使用ollama输入任何命令出现如下错误时就可以使用api来操作:

Error: something went wrong, please see the ollama server logs for details

这个错误主要是网络问题导致的,尤其是代理环境变量(终端FQ)

有两种解决办法:
方法一:

# 检查http_proxy变量是否存在
echo $http_proxy

# 检查https_proxy变量是否存在
echo $https_proxy

如果输出内容了,说明设置了代理,请移除

# 移除HTTP代理环境变量
unset http_proxy

# 移除HTTPS代理环境变量
unset https_proxy
# 再检查http_proxy变量是否存在
echo $http_proxy

# 再检查https_proxy变量是否存在
echo $https_proxy

输出为空,再试试ollama命令应该就可以了。
如果你希望永久移除这些代理环境变量,可以编辑你的终端配置文件,例如编辑你的.zshrc文件(这是zsh的配置文件),并删除或注释掉其中设置代理变量的行。

例如编辑zshrc文件:

// 注释掉类似下面的内容
export http_proxy="http://your-proxy-server:port"
export https_proxy="http://your-proxy-server:port"

// 保存文件后再执行
source ~/.zshrc

然后稳妥起见再重启下终端,再试试ollama命令应该就可以了。

方法二:如果不想修改自己的代理环境变量,可以直接通过API操作命令代替ollama命令
举例来说:

// 终端直接运行下面命令来pull模型
curl http://你的电脑ip地址:11434/api/pull -d '{"model": "deepseek-r1:1.5b"}'

// 获取正在运行的模型
curl http://你的电脑ip地址:11434/api/ps

详细API请见上方表格

posted @   kovli  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示