最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker部署Ollama搭建本地AI開發(fā)環(huán)境

  發(fā)布時(shí)間:2026-03-30 11:00:41   作者:江湖人稱小魚哥   我要評(píng)論
本文介紹如何通過Docker+Ollama搭建本地AI開發(fā)環(huán)境,解決云端API調(diào)用成本高、延遲大的問題,幫助開發(fā)者快速實(shí)現(xiàn)本地AI應(yīng)用開發(fā),無需擔(dān)心API調(diào)用限制和費(fèi)用問題,感興趣的可以了解一下

前言

“想開發(fā) AI 應(yīng)用,每次都要調(diào)用云端 API?免費(fèi)額度用完還得付費(fèi)?跑個(gè) demo 都要擔(dān)心成本?”

這是很多 AI 應(yīng)用開發(fā)者遇到的痛點(diǎn)。阿里百煉、智譜 AI、OpenAI 等平臺(tái)雖然提供免費(fèi)額度,但用完就得付費(fèi)。而且在開發(fā)調(diào)試階段,頻繁調(diào)用 API 不僅費(fèi)錢,網(wǎng)絡(luò)延遲也影響體驗(yàn)。

更好的方案是:本地部署大模型,開發(fā)測(cè)試隨便用,無需擔(dān)心額度和費(fèi)用

今天這篇文章,我會(huì)帶你用 Docker + Ollama 搭建一個(gè)本地 AI 開發(fā)環(huán)境,讓你在開發(fā) AI 應(yīng)用時(shí),可以快速調(diào)用本地模型進(jìn)行測(cè)試。

Ollama 是什么?

Ollama 是一個(gè)開源的本地大模型運(yùn)行工具,讓你能夠像使用 Docker 管理容器一樣,輕松管理和運(yùn)行各種開源大模型。

核心能力

  • 一鍵拉取模型:類似 docker pull,用 ollama pull qwen2.5:7b 即可下載模型
  • 本地推理運(yùn)行:在本地機(jī)器上運(yùn)行模型,無需聯(lián)網(wǎng)
  • OpenAI 兼容 API:提供標(biāo)準(zhǔn)的 HTTP API,與 OpenAI 接口兼容
  • 多模型支持:支持 Llama、Qwen、DeepSeek、Mistral 等主流開源模型

工業(yè)生產(chǎn)中的定位

場(chǎng)景推薦方案原因
開發(fā)測(cè)試Ollama部署簡單、API 兼容、快速迭代
個(gè)人/小團(tuán)隊(duì)Ollama資源占用低、開箱即用
生產(chǎn)環(huán)境vLLM / 云端 API高并發(fā)、高吞吐、穩(wěn)定可靠
企業(yè)私有化vLLM + K8s可擴(kuò)展、可監(jiān)控、高可用

總結(jié):Ollama 的定位是本地開發(fā)測(cè)試工具,而不是生產(chǎn)級(jí)推理引擎。如果你需要支撐高并發(fā)線上服務(wù),應(yīng)該考慮 vLLM 等專業(yè)方案。

競品對(duì)比

工具特點(diǎn)適用場(chǎng)景
Ollama上手最簡單,類 Docker 體驗(yàn)開發(fā)測(cè)試、個(gè)人使用
vLLM高性能推理引擎,支持 PagedAttention生產(chǎn)環(huán)境、高并發(fā)
LM Studio圖形界面,適合非技術(shù)用戶個(gè)人體驗(yàn)、無代碼場(chǎng)景
LocalAIOpenAI API 完全兼容,功能豐富需要完整 OpenAI 替代方案
llama.cpp底層推理庫,性能極致需要深度定制、嵌入式場(chǎng)景

為什么開發(fā)階段選 Ollama?

  • 安裝最簡單:一條命令搞定
  • 模型管理方便:拉取、切換、刪除都很直觀
  • API 兼容好:直接用 OpenAI SDK 調(diào)用
  • 資源占用低:適合日常開發(fā)機(jī)器運(yùn)行

本地開發(fā) vs 云端 API

先看下兩種方案的對(duì)比:

對(duì)比項(xiàng)云端 API(百煉/OpenAI)本地 Ollama
調(diào)用方式HTTP APIHTTP API(兼容 OpenAI 格式)
費(fèi)用免費(fèi)額度用完需付費(fèi)完全免費(fèi)
網(wǎng)絡(luò)依賴網(wǎng)絡(luò),有延遲本地調(diào)用,毫秒級(jí)響應(yīng)
隱私數(shù)據(jù)上傳云端數(shù)據(jù)完全本地
模型選擇平臺(tái)限定自由選擇任意模型
適用場(chǎng)景生產(chǎn)環(huán)境開發(fā)測(cè)試、跑 Demo

核心價(jià)值:本地 Ollama 提供 OpenAI 兼容的 API 接口,你的代碼幾乎不用改,只需要換一下 base_url,就能無縫切換。

