章节 01
导读 / 主楼:在 GitHub Actions 中运行 Ollama:让 CI/CD 流水线拥有本地大模型能力
ollama-action 是一个开源 GitHub Action,允许开发者在 CI/CD 流水线中直接调用 Ollama 运行 Llama 3.2、TinyLlama 等大语言模型,实现自动化代码审查、PR 标题生成、文档翻译等场景。
正文
ollama-action 是一个开源 GitHub Action,允许开发者在 CI/CD 流水线中直接调用 Ollama 运行 Llama 3.2、TinyLlama 等大语言模型,实现自动化代码审查、PR 标题生成、文档翻译等场景。
章节 01
ollama-action 是一个开源 GitHub Action,允许开发者在 CI/CD 流水线中直接调用 Ollama 运行 Llama 3.2、TinyLlama 等大语言模型,实现自动化代码审查、PR 标题生成、文档翻译等场景。
章节 02
随着大语言模型(LLM)技术的成熟,越来越多的开发团队开始探索如何将 AI 能力集成到日常开发流程中。传统的做法通常是调用 OpenAI、Claude 等云端 API,但这带来了成本、隐私和延迟等问题。而 Ollama 作为本地运行大模型的优秀工具,让开发者可以在自己的机器上免费运行 Llama、Mistral 等开源模型。
然而,将本地模型能力扩展到 CI/CD 流水线一直是个挑战。ollama-action 这个开源项目正是为了解决这一问题而生,它让 GitHub Actions 可以直接在流水线中运行 Ollama 模型,无需外部 API 依赖。
章节 03
ollama-action 由 ai-action 组织维护,是一个专门用于 GitHub Actions 的官方集成工具。它的核心功能非常简单:在 GitHub 托管的运行器(runner)上安装并运行 Ollama,然后执行指定的模型推理任务。
这个项目的设计理念是保持简洁和通用性。它不强制使用特定模型,也不限定特定用途,而是提供一个基础能力层,让开发者根据自己的需求灵活组合。无论是想自动生成 PR 描述、进行代码风格检查,还是实现文档翻译,都可以通过简单的配置实现。
章节 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 模型回答关于机器学习基础的问题,并将结果输出到日志中。
章节 05
ollama-action 支持 Ollama 官方库中的所有模型,包括但不限于:
此外,项目还支持指定 Ollama 本身的版本号,确保环境的一致性:
with:
model: llama3.2
prompt: Tell me a joke.
version: 0.15.0
章节 06
考虑到大模型文件的体积,ollama-action 默认启用了模型缓存功能。这意味着在同一个工作流中多次调用时,模型不需要重复下载,显著提升了执行效率。如果确实需要强制重新下载,也可以通过设置 cache: false 来禁用缓存。
章节 07
对于复杂的提示场景,项目支持 YAML 的多行字符串语法:
with:
prompt: |
Analyze the following code changes
and suggest improvements for readability
and performance.
这种设计让开发者可以编写结构化的复杂提示,而不必担心换行符的处理问题。
章节 08
社区开发者 Jacob Tomlinson 分享了一个实用案例:利用 ollama-action 自动生成有意义的 PR 标题。在自动化依赖升级的场景中,PR 标题往往只是简单的版本号变更,缺乏上下文信息。通过让 LLM 分析代码变更,可以生成更具描述性的标题,帮助 reviewer 快速理解改动内容。