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 Generative 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の一部です。