【Dart】dart_openaiを導入してみた

Dart

概要

どうも、@daiki1003です!

いやー、ChatGPTOpenAI API流行ってますね〜。
Flutter(というかDart)でも、もう触れる様になっているのはご存知ですか?

本記事では、
OpenAI APIに興味あるけどどうやってやったら良いのかわからない
・導入の仕方を教えて!

と言う方達に向けていちばん最初の導入部分を解説した記事となります。

ぜひ、波に乗り遅れないように最後まで見ていってくださいね!
次回の記事ではこれを使った記事なんかも執筆したいなと思っています!

dart_openaiパッケージの導入

dart_openai | Dart package
Dart SDK for openAI Apis (GPT-3 & DALL-E), integrate easily the power of OpenAI's state-of-the-art AI models into their Dart applications.

こちらをpubspec.yamlに追加していきます。
パッケージのインストール方法は割愛。

初期設定

OpenAIのAPIキーの取得

Just a moment...

こちらのページより、APIキーをなければ作成し、コピーしておきます。

enviedパッケージの導入

これはマストではないのですが、OpenAI APIキーを公開しないように暗号化してコミットできる様にしておきます。

envied | Dart package
Explicitly reads environment variables into a dart file from a .env file for more security and faster start up times.

※マストではないと言いつつ、キーが流出し膨大な利用料が請求されたとの報告もあるので絶対にパブリックなリポジトリにキーをコミットするなんてことはやめましょう!

.envにAPIキーを追加

ルートディレクトリに.envをなければ作成し、以下1行を追加します。

OPEN_AI_API_KEY="sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

env.dartの実装

import 'package:envied/envied.dart';

part 'env.g.dart';

@Envied(path: ".env")
abstract class Env {
  @EnviedField(varName: 'OPEN_AI_API_KEY', obfuscate: true)
  static const apiKey = _Env.apiKey;
}

build_runnerの実行

env.g.dartが生成されます。

APIキーの設定

main.dartなどで、APIキーを設定します。

import 'env.g.dart';

Openai.apiKey = Env.apiKey;

Organizationの設定

これはマストではないのですが、もしOrganizationに所属している場合は上記と同様の方法で設定することができます。

OpenAI.organization = "ORGANIZATION ID";

OpenAIの世界へ…

ここまで来たらもうなんでも出来ます。
ChatGPTだったり、DALL・Eだったり好きな用途で使ってみてください 👍

最後に

いかがでしたでしょうか?
次は、OpenAI APIを使ったサンプルなんかも説明できると良いなと思っています。

誰かのお役に立てば。

Twitterフォローお願いします

「次回以降も記事を読んでみたい!」
「この辺分からなかったから質問したい!」

そんな時は、是非Twitter (@daiki1003)Instagram (@ashdik_flutter)のフォローお願いします♪

Twitterコミュニティ参加お願いします

Twitterコミュニティ「Flutter lovers」を開設しました!
参加お待ちしております😁

☕️ Buy me a coffee

また、記事がとても役に立ったと思う人は
コーヒーを奢っていただけると非常に嬉しいです!
@daiki1003

コメント

タイトルとURLをコピーしました