注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

言語別の機能サポート

すべての言語ですべての機能がサポートされているわけではありません。言語別の機能サポートについては、以下のテーブルを参照してください。

言語別の Functions 機能AIP LogicTypeScript v1TypeScript v2Python説明
オントロジーオブジェクトのサポートはいはいはいはい関数内でオントロジーオブジェクトにアクセスする機能。
オントロジーインターフェースのサポートいいえいいえはいいいえ関数内でオントロジーインターフェースにアクセスし、編集する機能。
オントロジー編集のサポートはいはいはいはい関数内でオントロジーオブジェクトを編集する機能。
メディア処理のサポートいいえはい一部一部メディアアイテムを操作する機能。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 のみに適用されるレガシーなアプローチです。

オントロジー SDK のサポート

Python と TypeScript v2 の関数は、オントロジー SDK をサポートします。オントロジー SDK を使用すると、開発環境からオントロジーを直接活用でき、Developer Console との互換性やオントロジー SDK のバージョン管理などのメリットがあります。関数リポジトリでこれらのメリットを活用するには、Python または TypeScript v2 の使用を推奨します。

TypeScript v1 と TypeScript v2 の比較

TypeScript v1 と TypeScript v2 はどちらも TypeScript の主要な言語機能を活用できますが、上記の機能サポートテーブルに示すように、サポートされるプラットフォーム機能には違いがあります。TypeScript v1 からの主な改善点を活用するために、TypeScript v2 の関数を使用してワークフローを構築することを推奨します。

  • 完全な Node.js ランタイムでのサーバーレス実行: TypeScript v2 の関数は Node.js 環境で実行され、fs、child_process、crypto などのコアモジュールをサポートします。これにより、ファイルシステムを操作する NPM ライブラリ、CPU 負荷の高いタスクを並列で実行する NPM ライブラリ、その他のシステムレベルの操作を必要とする NPM ライブラリとの互換性が向上します。
  • オントロジー SDK の標準サポート: オントロジー SDK を TypeScript v2 の関数でシームレスに使用できるようになり、プラットフォームの内外でコードを簡単に再利用できます。また、大規模なオントロジーデータを扱うための、より効率的な API も提供します。
  • 設定可能なリソース要求: TypeScript v2 の関数では、最大8 vCPU と 5 GB のメモリーを要求でき、パフォーマンスとスケーラビリティをより細かく制御できます。
  • ステージング書き込み [ベータ版]: TypeScript v2 はステージング書き込みをサポートします。これはオントロジー編集関数の代替実行モデルであり、関数内での書き込み後の読み取りを保証し、他のステージング書き込み関数へのネストされた呼び出しを可能にします。

サーバーレス関数

エンロールメントでサーバーレス関数が有効になっている場合、新しいリポジトリではデフォルトでサーバーレス関数が使用されます。ほとんどのユースケースでは、デプロイ済み関数ではなくサーバーレス関数の使用を推奨します。サーバーレス関数では、単一の関数の複数のバージョンをオンデマンドで利用可能にできるため、より安全にアップグレードできます。

Python または TypeScript v2 関数を使用する場合、デプロイ済み関数が推奨されるケースや、サーバーレス関数の代わりにデプロイ済み関数を使用しなければならないケースもありますが、これらは一般的ではありません。利用可能な場合は、次の理由からサーバーレス関数が推奨されます。

  • サーバーレス関数では、単一の関数の異なるバージョンをオンデマンドで実行できるため、より安全にアップグレードできます。デプロイ済み関数では、一度に実行できる関数のバージョンは1つだけです。
  • サーバーレス関数では実行時にのみコストが発生しますが、デプロイ済み関数ではデプロイメントが稼働している間はコストが発生します。
  • サーバーレス関数ではインフラストラクチャが自動的に管理されるため、初期セットアップや長期的なメンテナンスの負担が少なくなります。