第一步:安裝 Docker Desktop

1. 下載安裝

訪問 Docker 官網(wǎng)下載安裝包:

https://www.docker.com/products/docker-desktop/

根據(jù)你的操作系統(tǒng)選擇對(duì)應(yīng)版本(Windows / macOS / Linux 都支持)。

2. 驗(yàn)證安裝

打開終端,執(zhí)行:

docker --version
docker run hello-world

看到 “Hello from Docker!” 說明安裝成功。

第二步:部署 Ollama 容器

1. 創(chuàng)建掛載目錄

macOS 用戶

mkdir -p /Users/$(whoami)/docker/ollama

Linux 用戶

sudo mkdir -p /home/docker/ollama
sudo chmod 777 /home/docker/ollama

說明:macOS 的用戶目錄是 /Users/用戶名,而 Linux 是 /home/用戶名。macOS 的 /home 是受保護(hù)的系統(tǒng)目錄,無法寫入。

2. 啟動(dòng)容器

macOS 用戶

docker run -d \
  --name ollama \
  -p 11434:11434 \
  -v /Users/$(whoami)/docker/ollama:/root/.ollama \
  ollama/ollama

Linux 用戶

docker run -d \
  --name ollama \
  -p 11434:11434 \
  -v /home/docker/ollama:/root/.ollama \
  ollama/ollama

參數(shù)說明

  • -p 11434:11434:暴露 API 端口,供本地應(yīng)用調(diào)用
  • -v <宿主機(jī)目錄>:/root/.ollama:掛載宿主機(jī)目錄,模型數(shù)據(jù)持久化保存

2. 驗(yàn)證服務(wù)

curl http://localhost:11434

返回 Ollama is running 即成功。

第三步:拉取開發(fā)測(cè)試用模型

進(jìn)入容器:

docker exec -it ollama bash

推薦模型

開發(fā)測(cè)試推薦輕量級(jí)模型(響應(yīng)快,資源占用低):

# 中文場(chǎng)景推薦
ollama pull qwen2.5:7b          # 通義千問,中文能力強(qiáng)
ollama pull qwen2.5:1.5b        # 更輕量,快速測(cè)試用

# 推理場(chǎng)景推薦
ollama pull deepseek-r1:7b      # DeepSeek R1,推理能力強(qiáng)
ollama pull deepseek-r1:1.5b    # 輕量版

# 英文場(chǎng)景推薦
ollama pull llama3.2:3b         # Llama 3.2,平衡性能和速度
ollama pull llama3.1:8b         # 經(jīng)典版本

常用命令

ollama list          # 查看已下載模型
ollama ps            # 查看運(yùn)行中的模型
ollama rm <模型名>   # 刪除模型

第四步:在代碼中調(diào)用本地模型

Ollama 提供 OpenAI 兼容的 API,這意味著你可以直接復(fù)用現(xiàn)有代碼,只需修改 base_url。

API 端點(diǎn)

Base URL: http://localhost:11434/v1
API Key: ollama(隨便填,本地不需要驗(yàn)證)

Python 示例

from openai import OpenAI
client = OpenAI(
    base_url="http://localhost:11434/v1",
    api_key="ollama"  # 本地部署,隨便填
)
response = client.chat.completions.create(
    model="qwen2.5:1.5b",
    messages=[
        {"role": "user", "content": "你好,介紹一下你自己"}
    ]
)
print(response.choices[0].message.content)

JavaScript/Node.js 示例

import OpenAI from 'openai';
const client = new OpenAI({
    baseURL: 'http://localhost:11434/v1',
    apiKey: 'ollama'
});
const response = await client.chat.completions.create({
    model: 'qwen2.5:1.5b',
    messages: [
        { role: 'user', content: '你好,介紹一下你自己' }
    ]
});
console.log(response.choices[0].message.content);

cURL 測(cè)試

curl http://localhost:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen2.5:1.5b",
    "messages": [{"role": "user", "content": "你好"}]
  }'

第五步:Spring Boot 集成 Spring AI

如果你是 Java 開發(fā)者,Spring AI 對(duì) Ollama 有原生支持,通過 OllamaChatModel 可以直接注入使用。

1. 添加依賴

<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-ollama</artifactId>
    <version>1.1.0</version>
</dependency>

2. 添加自動(dòng)配置 Starter

踩坑提醒:網(wǎng)上很多教程推薦使用 spring-ai-ollama-spring-boot-starter,但它的最新版是 1.0.0-M6。如果你的項(xiàng)目中 Spring AI 版本較新(如 1.1.0),直接引入會(huì)導(dǎo)致啟動(dòng)報(bào)錯(cuò)。

原因:Spring AI 新版本將 spring-ai-spring-boot-autoconfigure 拆分成了多個(gè)模塊,而舊的 starter 依賴的自動(dòng)配置類與新版本存在 Bean 沖突。

