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

Foundry プラットフォーム SDK でプラットフォーム API を使用する

Foundry API はさまざまな機能を公開しており、関数内で Foundry プラットフォーム SDK ライブラリを使用して活用できます。プラットフォーム SDK を使用すると、管理やガバナンスのワークフロー向けの関数を作成したり、スケジュールやビルドを操作したり、メディアセットにアクセスしたりできます。

TypeScript v1 関数はファーストクラス認証に対応していません。これらのワークフローには Python 関数と TypeScript v2 関数を使用することを推奨します。

SDK をインストールする

Foundry プラットフォーム SDK をインストールするには、コードリポジトリのライブラリサイドパネルに移動し、SDK 名を検索します。Python の場合は foundry-platform-sdk、TypeScript の場合は @osdk/foundry です。

Python プラットフォーム SDK を検索しているライブラリ検索パネル。 TypeScript プラットフォーム SDK を検索しているライブラリ検索パネル。

Python バージョンの互換性

Python の foundry-platform-sdk には Python 3.9 以降が必要です。Python 3.14 への対応は、foundry-platform-sdk バージョン 1.93.0 から開始されます。それより前の SDK バージョンでは、Python 3.14 を使用すると typing モジュールのエラーが返される場合があります。これらのエラーを解消するには、バージョン 1.93.0 以降にアップグレードします。または、Python 3.11、3.12、3.13 を使用します。

クライアントを初期化する

関数が Foundry API を操作するには認証が必要です。このプロセスでは、認証済みの「クライアント」をインスタンス化します。このクライアントを通じて、SDK から Foundry API にリクエストを送信できます。TypeScript v2 リポジトリでは、@osdk/client ライブラリが必要です。このライブラリはプリインストールされているはずです。緑色のピンが表示されているかどうかで確認できます。

TypeScript 用の認証ライブラリ。

プラットフォーム API を使用する

関数の認証が完了すると、Foundry API を使用できるようになります。以下の例では、Python と TypeScript のそれぞれで言語モデルを呼び出したり、メディアセットにクエリを実行したりする方法を示します。

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 import { Client, // 関数がオントロジーとやり取りする場合は Client を使用します PlatformClient // 関数がオントロジーとやり取りしない場合は PlatformClient を使用します } from "@osdk/client"; import { Functions } from "@osdk/foundry"; export default async function useLlm( client: PlatformClient, // このパラメーターには、実行時に Foundry によって値が設定されます prompt: string ): Promise<string> { const promptMessage = [ { role: "USER", content: prompt } ]; const result = await Functions.Queries.execute( client, "com.foundry.languagemodelservice.models.gpt41.CreateChatCompletion", { parameters: { messages: promptMessage } }, { preview: true, // 不安定なエンドポイントでのみ必要です。API リファレンスを参照してください } ); return result.value["completion"] as string; }
Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 from foundry_sdk import FoundryClient @function def media_item_to_base64(media_item_rid: str, media_set_rid: str) -> str: foundry_client = FoundryClient() result = foundry_client.media_sets.MediaSet.read( media_set_rid=media_set_rid, media_item_rid=media_item_rid, preview=True # 不安定なエンドポイントでのみ必要です。API リファレンスを参照してください ) # バイナリストリームを base64 エンコードされた文字列に変換します base64_encoded = base64.b64encode(result).decode('utf-8') return base64_encoded

クライアントの権限

TypeScript v2 クライアント(実行時に Foundry から関数に渡されます)と、コード内で初期化した Python クライアントには、以下の権限スコープがあります。

  • api:admin-read
  • api:functions-read
  • api:ontologies-read
  • api:orchestration-read
  • api:usage:mediasets-read
  • api:usage:ontologies-write

各プラットフォーム API エンドポイントを呼び出すには、特定のスコープが必要です。これらのスコープに関するドキュメントは、API リファレンスで確認できます。

Foundry 関数は、api:usage:datasets-read スコープを使用したデータセットの直接読み取りに対応していません。データセットの読み取りでは権限エラーが返されます。Code Workspaces のライブプレビューでは、ユーザーコンテキストとすべてのスコープで実行されるためコードの実行に成功する場合がありますが、デプロイ済みの関数では権限が制限されているため、実行に失敗する場合があります。