ファイル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に残ります。

ヒント

このAPIを使用する前の設定ステップについては、QuickStartを参照してください。

認証

OCI OpenAI互換エンドポイントには、次の2つの方法でアクセスできます。

テストおよび早期開発にAPIキーを使用します。本番ワークロードおよびOCI管理環境には、IAMベースの認証を使用します。

ファイルをアップロードしています

POST /files

本文のパラメータ
  • file (必須): アップロードするファイル・オブジェクト
  • purpose (必須): ファイルの目的。サポートされる値:
    • assistants
    • batch
    • fine-tune
    • vision
    • user_data
    • evals
  • expires_after (オプション): ファイルの有効期限ポリシー
ファイル・タイプの制限(目的別)
  • batch: .jsonl
  • fine-tune: .jsonl
  • evals: .jsonl
  • vision: .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)