<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Ollama系列05:Ollama API 使用指南

      本文是Ollama系列教程的第5篇,在前面的4篇內(nèi)容中,給大家分享了如何再本地通過Ollama運(yùn)行DeepSeek等大模型,演示了chatbox、CherryStudio等UI界面中集成Ollama的服務(wù),并介紹了如何通過cherryStudio構(gòu)建私有知識(shí)庫。

      在今天的分享中,我將分享如何通過API來調(diào)用ollama服務(wù),通過整合ollama API,將AI能力集成到你的私有應(yīng)用中,提升你的職場價(jià)值!

      Ollama API

      Ollama 提供了一套簡單好用的接口,讓開發(fā)者能通過API輕松使用大語言模型。

      本篇內(nèi)容將使用Postman作為請(qǐng)求工具,和開發(fā)語言無關(guān)。

      基本概念

      在開始之前,我們先了解幾個(gè)基本的概念:

      • Model:模型,我們調(diào)用接口時(shí)使用的模型名字。我們可以把Ollama理解為模型商店,它里面運(yùn)行著很多模型,每個(gè)模型都有一個(gè)唯一的名字,例如deepseek-r1:1.5b
      • Prompt: 提示詞,是我們給模型的指令。比如天空為什么是藍(lán)色的就是一條簡單的提示詞。
      • Token:字符塊,是大模型的最小輸出單位,同時(shí)也是大模型的計(jì)費(fèi)單位。舉個(gè)例子,對(duì)于天空為什么是藍(lán)色的這句話,大模型會(huì)進(jìn)行拆分天空/為什么/是/藍(lán)色/的,每一段就是一個(gè)token(實(shí)際情況會(huì)比這個(gè)例子復(fù)雜)

      內(nèi)容生成(/api/generate)

      讓大模型幫我們生成指定的內(nèi)容,就可以使用內(nèi)容生成接口。一問一答,不帶上下文。

      我們試著用最少的參數(shù)來調(diào)用:

      {
        "model": "deepseek-r1:1.5b",
        "prompt": "天空為什么是藍(lán)色的"
      }
      

      在postman里面看看輸出:

      可以看到輸出的內(nèi)容很長,這是因?yàn)槟J(rèn)采用的是stream的方式輸出的,也就是我們在deepseek app里面看到的一個(gè)字一個(gè)字輸出的那種效果。我們可以將stream參數(shù)設(shè)置成false來禁用流式輸出。

      {
          "model": "deepseek-r1:1.5b",
          "prompt": "天空為什么是藍(lán)色的",
          "stream": false
      }
      

      參數(shù)列表

      參數(shù)名 是否必填 描述
      model 模型名稱
      prompt 需要生成響應(yīng)的提示詞
      suffix 模型響應(yīng)后追加的文本
      images Base64編碼的圖片列表(適用于多模態(tài)模型如llava)
      format 返回響應(yīng)的格式(可選值:json 或符合 JSON Schema 的結(jié)構(gòu))
      options 模型額外參數(shù)(對(duì)應(yīng) Modelfile 文檔中的配置如 temperature
      system 自定義系統(tǒng)消息(覆蓋 Modelfile 中的定義)
      template 使用的提示詞模板(覆蓋 Modelfile 中的定義)
      stream 設(shè)為 false 時(shí)返回單個(gè)響應(yīng)對(duì)象而非流式對(duì)象
      raw 設(shè)為 true 時(shí)不格式化提示詞(適用于已指定完整模板的情況)
      keep_alive 控制模型在內(nèi)存中的保持時(shí)長(默認(rèn):5m)
      context (已棄用)來自前次 /generate 請(qǐng)求的上下文參數(shù),用于維持短期對(duì)話記憶

      生成對(duì)話(/api/chat)

      生成對(duì)話,是一種具備上下文記憶的內(nèi)容生成。在內(nèi)容生成API中,我們僅傳入了prompt,大模型僅對(duì)我們本地的prompt進(jìn)行回答,而在生成對(duì)話API中,我們還可以傳入messages參數(shù),包含我們多輪對(duì)話內(nèi)容,使大模型具備記憶功能。

      最簡單的調(diào)用(為了方便演示,我們將stream參數(shù)設(shè)置為false):

      {
          "model": "deepseek-r1:1.5b",
          "messages": [
              {
                  "role": "user",
                  "content": "天空通常是什么顏色"
              }
          ],
          "stream": false
      }
      

      postman調(diào)用截圖:

      多輪對(duì)話

      聊天的時(shí)候,ollama通過messages參數(shù)保持上下文記憶。當(dāng)模型給我們回復(fù)內(nèi)容之后,如果我們要繼續(xù)追問,則可以使用以下方法(注意:deepseek-r1模型需要在上下文中移除think中的內(nèi)容):

      {
          "model": "deepseek-r1:1.5b",
          "messages": [
              {
                  "role": "user",
                  "content": "天空通常是什么顏色"
              },
              {
                  "role": "assistant",
                  "content": "天空通常看起來是**柔和的、明快的或稍微有些昏黃的色調(diào)**。具體顏色可能會(huì)因不同的天氣情況而有所變化,例如:\n\n1. **晴朗天氣**:天空可能呈現(xiàn)出溫暖、明亮的顏色,比如藍(lán)天、碧空等。\n2. **下雨天**:云層覆蓋天空,可能導(dǎo)致顏色較為陰郁或變黑。\n3. **雨后天氣**:雨后的天空可能恢復(fù)為明亮的色調(diào)。\n\n總的來說,天空的顏色主要取決于大氣中的光線反射和折射情況,以及太陽的位置。"
              },
              {
                  "role": "user",
                  "content": "為什么是藍(lán)色的?"
              }
          ],
          "stream": false
      }
      

      postman調(diào)用截圖:

      結(jié)構(gòu)化數(shù)據(jù)提取

      當(dāng)我們和系統(tǒng)對(duì)接時(shí),通常要需要從用戶的自然語言中提到結(jié)構(gòu)化數(shù)據(jù),用來調(diào)用現(xiàn)有的外部系統(tǒng)的接口。在ollama中我們只需要指定format參數(shù),就可以實(shí)現(xiàn)結(jié)構(gòu)化數(shù)據(jù)的提取:

      {
          "model": "deepseek-r1:1.5b",
          "messages": [
              {
                  "role": "user",
                  "content": "哈嘍,大家好呀~ 我是拓荒者IT,今年36歲了,是一名軟件工程師"
              }
          ],
          "format": {
              "type": "object",
              "properties": {
                  "name": {
                      "type": "string"
                  },
                  "age": {
                      "type": "integer"
                  },
                  "job": {
                      "type": "string"
                  }
              },
              "required": [
                  "name",
                  "age",
                  "job"
              ]
          },
          "stream": false
      }
      

      參數(shù)列表

      參數(shù)名 是否必填 描述
      model 模型名稱
      messages 聊天消息數(shù)組(用于維持對(duì)話記憶)
      messages.role 消息角色(可選值:system, user, assistant, tool
      messages.content 消息內(nèi)容
      messages.images 消息中Base64編碼的圖片列表(適用于多模態(tài)模型如llava)
      messages.tool_calls 模型希望調(diào)用的工具列表(JSON格式)
      tools 模型可使用的工具列表(JSON格式,需模型支持)
      format 返回響應(yīng)的格式(可選值:json 或符合 JSON Schema 的結(jié)構(gòu))
      options 模型額外參數(shù)(對(duì)應(yīng) Modelfile 文檔中的配置如 temperature
      stream 設(shè)為 false 時(shí)返回單個(gè)響應(yīng)對(duì)象而非流式對(duì)象
      keep_alive 控制模型在內(nèi)存中的保持時(shí)長(默認(rèn):5m)

      生成嵌入數(shù)據(jù)(/api/embed)

      嵌入數(shù)據(jù)的作用是將輸入內(nèi)容轉(zhuǎn)換成向量,可以用于向量檢索等場景。比如我們在第四篇中介紹的知識(shí)庫,就需要用到embedding模型。

      在調(diào)用embed接口時(shí),我們要選擇支持Embedding功能的模型,deepseek是不支持的。

      調(diào)用示例:

      {
        "model": "bge-m3",
        "input": "為什么天空是藍(lán)色的呢?"
      }
      

      postman調(diào)用截圖:

      兼容openAI接口

      因?yàn)楝F(xiàn)在很多應(yīng)用、類庫都是基于OpenAI構(gòu)建的,為了讓這些系統(tǒng)能夠使用Ollama提供的模型,Ollama提供了一套兼容OpenAI的接口(官方說是實(shí)驗(yàn)性的,以后可能會(huì)有重大調(diào)整)。

      因?yàn)檫@種兼容,使得我們可以直接通過OpenAI的python庫、node庫來訪問ollama的服務(wù),確實(shí)方便了不少。

      注意:ollama屬于第三方接口,不能100%支持OpenAI的接口能力,因此在使用的時(shí)候需要先了解清楚兼容的情況。

      其它接口

      ollama還有一些其它的接口,用來實(shí)現(xiàn)對(duì)模型的管理等功能,而這些功能我們通常會(huì)在命令行完成,因此不做詳細(xì)說明。這些API的列表如下:

      • 模型創(chuàng)建(/api/create)
      • 列出本地模型(/api/tags)
      • 查看模型信息(/api/show)
      • 復(fù)制模型(/api/copy)
      • 刪除模型(/api/delete)
      • 拉取模型(/api/pull)
      • 推送(上傳)模型(/api/push)
      • 列出運(yùn)行中的模型(/api/ps)
      • 查看ollama版本(/api/version)

      這些接口的調(diào)用都非常簡單,大家感興趣的可以嘗試以下。

      總結(jié)

      本文介紹了ollama api的用法,詳細(xì)介紹了生成內(nèi)容、多輪對(duì)話、大模型記憶功能的實(shí)現(xiàn)、提取參數(shù)化內(nèi)容等接口。通過使用這些接口,我們可以將AI能力集成到現(xiàn)有的項(xiàng)目中,提升軟件的智能化程度。

      ?? 如果你對(duì)這些內(nèi)容感興趣,關(guān)注[拓荒者IT]公眾號(hào),獲取最新的文章內(nèi)容。
      持續(xù)分享AI工具,AI應(yīng)用場景,AI學(xué)習(xí)資源 ??

      參考內(nèi)容

      1. 官方API文檔:https://github.com/ollama/ollama/blob/main/docs/api.md

      2. 官方兼容OpenAI文檔:https://github.com/ollama/ollama/blob/main/docs/openai.md

      posted @ 2025-03-20 23:14  拓荒者IT  閱讀(4614)  評(píng)論(0)    收藏  舉報(bào)
      皮膚配置 參考地址:https://www.yuque.com/awescnb/user
      主站蜘蛛池模板: 九九热久久这里全是精品| 日韩av一区二区精品不卡| 日本高清中文字幕免费一区二区| 九九热久久只有精品2| 国产精成人品日日拍夜夜免费| 国产成人啪精品视频免费网| 中文字幕久区久久中文字幕| 少妇熟女久久综合网色欲| 私人毛片免费高清影视院| 鲁一鲁一鲁一鲁一澡| 老少配老妇老熟女中文普通话 | 日本道不卡一二三区视频| 少妇高潮喷水正在播放| 丁香花在线影院观看在线播放| 亚洲一区二区三区蜜桃臀| 国产明星精品无码AV换脸| 成人性生交大片免费看中文| 亚洲欧美另类激情综合区蜜芽| 日韩av综合中文字幕| 国产一区韩国主播| 国产精品国产精品偷麻豆| 亚洲爆乳WWW无码专区| 精品一二三四区在线观看| 婷婷成人丁香五月综合激情| 日韩av一区二区高清不卡| 国内精品无码一区二区三区| 国产v综合v亚洲欧美久久| 国产亚洲av夜间福利香蕉149| 国精品午夜福利视频不卡| 国产精品自拍中文字幕| 美女人妻激情乱人伦| 男女扒开双腿猛进入爽爽免费看| 漂亮人妻中文字幕丝袜| 国产精品视频一区二区不卡| 色欲久久久天天天综合网精品| 久久97超碰色中文字幕| 国产精品中文字幕久久| 久久精品成人无码观看免费| 97se亚洲综合自在线| 最新永久免费AV无码网站| 最近免费中文字幕大全|