GenkitとAIを使用して天気サービスを構築する

概要

このプロジェクトでは、Genkit、TypeScript、OpenWeatherAPI、およびGitHubモデルを使用してAIを活用した天気サービスを構築する方法を示しています。このアプリケーションは、モダンなNode.jsパターンとAI統合技術を紹介しています。

前提条件

始める前に、以下のものを用意してください:

  1. マシンにNode.jsがインストールされていること
  2. GitHubアカウントとGitHub APIのアクセストークン
  3. 天気データを取得するためのOpenWeatherAPIキー
  4. マシンにGenkit CLIがインストールされていること

技術的な詳細

AIの設定

コアAIセットアップはGenkitとGitHubプラグインの統合で初期化されます。この場合、OpenAI GPT-3モデルを使用します:

TypeScript

 

天気ツールの実装

このアプリケーションは、Zodスキーマ検証を使用してカスタム天気ツールを定義します:

TypeScript

 

AIフローの定義

サービスは、天気リクエストを処理するAIフローを公開します:

TypeScript

 

Expressサーバーの設定

アプリケーションは、APIサーバーを作成するためにGenkit Expressプラグインを使用しています:

TypeScript

 

フルコード

天気サービスのフルコードは次のとおりです:

TypeScript

 

セットアップと開発

1. 依存関係をインストールする:

Shell

 

2. 環境変数を設定する:

Shell

 

3. 開発サーバーを起動する:

Shell

 

4. プロジェクトをデバッグモードで実行し、ブレークポイントを設定するには、次のコマンドを実行します:

Shell

 

その後、IDE でデバッガを起動します。構成については、.vscode/launch.json ファイルを参照してください。

5. プロジェクトをビルドする場合は、次のコマンドを実行できます:

Shell

 

6. プロダクションモードでプロジェクトを実行します:

Shell

 

依存関係

コア依存関係

  • genkit: ^1.0.5
  • @genkit-ai/express: ^1.0.5
  • openweather-api-node: ^3.1.5
  • genkitx-github: ^1.13.1
  • dotenv: ^16.4.7

開発用依存関係

  • tsx: ^4.19.2
  • typescript: ^5.7.2

プロジェクトの構成

  • ES モジュールを使用します("type": "module"
  • NodeNext モジュール解決を使用した TypeScript
  • 出力ディレクトリ: lib
  • 型定義を含む完全な TypeScript サポート

ライセンス

Apache 2.0

リソース

Conclusion

このプロジェクトは、Genkitを使用してNode.jsで天気サービスを構築する方法を示しています。アプリケーションは、最新のNode.jsパターンとAI統合技術を紹介しています。

この例の完全なコードは、GitHubリポジトリで見つけることができます。

Happy coding!

Source:
https://dzone.com/articles/building-weather-service-genkit-ai