注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
すべての言語ですべての機能がサポートされているわけではありません。言語別の機能サポートについては、以下のテーブルを参照してください。
| 言語別の Functions 機能 | AIP Logic | TypeScript v1 | TypeScript v2 | Python | 説明 |
|---|---|---|---|---|---|
| オントロジーオブジェクトのサポート | はい | はい | はい | はい | 関数内でオントロジーオブジェクトにアクセスする機能。 |
| オントロジーインターフェースのサポート | いいえ | いいえ | はい | いいえ | 関数内でオントロジーインターフェースにアクセスし、編集する機能。 |
| オントロジー編集のサポート | はい | はい | はい | はい | 関数内でオントロジーオブジェクトを編集する機能。 |
| メディア処理のサポート | いいえ | はい | 一部 | 一部 | メディアアイテムを操作する機能。TypeScript v1 は、ドキュメントの OCR や音声の文字起こしを含む、すべてのメディア操作をサポートします。TypeScript v2 と Python は、オントロジー編集によるメディアのアップロードとメディアプロパティに対する基本的な操作をサポートしますが、ドキュメント固有または音声固有の操作はサポートしません。 |
| Workshop からのクエリ実行 | はい | はい | はい | はい | Workshop アプリケーションから関数を呼び出す機能。 |
| Pipeline Builder での利用 | いいえ | いいえ | いいえ | はい | Pipeline Builder のパイプラインから関数を呼び出す機能。 |
| モデルに対する関数のサポート | はい | はい | はい | はい | 関数からライブデプロイメントのモデルを実行する機能。TypeScript v2 と Python では、オントロジーにバインドされたモデル関数が必要です。 |
| 言語モデルの統合 | いいえ | いいえ | はい | はい | モデルエイリアスとプラットフォーム SDK のインポートを使用して、プロキシエンドポイント経由で言語モデルを呼び出す機能。 |
| セマンティック検索のサポート | はい | はい | はい | はい | 関数を使用してセマンティック検索用のベクトルを作成する機能。 |
| Webhook のサポート | いいえ | はい | 一部 | 一部 | 関数から Webhook を呼び出す機能。TypeScript v1 は Webhook を直接呼び出せます。TypeScript v2 と Python では、Webhook を Webhook 関数として公開する必要があります。 |
| 外部 API 呼び出しのサポート | いいえ | はい | はい | はい | 関数内から外部サービスにクエリを実行する機能。 |
| サーバーレス実行のサポート | はい | はい | はい | はい | サーバーレス関数は、呼び出されたときにオンデマンドで起動します。詳細については、以下のサーバーレス関数を参照してください。 |
| デプロイ済み実行のサポート | いいえ | いいえ | はい | はい | デプロイ済み関数には専用のリソースが割り当てられ、リクエストを処理できる状態になります。 |
| ステージング書き込みのサポート [ベータ版] | いいえ | いいえ | はい | はい | TypeScript v2 と Python でステージング書き込みを使用し、編集関数で書き込み後の読み取り保証とアトミックな実行を実現する機能。 |
| API ゲートウェイからの関数呼び出し | はい | はい | はい | はい | API ゲートウェイからクエリ関数を呼び出す機能。 |
| Marketplace のサポート | はい | はい | はい | はい | Marketplace で関数をパッケージ化して配布する機能。 |
| 独自モデルの持ち込み | はい | はい | いいえ | いいえ | 関数をモデルとして登録する機能。関数インターフェース方式は、TypeScript v1 のみに適用されるレガシーなアプローチです。 |
Python と TypeScript v2 の関数は、オントロジー SDK をサポートします。オントロジー SDK を使用すると、開発環境からオントロジーを直接活用でき、Developer Console との互換性やオントロジー SDK のバージョン管理などのメリットがあります。関数リポジトリでこれらのメリットを活用するには、Python または TypeScript v2 の使用を推奨します。
TypeScript v1 と TypeScript v2 はどちらも TypeScript の主要な言語機能を活用できますが、上記の機能サポートテーブルに示すように、サポートされるプラットフォーム機能には違いがあります。TypeScript v1 からの主な改善点を活用するために、TypeScript v2 の関数を使用してワークフローを構築することを推奨します。
fs、child_process、crypto などのコアモジュールをサポートします。これにより、ファイルシステムを操作する NPM ライブラリ、CPU 負荷の高いタスクを並列で実行する NPM ライブラリ、その他のシステムレベルの操作を必要とする NPM ライブラリとの互換性が向上します。エンロールメントでサーバーレス関数が有効になっている場合、新しいリポジトリではデフォルトでサーバーレス関数が使用されます。ほとんどのユースケースでは、デプロイ済み関数ではなくサーバーレス関数の使用を推奨します。サーバーレス関数では、単一の関数の複数のバージョンをオンデマンドで利用可能にできるため、より安全にアップグレードできます。
Python または TypeScript v2 関数を使用する場合、デプロイ済み関数が推奨されるケースや、サーバーレス関数の代わりにデプロイ済み関数を使用しなければならないケースもありますが、これらは一般的ではありません。利用可能な場合は、次の理由からサーバーレス関数が推奨されます。