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 安全團隊成員可以將其修改為最終的人類可讀報告。

我如何找到使用 Go 套件存取 AI 服務?

這是一個發展迅速的領域,而這些答案可能會改變。

如果您考慮使用某項特定服務或多項服務,許多服務提供商都有他們自己的 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 的一部分。