Go Wiki:AI

使用 Go 访问 AI(人工智能)服务的资源列表,特别是大型语言模型 (LLM) 和机器学习 (ML) 系统。

您可以使用 Go 构建哪些类型的 AI 应用程序?

Go 是一种编写使用 AI 服务的程序的优秀语言。这包括使用 LLM 服务来汇总或分类数据、根据数据库回答问题或避免重复性任务的程序。这些服务可以在互联网上访问(托管服务),或在本地运行(下载服务)。

例如,程序 golang.org/x/cmd/vulndb/vulnreport 使用 AI 来汇总漏洞报告。当 Go 安全团队的成员使用新的漏洞报告运行该程序时,vulnreport 会联系一个生成式 AI 服务(在本例中为 Google 的生成式 AI 服务)。它会将 提示 与漏洞的原始描述一起传递。AI 服务将以简洁的摘要进行回复。然后,Go 安全团队成员可以将其细化为最终的人类可读报告。

如何查找用于访问 AI 服务的 Go 软件包?

这是一个快速发展的领域,这些答案可能会发生变化。

如果您心中有特定的服务,许多服务提供商都有自己的 Go 软件包。

如果您希望对服务具有灵活性,请使用通用框架,例如 langchaingoOllama

一些特定的服务

如何从 Go 调用托管服务?

它因服务而异,但基本步骤是

这是一个 使用 Google AI 服务的完整小型示例

如何从 Go 调用下载的服务?

Ollama 为使用下载的服务提供了一个良好的框架。Ollama 在本地机器上运行,但在 localhost 上打开一个端口以提供 REST API。此时,Ollama 可以被视为托管服务,但实际的 AI 计算将在本地机器上完成。

这是一个 从 Go 使用 Ollama 的完整小型示例

如何使用 Go 构建基于 LLM 的应用程序?

要了解如何使用不同的 LLM 框架构建应用程序,请查看 如何使用各种 LLM 框架构建 RAG 服务器

如何在 Go 中管理提示?

发送到 LLM 服务的消息称为提示。在许多情况下,程序将有一个通用提示,其中包含根据用户输入填充的变量。在 Go 中,执行此操作的自然方法是使用 text/template 软件包


此内容是 Go Wiki 的一部分。