Tanık Dokümantasyon

Uygulamaları bağlama

#OpenAI

Tanık, OpenAI API'sinin üç ucunu aynı yolla sunar: /v1/chat/completions, /v1/responses ve /v1/embeddings. Uygulamanızda base_url ve api_key değişir; başka bir şey değişmez.

#Python

from openai import OpenAI
import os

client = OpenAI(
    base_url="https://tanik.kurum.com.tr/v1",   # sağlayıcı adresi yerine
    api_key=os.environ["TANIK_API_KEY"],         # sağlayıcı anahtarı yerine
)

client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Bu talebi özetle: ..."}],
)

#Node.js

import OpenAI from 'openai';

const client = new OpenAI({
  baseURL: 'https://tanik.kurum.com.tr/v1',
  apiKey: process.env.TANIK_API_KEY,
});

#Akışlı istekler

stream: true olduğu gibi çalışır; Tanık parçaları geldiği gibi iletir, tamponlamaz. Token kullanımının kayda ve bütçeye girmesi için akışlı isteklerde kullanım bildirimini isteyin:

client.chat.completions.create(
    model="gpt-4o",
    messages=[...],
    stream=True,
    stream_options={"include_usage": True},
)

Bu seçenek olmadan OpenAI token sayısını bildirmez; Tanık tahmin etmez ve o istekler bütçeye sayılmaz. Ayrıntı: Akışlı istekler.

#Embeddings

/v1/embeddings isteklerinde girdi metni taranır ve bulunan kişisel veri kayda geçer, ancak maskelenmez: maskelenmiş bir metnin vektörü başka bir şeyin vektörü olurdu. Rapor bunu embeddings_not_masked çekincesiyle belirtir. Embedding trafiğinde kişisel veri istemiyorsanız politikada block seçeneğini kullanın.

#Hedef tanımı

create-target --name openai-eu --api-style openai \
  --base-url https://api.openai.com/v1 --region eu \
  --auth-kind bearer --secret-ref openai --models 'gpt-*,o*'

Konsolun Sağlayıcılar ekranında: API biçimi "OpenAI", kimlik türü "bearer", adres /v1 ile biter.

#Hatalar

Tanık'ın kendi redleri OpenAI'nin hata biçiminde döner; error.code alanında Tanık'ın kodu bulunur (policy_blocked, request_held, insufficient_quota…). Liste: Hata kodları.