# Python: açık ağırlıklı modellere yönlendirilmiş OpenAI SDK

> Resmi openai paketiyle Python'dan açık ağırlıklı LLM'leri çağırın: tek çağrı, eşzamanlılık sınırlı async toplu işler, akış ve her isteğin maliyeti.

- URL: https://llmwithcrypto.com/tr/docs/python/
- Son güncelleme: 2026-10-23
- Yayıncı: LLMwithCrypto (https://llmwithcrypto.com)

Resmi `openai` paketi olduğu gibi çalışır: istemciyi oluştururken base URL'mizi ve anahtarınızı geçin. Model adı dışında kodunuzdaki her şey aynı kalır.

**Kısa yanıt — LLMwithCrypto Python'dan nasıl çağırırım?**

Resmi paketi `pip install openai` ile kurun, ardından istemciyi `base_url="https://llmwithcrypto.com/api/v1"` ve `LLMWITHCRYPTO_API_KEY` içindeki anahtarınızla oluşturun. **LLMwithCrypto**, `deepseek-v4-pro` veya `gpt-oss-120b` gibi 12 açık ağırlıklı model için `client.chat.completions.create()` adresini OpenAI API gibi yanıtlar. Akış, async ve tool call'lar 23 Ekim 2026'da belgelendiği üzere her zamanki gibi çalışır.

## Neye ihtiyacınız var

| Özellik | Değer |
| --- | --- |
| Python | 3.9 veya daha yeni |
| Paket | `openai` (resmi); credits çağrısı için `requests` |
| Base URL | `https://llmwithcrypto.com/api/v1` |
| Anahtar | `LLMWITHCRYPTO_API_KEY` ortam değişkeninde, asla kodda değil |
| Model kimlikleri | [models page](https://llmwithcrypto.com/tr/models/) üzerinde veya `client.models.list()` ile |

## Tek bir isteği nasıl gönderirim?

İstemciyi bir kez oluşturun ve yeniden kullanın: çağrılar arasında bağlantıyı açık tutar. SDK burada base URL için kendiliğinden hiçbir ortam değişkeni okumaz, bu yüzden açıkça geçin.

*one_call.py*

```python
import os

from openai import OpenAI

client = OpenAI(
    base_url="https://llmwithcrypto.com/api/v1",
    api_key=os.environ["LLMWITHCRYPTO_API_KEY"],
)

resp = client.chat.completions.create(
    model="deepseek-v4-pro",
    messages=[
        {"role": "system", "content": "Answer in two sentences."},
        {"role": "user", "content": "What is a context window?"},
    ],
    max_tokens=200,
)
print(resp.choices[0].message.content)
print(resp.usage.prompt_tokens, "in,", resp.usage.completion_tokens, "out")

```

## Aynı anda çok sayıda isteği nasıl çalıştırırım?

`AsyncOpenAI` ile `asyncio.gather` kullanın ve kaç isteğin paralel çalışacağını sınırlamak için bir semaphore ekleyin. Dört güvenli bir başlangıçtır; rate limit'inizin altında kaldığınız sürece artırın. Her hesabın dashboard'da gösterilen bir dakika başına istek ve token limiti vardır; destek ekibine sorun, yükseltilebilir.

*many_calls.py*

```python
import asyncio
import os

from openai import AsyncOpenAI

client = AsyncOpenAI(
    base_url="https://llmwithcrypto.com/api/v1",
    api_key=os.environ["LLMWITHCRYPTO_API_KEY"],
)
LIMIT = asyncio.Semaphore(4)


async def summarize(text):
    async with LIMIT:
        resp = await client.chat.completions.create(
            model="deepseek-v4.1-flash",
            messages=[
                {"role": "system", "content": "Summarize in one sentence."},
                {"role": "user", "content": text},
            ],
            max_tokens=80,
        )
        return resp.choices[0].message.content


async def main():
    docs = ["First report text...", "Second report text...", "Third report text..."]
    for summary in await asyncio.gather(*(summarize(d) for d in docs)):
        print("-", summary)


asyncio.run(main())

```

## Yanıtı nasıl akış (stream) olarak alırım?

`stream=True` iletin ve chunk'lar üzerinde döngü kurun; her chunk `delta.content` içinde bir metin parçası taşır. `stream_options={"include_usage": True}` ile son chunk token sayılarını taşır. [Streaming sayfası](https://llmwithcrypto.com/tr/docs/streaming/) formatı açıklıyor.

*stream.py*

```python
import os

from openai import OpenAI

client = OpenAI(
    base_url="https://llmwithcrypto.com/api/v1",
    api_key=os.environ["LLMWITHCRYPTO_API_KEY"],
)

stream = client.chat.completions.create(
    model="deepseek-v4.1-flash",
    messages=[{"role": "user", "content": "Write a haiku about latency."}],
    stream=True,
    stream_options={"include_usage": True},
    max_tokens=120,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)
    if chunk.usage:
        print("\n", chunk.usage.prompt_tokens, "in,", chunk.usage.completion_tokens, "out")

```

## Bir isteğin ne kadara mal olduğunu nasıl bilirim?

`usage` sayılarını modelin milyon token başına fiyatlarıyla çarpın. 23 Ekim 2026 itibarıyla DeepSeek V4 Pro, milyon giriş token'ı başına $1.254 ve milyon çıkış token'ı başına $3.762 tutuyor; örnek bu iki sayıyı sabit kodluyor, bu yüzden fiyatlar değiştiğinde bunları [fiyatlandırma sayfasından](https://llmwithcrypto.com/tr/pricing/) güncelleyin. Dashboard her çağrının tam maliyetini gösterir.

*cost.py*

```python
import os

from openai import OpenAI

# prices per 1M tokens of the models you use, copied from the pricing page
PRICES = {"deepseek-v4-pro": (1.254, 3.762)}

client = OpenAI(
    base_url="https://llmwithcrypto.com/api/v1",
    api_key=os.environ["LLMWITHCRYPTO_API_KEY"],
)
resp = client.chat.completions.create(
    model="deepseek-v4-pro",
    messages=[{"role": "user", "content": "Give me three names for a coffee shop."}],
    max_tokens=100,
)
price_in, price_out = PRICES[resp.model]
cost = (resp.usage.prompt_tokens * price_in + resp.usage.completion_tokens * price_out) / 1_000_000
print(resp.choices[0].message.content)
print(f"cost: ${cost:.6f}")

```

## Mevcut bir OpenAI uygulamasını nasıl taşırım?

Genellikle tek bir dosyada üç değişiklik:

1. **İstemci.** `base_url` ekleyin ve anahtarı `OpenAI()` veya `AsyncOpenAI()` oluşturduğunuz yerde `LLMWITHCRYPTO_API_KEY` üzerinden okuyun.
2. **Model adları.** Her `gpt-…` adını [modeller sayfasındaki](https://llmwithcrypto.com/tr/models/) bir id ile değiştirin. Tüm projeyi arayın: model adları config dosyalarında, prompt'larda ve testlerde saklanır.
3. **Güvendiğiniz özellikler.** Chat, streaming ve system prompt'lar her yerde çalışır. Tool calling ve JSON çıktısı modele bağlıdır, bu yüzden mevcut testlerinizi seçtiğiniz model üzerinde çalıştırın.

Geri kalan her şey aynı kalır: prompt'larınız, retry mantığınız, `choices` ve `usage` ayrıştırmanız. [Geçiş rehberi](https://llmwithcrypto.com/tr/guides/switch-openai-sdk-to-open-models/) ayrıntıları adım adım anlatır.

## Anahtar nerede durmalı?

Ortam değişkenlerinde, asla kodda değil. Yerelde uygulamanızın yüklediği ve `.gitignore` içinde listelenen bir `.env` dosyası yeterlidir; production'da barındırıcınızın veya CI'nızın secret store'unu kullanın. Her uygulamaya veya servise kendi anahtarını verin, böylece diğerlerini durdurmadan birini iptal edebilirsiniz. Her uygulama, agent veya ekip arkadaşı için bir API anahtarı oluşturun ve dashboard'dan diğerlerine dokunmadan herhangi birini iptal edin.

## Python: sık sorulan sorular

### SDK kendi kendine retry yapar mı?

Evet, `openai` paketi bazı hataları varsayılan olarak iki kez yeniden dener (`max_retries`). [Hatalar sayfası](https://llmwithcrypto.com/tr/docs/errors/) hangi hataların retry'a değer olduğunu listeler.

### OpenAI kodumu kullanmaya devam edebilir miyim?

Evet. API, OpenAI chat completions formatını konuşur: OpenAI SDK'sını, LangChain'i veya OpenAI ile uyumlu herhangi bir aracı, anahtarınızla birlikte temel URL'mize yönlendirin ve model adını değiştirin. [Geçiş rehberi](https://llmwithcrypto.com/tr/guides/switch-openai-sdk-to-open-models/) kontrol edilecekleri listeler.

### Hangi Python framework'leri çalışır?

OpenAI uyumlu bir base URL kabul eden her şey. [LangChain sayfası](https://llmwithcrypto.com/tr/docs/langchain/) LangChain ve LlamaIndex'i gösterir.

---

LLMwithCrypto: LLMwithCrypto, açık ağırlıklı modeller için OpenAI uyumlu bir LLM API'sidir — DeepSeek V4 Pro, DeepSeek V4.1 Flash, DeepSeek R1, Qwen3.5 397B A17B, Qwen3 235B A22B Instruct, gpt-oss-120b, gpt-oss-20b, GLM-4.7, Llama 3.3 70B Instruct, Gemma 4 31B, Mistral Large 3, Mistral Small 4 — ön ödemeli kripto bakiyesinden token başına ödenir ve genel barındırıcıların medyan fiyatının %5 altındadır. KYC yok: kimlik yok, selfie yok, belge yok. İstemler ve çıktılar saklanmaz.
