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 パッケージを持っています。
サービスに関して柔軟性を持たせたい場合は、langchaingo や Ollama のような汎用フレームワークを使用してください。
特定のサービス
- Google 生成 AI: github.com/google/generative-ai-go/genai。
- Google Cloud Vertex AI: cloud.google.com/go/vertexai/genai。
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の一部です。