解決方案:使用新版單獨(dú)的自動(dòng)配置模塊:

<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-autoconfigure-model-ollama</artifactId>
    <version>1.1.0</version>
</dependency>

3. 配置 application.yml

spring:
  ai:
    ollama:
      base-url: http://localhost:11434
      chat:
        model: deepseek-r1:7b

4. 注入 OllamaChatModel

配置完成后,可以直接注入 ollamaChatModel

@Autowired
@Qualifier("ollamaChatModel")
private ChatModel ollamaChatModel;

5. 完整調(diào)用示例

@RestController
@RequestMapping("/ai/ollama")
public class OllamaChatController {
    @Autowired
    @Qualifier("ollamaChatModel")
    private ChatModel ollamaChatModel;
    @GetMapping("/stream/chat")
    public Flux<String> streamChat(HttpServletResponse response) {
        response.setCharacterEncoding("UTF-8");
        Flux<ChatResponse> stream = ollamaChatModel.stream(new Prompt("你是誰?"));
        return stream.map(resp -> resp.getResult().getOutput().getText());
    }
}

啟動(dòng)應(yīng)用后,訪問這個(gè)接口,就能調(diào)用到本地部署的 DeepSeek 模型了。

開發(fā)工作流建議

推薦的開發(fā)流程

1. 本地開發(fā) → 調(diào)用 Ollama(localhost:11434)
2. 本地測(cè)試 → 繼續(xù)用 Ollama,快速迭代
3. 部署上線 → 切換到云端 API(阿里百煉/智譜/OpenAI)

切換只需改配置

# 開發(fā)環(huán)境
spring.ai.ollama.base-url: http://localhost:11434
# 生產(chǎn)環(huán)境
spring.ai.openai.base-url: https://dashscope.aliyuncs.com/compatible-mode/v1
spring.ai.openai.api-key: ${DASHSCOPE_API_KEY}

常見問題

Q1:模型響應(yīng)太慢?

選擇更小的模型參數(shù),如 qwen2.5:1.5bdeepseek-r1:1.5b,響應(yīng)速度會(huì)快很多。

Q2:內(nèi)存不夠?

8GB 內(nèi)存建議用 7B 以下的模型,16GB 可以嘗試 14B 模型。

Q3:如何查看 API 是否正常?

curl http://localhost:11434/v1/models

返回模型列表即正常。

Q4:容器重啟后模型還在嗎?

是的,模型存儲(chǔ)在掛載的宿主機(jī)目錄中(macOS: /Users/用戶名/docker/ollama,Linux: /home/docker/ollama),容器重啟或重建都不會(huì)丟失。

總結(jié)

搭建本地 AI 開發(fā)環(huán)境,核心就三步:

  1. 安裝 Docker Desktop → 容器運(yùn)行環(huán)境
  2. 部署 Ollama 容器 → 本地模型服務(wù)
  3. 代碼中調(diào)用 API → OpenAI 兼容接口

核心價(jià)值

  • 開發(fā)調(diào)試階段,無需擔(dān)心 API 額度和費(fèi)用
  • 本地調(diào)用,毫秒級(jí)響應(yīng),迭代更快
  • OpenAI 兼容接口,代碼幾乎不用改
  • 部署上線時(shí),只需切換 base_url 即可

參考資料

到此這篇關(guān)于Docker部署Ollama搭建本地AI開發(fā)環(huán)境的文章就介紹到這了,更多相關(guān)Docker部署Ollama搭建AI環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!

相關(guān)文章

  • Windows11下Ollama部署Qwen2.5大模型的實(shí)戰(zhàn)指南

    本文旨在記錄 如何在Windows 11 本地環(huán)境下,利用 Ollama 部署 Qwen2.5 大模型,并實(shí)現(xiàn) API 調(diào)用,無需顯卡也能跑”、能夠確保隱私安全,有需要的小伙伴可以跟隨小編一起了解
    2026-03-18
  • ollama本地部署DeepSeek教程的實(shí)現(xiàn)

    本文主要介紹如何使用ollama本地部署deepseek大模型,以及使用WebUI工具界面進(jìn)行交互,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需
    2026-03-31

最新評(píng)論

长兴县| 洛浦县| 襄樊市| 瓮安县| 武汉市| 巴彦县| 福鼎市| 宁海县| 垣曲县| 内黄县| 绍兴县| 凉城县| 车险| 稷山县| 大厂| 合山市| 曲沃县| 祁门县| 探索| 柳林县| 朝阳区| 安庆市| 阳春市| 瓮安县| 綦江县| 建德市| 察哈| 璧山县| 苏尼特右旗| 宾阳县| 新疆| 铜川市| 且末县| 盐源县| 正宁县| 东宁县| 建德市| 张北县| 阿巴嘎旗| 芜湖县| 呼玛县|