body method
Defines the actual body code. path
is passed relative to lib
, baseName
is the filename, and className
is the filename converted to Pascal case.
実際の本体コードを定義します。path
にlib
からの相対パス、baseName
にファイル名が渡され、className
にファイル名をパスカルケースに変換した値が渡されます。
Implementation
@override
String body(String baseName, String className) {
return """
`ChatGPT`は下記のように利用する。
## 概要
$excerpt
## 設定方法
1. `katana.yaml`に下記の設定を追加。
```yaml
# katana.yaml
# Describe the settings for using OpenAI's GPT, etc.
# OpenAIのGPT等を利用するための設定を記述します。
openai:
enable: true # ChatGPTを利用する場合false -> trueに変更
```
2. 下記のコマンドを実行して設定を適用。
```bash
katana apply
```
3. `lib/adapter.dart`の`masamuneAdapters`に`MasamuneAdapter`を追加。
```dart
// lib/adapter.dart
/// Masamune adapter.
///
/// The Masamune framework plugin functions can be defined together.
// TODO: Add the adapters.
final masamuneAdapters = <MasamuneAdapter>[
const UniversalMasamuneAdapter(),
// ChatGPTのアダプターを追加。
const OpenAiMasamuneAdapter(),
];
```
## 利用方法
```dart
// ChatGPTのコントローラーを取得。
final openai = ref.app.controller(OpenAi.query());
// ChatGPTに質問を送信。
final response = await openai.chat(
// メッセージの一覧。
messages: [
OpenAiChatMessage(
role: OpenAiChatRole.system,
content: "あなたは親切なアシスタントです。",
),
OpenAiChatMessage(
role: OpenAiChatRole.user,
content: "こんにちは。",
),
],
// モデルの種類。
model: OpenAiModel.gpt3_5Turbo,
);
// レスポンスを取得。
final content = response.choices.first.message.content;
print("Response: \$content");
// 画像を生成。
final image = await openai.generateImage(
// プロンプト。
prompt: "A cute cat",
// 画像のサイズ。
size: OpenAiImageSize.size1024,
);
// 生成された画像のURLを取得。
final url = image.data.first.url;
print("Image URL: \$url");
```
""";
}