gohort は何をしますか?
Goで構築されたモジュラー型エージェントフレームワーク。Webダッシュボード、ツール実行、マルチプロバイダー対応のLLMアプリケーションを構築可能。アプリはinit()で自己登録し、フレームワークが起動時に機能を自動発見します。配線や設定ファイル、フレームワークの編集は一切不要。
主な機能
- モジュラー設計: 各アプリケーションは独立したGoパッケージとして開発し、
init()関数でフレームワークに登録します。 - 自動発見: 起動時に登録されたすべてのアプリケーションとツールを自動的に検出し、利用可能にします。
- Webダッシュボード: 組み込みのWebインターフェースで、エージェントの実行状況やツールの使用状況を可視化します。
- ツール実行: エージェントが使用できるツールを簡単に追加・管理できます。
- マルチプロバイダー対応: OpenAI、Anthropicなどの複数のLLMプロバイダーをサポートします。
クイックスタート
package main
import (
"github.com/cmcoffee/gohort"
_ "your-app-package" // アプリケーションをサイドエフェクトとしてインポート
)
func main() {
gohort.Run()
}
アプリケーションの作成
package myapp
import "github.com/cmcoffee/gohort"
func init() {
gohort.RegisterApp(&gohort.App{
Name: "my-app",
Description: "私の最初のアプリケーション",
Tools: []gohort.Tool{
{
Name: "hello",
Description: "挨拶を返します",
Execute: func(ctx context.Context, args map[string]interface{}) (interface{}, error) {
return map[string]string{"message": "こんにちは、世界!"}, nil
},
},
},
})
}
設定
環境変数または.envファイルで設定を行います。
GO_HORT_PORT=8080
OPENAI_API_KEY=your-key-here
ANTHROPIC_API_KEY=your-key-here
ドキュメント
詳細なドキュメントはこちらをご覧ください。