Zing 论坛

正文

在 GitHub Actions 中运行 Ollama:让 CI/CD 流水线拥有本地大模型能力

ollama-action 是一个开源 GitHub Action,允许开发者在 CI/CD 流水线中直接调用 Ollama 运行 Llama 3.2、TinyLlama 等大语言模型,实现自动化代码审查、PR 标题生成、文档翻译等场景。

GitHub ActionsOllamaLLMCI/CD开源模型自动化Llama 3.2
发布时间 2026/04/24 06:42最近活动 2026/04/24 06:51预计阅读 3 分钟
在 GitHub Actions 中运行 Ollama:让 CI/CD 流水线拥有本地大模型能力
1

章节 01

导读 / 主楼:在 GitHub Actions 中运行 Ollama:让 CI/CD 流水线拥有本地大模型能力

ollama-action 是一个开源 GitHub Action,允许开发者在 CI/CD 流水线中直接调用 Ollama 运行 Llama 3.2、TinyLlama 等大语言模型,实现自动化代码审查、PR 标题生成、文档翻译等场景。

2

章节 02

背景:CI/CD 与大模型的结合

随着大语言模型(LLM)技术的成熟,越来越多的开发团队开始探索如何将 AI 能力集成到日常开发流程中。传统的做法通常是调用 OpenAI、Claude 等云端 API,但这带来了成本、隐私和延迟等问题。而 Ollama 作为本地运行大模型的优秀工具,让开发者可以在自己的机器上免费运行 Llama、Mistral 等开源模型。

然而,将本地模型能力扩展到 CI/CD 流水线一直是个挑战。ollama-action 这个开源项目正是为了解决这一问题而生,它让 GitHub Actions 可以直接在流水线中运行 Ollama 模型,无需外部 API 依赖。

3

章节 03

项目概述

ollama-action 由 ai-action 组织维护,是一个专门用于 GitHub Actions 的官方集成工具。它的核心功能非常简单:在 GitHub 托管的运行器(runner)上安装并运行 Ollama,然后执行指定的模型推理任务。

这个项目的设计理念是保持简洁和通用性。它不强制使用特定模型,也不限定特定用途,而是提供一个基础能力层,让开发者根据自己的需求灵活组合。无论是想自动生成 PR 描述、进行代码风格检查,还是实现文档翻译,都可以通过简单的配置实现。

4

章节 04

基本工作流配置

使用 ollama-action 最基础的配置只需要指定模型名称和提示词:

jobs:
  ollama:
    runs-on: ubuntu-latest
    steps:
      - name: Run model
        uses: ai-action/ollama-action@v2
        id: model
        with:
          model: llama3.2
          prompt: Explain the basics of machine learning.

      - name: Print response
        run: echo "$response"
        env:
          response: ${{ steps.model.outputs.response }}

这个工作流会在每次代码推送时触发,使用 Llama 3.2 模型回答关于机器学习基础的问题,并将结果输出到日志中。

5

章节 05

支持的模型与版本控制

ollama-action 支持 Ollama 官方库中的所有模型,包括但不限于:

  • Llama 3.2:Meta 最新发布的轻量级模型,适合快速推理
  • TinyLlama:体积小巧但性能不俗的模型,适合资源受限场景
  • Mistral、DeepSeek、Qwen 等主流开源模型

此外,项目还支持指定 Ollama 本身的版本号,确保环境的一致性:

with:
  model: llama3.2
  prompt: Tell me a joke.
  version: 0.15.0
6

章节 06

模型缓存机制

考虑到大模型文件的体积,ollama-action 默认启用了模型缓存功能。这意味着在同一个工作流中多次调用时,模型不需要重复下载,显著提升了执行效率。如果确实需要强制重新下载,也可以通过设置 cache: false 来禁用缓存。

7

章节 07

多行提示词支持

对于复杂的提示场景,项目支持 YAML 的多行字符串语法:

with:
  prompt: |
    Analyze the following code changes
    and suggest improvements for readability
    and performance.

这种设计让开发者可以编写结构化的复杂提示,而不必担心换行符的处理问题。

8

章节 08

自动化 PR 标题生成

社区开发者 Jacob Tomlinson 分享了一个实用案例:利用 ollama-action 自动生成有意义的 PR 标题。在自动化依赖升级的场景中,PR 标题往往只是简单的版本号变更,缺乏上下文信息。通过让 LLM 分析代码变更,可以生成更具描述性的标题,帮助 reviewer 快速理解改动内容。