ファイルAPI
Files APIを使用して、エージェントが実行中に使用できるドキュメントおよびその他のデータをアップロードおよび管理できます。
検索や要約タスクなどのワークフローにファイルを添付することで、エージェントは、プロンプトにコンテンツを貼り付ける必要なく、大規模または複雑なソース資料を操作できます。このアプローチは、データ処理を一元化して一貫性を保ちながら、ナレッジ・ベース、レポート、ログおよびデータセットをスケーラブルで再利用可能な方法で使用できる、より有能なエージェントを構築するのに役立ちます。
このサービスは、Oracleに特定のデータ・セキュリティ、データ保護または規制上の義務を課す個人情報またはデータ(特定の規制対象となる健康情報や支払カード情報など)を、Oracleとの契約に規定されているものと異なるものに加え、処理することを意図したものではありません。
OCIファイルAPIでは、OCI OpenAI互換エンドポイントを含むOpenAIファイルAPIと同じ形式が使用されます。構文およびリクエストの詳細は、OpenAI Files APIのドキュメントを参照してください。
サポートされているAPIエンドポイント
| ベースURL | エンドポイント・パス | 認証 |
|---|---|---|
https://inference.generativeai.${region}.oci.oraclecloud.com/openai/v1 |
/files |
APIキーまたはIAMセッション |
${region}を、us-chicago-1などのサポートされているリージョンに置き換えます。
リクエスト形式はOpenAIと互換性がありますが、認証ではOCI資格証明が使用され、リクエストはOCI生成AI推論エンドポイントを介してルーティングされ、リソースと実行はOCIに残ります。
認証
OCI OpenAI互換エンドポイントには、次の2つの方法でアクセスできます。
テストおよび早期開発にAPIキーを使用します。本番ワークロードおよびOCI管理環境には、IAMベースの認証を使用します。
ファイルをアップロードしています
POST /files
- 本文のパラメータ
-
file(必須): アップロードするファイル・オブジェクトpurpose(必須): ファイルの目的。サポートされる値:assistantsbatchfine-tunevisionuser_dataevals
expires_after(オプション): ファイルの有効期限ポリシー
- ファイル・タイプの制限(目的別)
-
batch:.jsonlfine-tune:.jsonlevals:.jsonlvision:.gif,.jpeg,.jpg,.png,.webp
- 参照
-
Pythonの例:
# upload a file file_path = "./example-file.pdf" with open(file_path, "rb") as f: file = client.files.create( file=f, purpose="user_data" ) print(file.id)
ファイルの一覧表示
GET /files
- 入力パラメータ
-
after(オプション): ページ区切りで使用するカーソルlimit(オプション): 返されるオブジェクトの数order(オプション):created_at(「asc」または「desc」)によるソート順序purpose(オプション): 目的別にファイルをフィルタします。
- 参照
-
Pythonの例:
# list files client = OpenAI( base_url="https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/openai/v1", api_key="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", project="ocid1.generativeaiproject.oc1.us-chicago-1.xxxxxxxx", ) files_list = client.files.list(order="asc") print(files_list)
ファイル情報の取得
GET /files/{file_id}
- 入力パラメータ
-
file_id(必須): 取得するファイルのID
- 参照
-
Pythonの例:
# retrieve file file = client.files.retrieve(file_id="xxx") print(file)
ファイル・コンテンツの取得中
GET /files/{file_id}/content
- 入力パラメータ
-
file_id(必須): コンテンツを取得するファイルのID
- 参照
-
Pythonの例:
# retrieve file content file = client.files.content(file_id="xxx") print(file.content)
ファイルの削除
DELETE /files/{file_id}
- 入力パラメータ
-
file_id(必須): 削除するファイルのID
- 参照
-
Pythonの例:
# delete file delete_result = client.files.delete(file_id="xxx") print(delete_result)