ドキュメント再編の一環として、このページは段階的に廃止されます。
このカードをクリックして、最新情報が含まれる更新版にリダイレクトしてください。
新しいドキュメントに不一致や改善が必要な箇所を見つけた場合は、ページ下部の「問題を報告」ボタンを使用してください。
llm
やtext_embedding
など)に応じて、プロバイダーモジュール内に対応するサブモジュールを作成します。各モデルタイプが独立した論理構造を持つようにすることで、保守性と拡張性を高めます。
YAML
ファイル(例:claude-3.5.yaml
)を作成します。AIModelEntityの仕様に従ってファイルの内容を記述し、モデルのパラメータと機能を定義します。
llm
やtext_embedding
のように、様々なモデルタイプを提供することがあります。プロバイダーモジュール内に、これらのモデルタイプに対応するサブモジュールを作成し、各モデルタイプが独立した論理構造を持つようにすることで、保守性と拡張性を高めます。
現在サポートされているモデルタイプは以下のとおりです。
llm
: テキスト生成モデルtext_embedding
: テキスト埋め込みモデルrerank
: Rerankモデルspeech2text
: 音声テキスト変換tts
: テキスト音声変換moderation
: 審査Anthropic
を例にとると、そのシリーズモデルにはLLMタイプのモデルのみが含まれているため、/models
パスに/llm
フォルダを新規作成し、異なるモデルのYAMLファイルを追加するだけで済みます。詳細なコード構造については、GitHubコードリポジトリを参照してください。
OpenAI
のファミリーモデルのように、モデルプロバイダーがllm
、text_embedding
、moderation
、speech2text
、tts
など、さまざまなタイプのモデルを提供している場合は、/models
パスに各タイプに対応するフォルダを作成する必要があります。構造は以下のようになります。
/models
パスにllm.py
というコードファイルを作成する必要があります。Anthropic
を例にとると、llm.py
にAnthropic LLMクラスを作成し、AnthropicLargeLanguageModel
という名前を付け、__base.large_language_model.LargeLanguageModel
基本クラスを継承します。
以下に、一部の機能のサンプルコードを示します。
yield
キーワードを含む関数はジェネレーター関数として認識され、その戻り値の型がGenerator
に固定されるためです。ロジックを明確にし、様々なリターンの要求に対応するために、同期リターンとストリームリターンは個別に実装する必要があります。
以下はサンプルコードです(サンプルではパラメータが簡略化されています。実際の実装では、完全なパラメータリストに従って記述してください)。
InvokeError
タイプにマッピングする必要があります。
Runtime Errors:
InvokeConnectionError
: 呼び出し接続エラーInvokeServerUnavailableError
: 呼び出しサービスが利用不可InvokeRateLimitError
: 呼び出しが制限に達しましたInvokeAuthorizationError
: 呼び出し認証に失敗しましたInvokeBadRequestError
: 呼び出しパラメータにエラーがありますYAML
ファイル(例:claude-3.5.yaml
)を作成します。AIModelEntityの仕様に従ってファイルの内容を記述し、モデルのパラメータと機能を定義します。
claude-3-5-sonnet-20240620
モデルのサンプルコード:
.env.example
ファイルをコピーして.env
にリネームし、取得したリモートサーバーアドレスとデバッグKeyなどの情報を入力します。
.env
ファイル
python -m main
コマンドを実行してプラグインを起動します。プラグインページで、そのプラグインがWorkspaceにインストールされていることを確認できます。他のチームメンバーもこのプラグインにアクセスできます。