Azure OpenAI-Integration

Noirdoc mit Azure OpenAI Deployments nutzen.

Überblick

Noirdoc unterstützt Azure OpenAI Service als Provider. Da Azure OpenAI eine eigene URL-Struktur und Authentifizierung verwendet, bietet Noirdoc zwei Endpunkt-Formate an: das v1-Format (empfohlen) und das Legacy-Format für maximale Kompatibilität.

URL-Formate

v1-Format (empfohlen)

Im v1-Format übergeben Sie den Deployment-Namen und die API-Version als Query-Parameter an den standardisierten Noirdoc-Endpunkt:

https://api.noirdoc.de/v1/chat/completions?deployment=YOUR_DEPLOYMENT&api-version=2025-04-01-preview

Dieses Format eignet sich besonders, wenn Sie das OpenAI Python-SDK verwenden und die Azure-spezifische Konfiguration minimieren moechten.

Legacy-Format

Das Legacy-Format bildet die Original-URL-Struktur von Azure nach:

https://api.noirdoc.de/openai/deployments/YOUR_DEPLOYMENT/chat/completions?api-version=2025-04-01-preview

Dieses Format ist nützlich, wenn Sie bestehenden Code migrieren, der die Azure-URL-Struktur direkt verwendet.

Python — mit OpenAI SDK

Das OpenAI Python-SDK bietet eine eigene AzureOpenAI-Klasse, die Sie mit Noirdoc nutzen koennen:

from openai import AzureOpenAI

client = AzureOpenAI(
    azure_endpoint="https://api.noirdoc.de",
    api_key="px-your-noirdoc-key",
    api_version="2025-04-01-preview",
)

response = client.chat.completions.create(
    model="my-gpt54mini-deployment",
    messages=[
        {
            "role": "user",
            "content": "Fasse den Vertrag für Max Mustermann, IBAN DE89370400440532013000, zusammen."
        }
    ],
)

print(response.choices[0].message.content)

Der model-Parameter entspricht hier dem Namen Ihres Azure-Deployments. Noirdoc leitet die Anfrage an das korrekte Azure-Deployment weiter.

Python — mit Standard-OpenAI-Client

Alternativ koennen Sie den regulaeren OpenAI-Client verwenden und das v1-Format nutzen:

from openai import OpenAI

client = OpenAI(
    base_url="https://api.noirdoc.de/v1",
    api_key="px-your-noirdoc-key",
)

response = client.chat.completions.create(
    model="my-gpt54mini-deployment",
    messages=[
        {
            "role": "user",
            "content": "Erstelle einen Bericht über die Patientenakte von Dr. Weber."
        }
    ],
    extra_query={"deployment": "my-gpt54mini-deployment", "api-version": "2025-04-01-preview"},
)

print(response.choices[0].message.content)

Authentifizierung

Azure OpenAI verwendet standardmaessig den Header api-key statt Authorization: Bearer. Noirdoc erkennt beide Formate automatisch. Bei direkten HTTP-Anfragen verwenden Sie:

curl "https://api.noirdoc.de/openai/deployments/my-gpt54mini-deployment/chat/completions?api-version=2025-04-01-preview" \
  -H "api-key: px-your-noirdoc-key" \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [
      {"role": "user", "content": "Analysiere den Fall von Anna Schmidt, Steuer-ID 12 345 678 901."}
    ]
  }'

API-Version

Der Parameter api-version wird unveraendert an Azure weitergeleitet. Verwenden Sie die Version, die Ihr Deployment unterstützt. Gaengige Werte sind:

  • 2025-04-01-preview — aktuellste Preview-Version
  • 2025-03-01-preview — vorherige Preview-Version
  • 2025-01-01-preview — aeltere Preview-Version

Hinweise

  • Der Deployment-Name in Azure entspricht dem model-Parameter im SDK.
  • Noirdoc pseudonymisiert die Inhalte identisch wie bei direkten OpenAI-Anfragen.
  • Streaming wird vollstaendig unterstützt, auch im Azure-Format.
  • Embeddings und andere Azure-Endpunkte werden ebenfalls durch den Proxy geleitet.
  • Stellen Sie sicher, dass Ihr Azure-API-Key im Noirdoc-Portal korrekt hinterlegt ist und der Provider auf „Azure OpenAI” eingestellt wurde.