用 Go 写后端、CLI 或运维工具时,要把大模型能力接进去,第一个问题往往是:Go 里该用哪个 SDK?生态够不够用? 和 Python/Node 相比,Go 的 AI 生态更「散」,但近几年已有不少可用方案。本文按云端大模型、MCP、本地模型、RAG 四类场景盘点主流库,并给出选型建议。

一、调用云端大模型:OpenAI 与兼容 API

场景:调用 OpenAI、国产大模型或兼容 OpenAI 协议的 API。

首选openai-gogithub.com/openai/openai-go),OpenAI 官方维护的 Go 库,覆盖 Chat 补全、流式输出、Function Calling、Embeddings、语音与图像等能力,与官方 REST API 保持一致,后续迭代有保障。

备选sashabaranov/go-openai 是社区里使用多年的老牌库,接口风格偏传统,很多存量项目仍在用。若是新项目,更建议直接上 openai-go,便于跟进官方 API 变更。对接国产或兼容 OpenAI 协议的 API 时,两者一般都只需配置 BaseURLAPI Key 即可复用。

二、接 MCP:让 AI 用上你的工具与数据

场景:在 Cursor、Claude Desktop 等中接入自建工具或内部 API,需实现 MCP 服务端。

首选modelcontextprotocol/go-sdkgithub.com/modelcontextprotocol/go-sdk),由 MCP 组织与 Google 等合作维护,支持 Tools、Resources、Prompts 三大能力,传输层支持 stdio、HTTP、SSE,与当前 MCP 规范同步,写出的服务可直接被 Cursor、Claude Desktop 等客户端发现和调用。

备选:若希望更少的样板代码或更贴合某种调用方式,可以再看 MCP-Go 等社区封装,它们多基于或兼容官方协议。做 MCP 服务端时,优先选 官方 go-sdk 更稳妥。

三、本地模型:Ollama 与推理服务

场景:本地跑 Ollama 或自建推理服务,用 Go 做调用端。

首选:Ollama 本身用 Go 开发,其仓库 ollama/ollama 中的 api 包(github.com/ollama/ollama/api)就是官方客户端,支持 Chat、Generate、Embed 等操作,通过环境变量 OLLAMA_HOST 即可配置本机或内网地址,接入成本低。

其他推理服务:若对接的是 vLLM、TGI 等自建推理服务,多数提供兼容 OpenAI 的 HTTP 接口,用标准库 net/httpgo-openai 按相同协议封装一层、改一下 BaseURL 即可,一般无需单独找「官方 Go SDK」。

四、RAG 与 Agent:langchaingo 与自建链路

场景:做 RAG(检索增强生成)、链式调用或简单 Agent,需要文档切块、向量化、检索与 LLM 编排。

一站式方案langchaingogithub.com/tmc/langchaingo)就是 Go 版的 LangChain,提供 LLM 抽象、chains、agents、embeddings、vectorstores、documentloaders、memory 等模块,用一套库即可完成「文档加载 → 切块 → 向量化 → 检索 → 调 LLM」的 RAG 流程,也支持接入 OpenAI、Ollama、Gemini 等多种模型。若你熟悉 Python 的 LangChain 或希望少写编排代码,可以优先考虑 langchaingo。

自建链路:若不想引入整套框架,也可以自己串:Embedding 用 openai-go 调 API,向量库用 Qdrant、Milvus、Weaviate、Pgvector 等的 Go 客户端,编排层手写「切块 → 向量化 → 检索 → 拼 prompt → 调 LLM」。Google 官方博客与示例仓库中有 Google AI Go SDK + Weaviate 的 RAG 示例,可作参考。选型时可按需求在「langchaingo 一站式」与「轻量自串」之间取舍。

五、选型速查与建议

场景 首选方案 备选 / 说明
调用 OpenAI 等 openai-go(官方) sashabaranov/go-openai(老项目可保留)
MCP 服务端 modelcontextprotocol/go-sdk MCP-Go 等社区封装
本地 Ollama ollama/ollama api 包 第三方 ollama-client(按需)
其他推理服务 net/http + OpenAI 兼容封装 视服务协议选 gRPC/HTTP
RAG / Agent / 链式调用 langchaingo(Go 版 LangChain) openai-go + 向量库、Google 示例等(自建链路)

建议:新项目用 openai-go + MCP 官方 go-sdk + Ollama api;做 RAG 或 Agent 时可选用 langchaingo 一站式搞定,或继续用 openai-go 配向量库自建链路。老项目若已用 go-openai 且稳定可保留,新功能再考虑官方 SDK。依赖建议定期更新并做安全扫描。

写在最后

Go 的 AI 生态在补齐:云端有 openai-go,MCP 有 官方 go-sdk,本地有 Ollama api,RAG 与链式调用则有 langchaingo(Go 版 LangChain)可选,也可用「SDK + 向量库 + 自写流程」轻量实现。按场景选对库,用 Go 做 AI 应用可以少踩坑、快速落地。