Datei-API

Mit der Datei-API können Sie Dokumente und andere Daten hochladen und verwalten, die Agents während der Ausführung verwenden können.

Durch das Anhängen von Dateien an Workflows wie Abruf- und Zusammenfassungsaufgaben können Agents mit großen oder komplexen Quellmaterialien arbeiten, ohne dass Sie Inhalt in Prompts einfügen müssen. Mit diesem Ansatz können Sie leistungsfähigere Agents erstellen, die Wissensdatenbanken, Berichte, Protokolle und Datasets skalierbar und wiederverwendbar verwenden können, während die Datenverarbeitung zentralisiert und konsistent bleibt.

Warnung

Dieser Service ist nicht dazu bestimmt, personenbezogene Daten oder Daten (z. B. bestimmte regulierte Gesundheits- oder Zahlungskartendaten) zu verarbeiten, die Oracle spezifische Datensicherheits-, Datenschutz- oder regulatorische Verpflichtungen auferlegen, die über die in Ihrem Vertrag mit Oracle festgelegten Verpflichtungen hinausgehen oder von diesen abweichen.

Hinweis

Die OCI-Dateien-API verwendet dasselbe Format wie die OpenAI-Dateien-API mit dem OCI OpenAI-kompatiblen Endpunkt. Syntax- und Anforderungsdetails finden Sie in der Dokumentation zur OpenAI-Dateien-API.

Unterstützter API-Endpunkt

Basis-URL Endpunktpfad Authentifizierung
https://inference.generativeai.${region}.oci.oraclecloud.com/openai/v1 /files API-Schlüssel oder IAM-Session

Ersetzen Sie ${region} durch eine unterstützte Region, wie us-chicago-1.

Obwohl das Anforderungsformat OpenAI-kompatibel ist, verwendet die Authentifizierung OCI-Zugangsdaten, Anforderungen werden über OCI Generative AI-Inferenzendpunkte weitergeleitet, und Ressourcen und Ausführung bleiben in OCI.

Tipp

Einrichtungsschritte vor der Verwendung dieser API finden Sie unter QuickStart.

Authentifizierung

Sie können auf zwei Arten auf OCI OpenAI-kompatible Endpunkte zugreifen:

Verwenden Sie API-Schlüssel für Tests und frühe Entwicklung. Verwenden Sie die IAM-basierte Authentifizierung für Produktions-Workloads und OCI-verwaltete Umgebungen.

Datei wird hochgeladen

POST /files

Textparameter
  • file (erforderlich): Hochzuladendes Dateiobjekt
  • purpose (erforderlich): Der beabsichtigte Zweck der Datei. Unterstützte Werte:
    • assistants
    • batch
    • fine-tune
    • vision
    • user_data
    • evals
  • expires_after (optional): Ablauf-Policy für die Datei
Dateitypbeschränkungen (nach Zweck)
  • batch: .jsonl
  • fine-tune: .jsonl
  • evals: .jsonl
  • vision: .gif, .jpeg, .jpg, .png, .webp
Referenz

Datei hochladen

Python-Beispiel:

# 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)

Auflisten von Dateien

GET /files

Eingabeparameter
  • after (optional): Cursor für Paginierung
  • limit (optional): Anzahl der zurückzugebenden Objekte
  • order (optional): Sortierreihenfolge nach created_at ("asc" oder "desc")
  • purpose (optional): Dateien nach Zweck filtern
Referenz

Dateien auflisten

Python-Beispiel:

# 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)

Dateiinformationen werden abgerufen

GET /files/{file_id}

Eingabeparameter
  • file_id (erforderlich): ID der abgerufenen Datei
Referenz

Datei abrufen

Python-Beispiel:

# retrieve file
file = client.files.retrieve(file_id="xxx")
print(file)

Dateiinhalt wird abgerufen

GET /files/{file_id}/content

Eingabeparameter
  • file_id (erforderlich): ID der Datei, deren Inhalt Sie abrufen möchten
Referenz

Dateiinhalt abrufen

Python-Beispiel:

# retrieve file content
file = client.files.content(file_id="xxx")
print(file.content)

Datei wird gelöscht

DELETE /files/{file_id}

Eingabeparameter
  • file_id (erforderlich): ID der zu löschenden Datei
Referenz

Datei löschen

Python-Beispiel:

# delete file
delete_result = client.files.delete(file_id="xxx")
print(delete_result)