使用ollama在本地部署大模型

2,539 阅读2分钟

ollama安装:

安装文件下载

到ollama官网下载对应系统的安装包,支持Windows macOS Linux主流系统。

ollama下载地址

Windows系统下载后直接双击exe文件安装。

安装结果验证

  1. 浏览器访问:http://localhost:11434/,出现 Ollama is running的字样,证明安装成功。
  2. 打开命令行窗口,执行 命令:ollama,打印如下:证明安装成功。

image-20241102162305711.png

部署大模型

ollama使用方式和docker类似,我们可以通过命令 ollama run 大模型下载并启动一个大模型服务,如下:

ollama run llama3.2:(下载速度取决于网络环境)

image-20241102163140537.png 然后我们可以直接在命令行可大模型进行对话交流了。(响应速度取决于电脑性能)

image-20241102163246870.png 输入/bye可以退出对话。

image-20241102163445645.png

REST API

Ollama 提供了用于运行和管理模型的 REST API。

生成补全

格式

POST /api/generate

使用提供的模型生成给定提示的响应。这是一个流端点,因此会有一系列响应。最终响应对象将包括来自请求的统计信息和附加数据。

参数

  • model:(必填)模型名称,后面可以跟tag。比如gemma:7b
  • prompt:生成响应的提示
  • images:(可选)base64 编码图像的列表(对于多模式模型,例如llava

高级参数(可选):

  • format:返回响应的格式。目前唯一接受的值是json
  • options:模型文件文档中列出的其他模型参数,例如temperature
  • system:系统消息(覆盖 中定义的内容Modelfile
  • template:要使用的提示模板(覆盖 中定义的内容Modelfile
  • context:从先前的请求返回的上下文参数/generate,这可用于保留简短的会话记忆
  • streamfalse响应是否作为单个响应对象返回,而不是对象流
  • raw:如果true没有格式化,将应用于提示。raw如果您在 API 请求中指定完整模板化提示,则可以选择使用该参数
  • keep_alive:控制模型在请求后加载到内存中的时间(默认值5m:)

请求和响应的格式均为json格式,发出请求的格式:

curl http://localhost:11434/api/generate -d '{
  "model": "llama3.2",
  "prompt": "你是谁",
  "format": "json",
  "stream": false
}'

在apifox中进行测试:

image.png

响应:

{
    "model": "llama3.2",
    "created_at": "2024-11-02T08:56:15.0143737Z",
    "response": "{}\n   \n\n  \n    \n   \n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n    \n  \n\n\n\n\n\n\n\n\n\n  \n\n\n \n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n \n\n",
    "done": false
}

还有很多API,使用参考见:OLLama详细的 api 介绍 不完全指南 python 直接调用 OLLama api 翻译助手演示 - 优一未来