PDF'leri BabelDOC ile özel bir OpenAI base URL üzerinde çevirin.

Updated 2026-07-30

BabelDOC'un çevirmeni tasarım gereği OpenAI-compatible'dır: üç bayrak (--openai, --openai-base-url, --openai-api-key) artı --openai-model, endpoint'i ve modeli seçer. Base URL'i https://api.apisrouter.com/v1 adresine yönlendirin ve belgeleri Claude, DeepSeek, GLM veya Gemini ile tek bir anahtar üzerinden çevirin.

Hızlı yanıt: her çeviri çağrısını üç bayrak yönlendirir.

BabelDOC'un komut satırı endpoint'i doğrudan alır: --openai LLM çevirmenini etkinleştirir, --openai-base-url isteklerin nereye gideceğini ayarlar, --openai-api-key kimlik doğrular ve --openai-model model id'sini seçer. README'nin kendi örnekleri tam olarak bu bayrak setini gösterir ve çeviri servisi notu yalnızca OpenAI-compatible LLM'lerin desteklendiğini belirtir, ki bu da çok satıcılı bir OpenAI-compatible gateway'i bir çözüm değil doğal seçim yapar. Model id'si düz bir dize olarak iletildiğinden, endpoint'in sunduğu her şey çalışır: üst akış belgeleri kendisi GLM ve DeepSeek ailelerinden OpenAI-compatible dostu modeller önerir ve APIsRouter üzerinden bunlar aynı base URL arkasında Claude ve Gemini id'lerinin yanına oturur.

babeldoc --files paper.pdf \
  --lang-in en --lang-out zh \
  --openai \
  --openai-model "deepseek-v4-flash" \
  --openai-base-url "https://api.apisrouter.com/v1" \
  --openai-api-key "$APISROUTER_API_KEY"

BabelDOC bir PDF'i nasıl model çağrılarına dönüştürür.

BabelDOC (GitHub'da funstory-ai, yaklaşık 9K yıldız, Immersive Translate'in arkasındaki ekipten), düzeni koruyan bir PDF belge çevirmenidir: belge yapısını çözümler, formülleri ve şekilleri korur, paragrafları bulur, onları bir LLM ile çevirir ve PDF'i çevrilmiş bir mono sürüm ve yan yana bir dual sürüm olarak yeniden inşa eder. Bir CLI ve bir Python API olarak gelir ve barındırılan BabelDOC servisinin self-hosted karşılığıdır. Endpoint'in önemli olduğu yer çeviri aşamasıdır. Bir belge, --qps bayrağıyla (varsayılan saniyede 4 sorgu) hızı kısılan ve bir worker havuzu (varsayılan olarak QPS değerine eşit olan pool-max-workers) tarafından işlenen çok sayıda paragraf boyutunda chat-completions isteğine dönüşür. Bu şeklin iki sonucu vardır. Birincisi, çeviri bir hacim iş yüküdür: uzun bir PDF yüzlerce küçük çağrıdır, bu yüzden token başına fiyat hızla birikir. İkincisi, modelin çoğunlukla okuduğu retrieval iş yüklerinin aksine, çeviri okuduğu kadar yazar da, bu yüzden id'leri karşılaştırırken çıktı token fiyatı girdi fiyatı kadar önemlidir. BabelDOC ayrıca çevirileri önbelleğe alır, bu yüzden bir belgeyi yeniden çalıştırmak, --ignore-cache geçirmediğiniz sürece önceki sonuçları yeniden kullanır. Sözlük CSV'leri (--glossary-files) çalıştırma boyunca terminolojiyi sabitler ve --max-pages-per-part, çok büyük belgeleri otomatik olarak çevrilip birleştirilen parçalara böler.

Tam kurulum: CLI bayrakları veya TOML config dosyası.

Tekrarlı kullanım için aynı ayarlar --config ile geçirilen bir TOML dosyasında yaşar. [babeldoc] tablosu aynı anahtarları kebab-case olarak kabul eder: openai, openai-model, openai-base-url, openai-api-key, artı throughput ve çıktı seçenekleri. Bu, anahtarı shell geçmişinizden uzak tutar ve bir çeviri profilini belgeler arasında tekrarlanabilir kılar. Aşağıdaki config pratik bir hacim profilidir: belgelerin çoğu için hızlı bir id, havuzlu bir gateway'e uyacak şekilde yükseltilmiş QPS ve her iki çıktı modu da korunmuş. Nüansın throughput'tan daha önemli olduğu belgeler için openai-model'i daha güçlü bir id ile değiştirin.

[babeldoc]
lang-in = "en-US"
lang-out = "zh-CN"
qps = 10
pool-max-workers = 10

# Translation service
openai = true
openai-model = "deepseek-v4-flash"
openai-base-url = "https://api.apisrouter.com/v1"
openai-api-key = "sk-YOUR-APISROUTER-KEY"

# Output control
no-dual = false
no-mono = false
watermark-output-mode = "no_watermark"

Bir çeviri modeli seçmek.

Karşılaştırma iş akışı somuttur: aynı on sayfayı iki id ile çevirin (çalıştırma başına anahtarlanan önbellek onları ayrı tutar), dual'ları yan yana okuyun ve her geçişin neye mal olduğunu anahtar başına kullanım logunda kontrol edin. Çoğu ekip, hızlı bir varsayılan artı bunu hak eden belgeler için premium bir profilde karar kılar; ikisi de TOML dosyası olarak.

  • Hacimli belgeler (kılavuzlar, bir kez okunan makaleler) deepseek-v4-flash ile uyumludur: çeviri kalitesi teknik düzyazı için yeterlidir ve sayfa başına maliyet neredeyse ihmal edilebilir düzeydedir.
  • Çince hedefli çeviri, glm-5.2 ve DeepSeek ailesi için ev sahasıdır; üst akış belgeleri de GLM ve DeepSeek modellerini iyi davranan OpenAI-compatible seçimler olarak işaret eder.
  • Nüansın kritik olduğu belgeler (sözleşmeler, yayımlanmış çeviriler) claude-sonnet-4-6 veya claude-haiku-4-5-20251001'i haklı çıkarır; bunlar uzun belgeler boyunca terminolojiyi ve üslubu daha sadık takip eder.
  • Burada çıktı token'ları önemlidir. Çeviri okuduğu kadar yazar, bu yüzden id'leri yalnızca girdi değil çıktı fiyat sütununda da karşılaştırın.
  • Sözlükleri hızlı id'lerle eşleştirin. Bir sözlük CSV'si, hızlı modellerin zaman zaman kaydığı terminolojiyi sabitler, bu da teknik metinde kalite farkının çoğunu kapatır.

Kullandıkça öde · resmi fiyatların altında

Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.

ModelResmi FiyatBizim Fiyatımız
DeepSeek V4 Flash$0.14 / $0.28 per M$0.10 / $0.30 per M
GLM-5.2$1.14 / $4.00 per M$1.10 / $4.00 per M
Gemini 3.5 Flash$1.50 / $9.00 per M$1.20 / $7.20 per M
Claude Haiku 4.5 20251001$1.00 / $5.00 per M$0.80 / $4.00 per M
Claude Sonnet 4.6$3.00 / $15.00 per M$2.40 / $12.00 per M

Hata modları ve throughput ayarı.

QPS, gateway ile etkileşen düğmedir. Saniyede 4 sorgunun varsayılanı muhafazakârdır; havuzlanmış üst akış kapasitesi genellikle daha fazlasını sürdürür ve --qps'i (ardından gelen pool-max-workers ile) yükseltmek, 300 sayfalık bir belgenin tüm öğleden sonrayı almasını durdurma yoludur. Soğuk şekilde büyük bir sayıya atlamak yerine 429 yanıtlarını izleyerek yükseltin, çünkü hız sınırlı bir paragraf yeniden dener ve tüm çalıştırmayı yavaşlatır. Bayraklar yalnızca --openai ayarlandığında geçerlidir. --openai olmadan bir base URL geçirmek çevirmeni devre dışı bırakır, bu da PDF'i çözümleyen ama asla çevirmeyen bir çalıştırma olarak ortaya çıkar. Model id'leri, endpoint'in /v1/models listelemesine karşı tam dizelerdir; bir yazım hatası ilk paragraf çağrısını model-not-found ile başarısız kılar. 401, anahtarın ve base URL'in birbirine ait olmadığı anlamına gelir. Düzen sorunları endpoint sorunu değildir. Üst üste binen metin, kaybolan formüller veya bozuk tablolar PDF ayrıştırma tarafına izlenir (taranmış belgeler için --enhance-compatibility, --ocr-workaround veya rich-text geçişini deneyin) ve modelleri değiştirmek bunları düzeltmez. Tersi de geçerlidir: yanlış çevrilmiş terminoloji bir ayrıştırıcı sorunu değil, bir model veya sözlük sorunudur. Önbellek değişiklikleri maskeleyebilir. Modelleri değiştirdikten sonra, eski id'nin zaten kapsadığı içeriği yeni id'nin yeniden çevirmesini istiyorsanız --ignore-cache geçirin; aksi takdirde önbelleğe alınmış paragraflar olduğu gibi kalır.

BabelDOC'u bir gateway üzerinden kim yönlendirir.

  • Makaleleri toplu çeviren araştırmacılar; burada belge başına yüzlerce küçük çağrı, hacim fiyatlandırmasını ve anahtar başına kullanım görünürlüğünü tüm oyun yapar.
  • İki dilli dokümantasyonu standartlaştıran ekipler; farklı model dizeleriyle aynı endpoint'e karşı hızlı bir varsayılan profil ve bir premium profil çalıştırır.
  • Dil çiftleri için en güçlü çeviri modellerinin farklı satıcılarda bulunduğu pazarlardaki kullanıcılar: GLM, DeepSeek, Claude ve Gemini id'lerinin hepsi tek bir anahtar arkasında.
  • Gizli belgeler için barındırılan servisin yerini alan self-hoster'lar; ayrıştırmayı yerel tutup yalnızca paragraf metnini tek, denetlenebilir bir endpoint'e gönderir.
  • Belirli bir satıcının faturalandırmasına erişimi olmayan geliştiriciler. Kart gerektirmeyen yükleme tabanlı erişim, sağlayıcı başına kayıt bağımlılığını ortadan kaldırır.

Endpoint'i doğrulayın ve ilk belgeyi hata ayıklayın.

Uzun bir çalıştırma başlatmadan önce anahtarınızın adresleyebildiği modelleri listeleyin; --openai-model, sunulan bir id ile tam olarak eşleşmelidir. Ardından küçük bir şeyi (tek sayfalık bir PDF veya daha büyük birinde --pages 1) uçtan uca çevirin. İlk paragrafta 401, anahtarın base URL ile eşleşmediği anlamına gelir. Model-not-found bir id yazım hatasıdır. Ayrıştıran ama asla endpoint'i çağırmayan bir çalıştırma, --openai eksik demektir. Yeniden deneme mesajlarıyla sık takılmalar, endpoint'in sürdürebileceğinden daha yüksek ayarlanmış QPS'e işaret eder; düşürüp yeniden yükseltin. Belgeler akmaya başladığında, APIsRouter konsolu istek başına modeli, token sayılarını ve harcamayı gösterir. Çeviri maliyeti belge uzunluğuyla her iki yönde de (girdi ve çıktı) ölçeklenir ve anahtar başına kullanım logu, her model için sayfa başına gerçek maliyetinizi tahmin etmek yerine öğrendiğiniz yerdir.

curl -s https://api.apisrouter.com/v1/models \
  -H "Authorization: Bearer $APISROUTER_API_KEY" | head -50

# then a one-page smoke test
babeldoc --config babeldoc.toml --files sample.pdf --pages 1

Sık sorulan sorular

BabelDOC özel OpenAI-compatible endpoint'leri destekler mi?

Evet, yerel olarak. CLI, --openai-model'in yanında --openai-base-url ve --openai-api-key sunar ve TOML config aynı anahtarları kabul eder. Üst akış README'si, OpenAI-compatible LLM'lerin desteklenen çevirmen türü olduğunu belirtir.

BabelDOC Claude, GLM veya DeepSeek modelleriyle çeviri yapabilir mi?

--openai-base-url arkasındaki endpoint'e model id'si düz bir dize olarak iletildiğinden, evet, herhangi bir katalog id'si çalışır. Üst akış belgeleri kendisi GLM ve DeepSeek ailesi modellerini iyi davranan seçimler olarak önerir.

Bir PDF kaç API çağrısına mal olur?

BabelDOC paragraf boyutunda parçaları çevirir, bu yüzden bir belge --qps ile hızı kısılan yüzlerce küçük chat-completions çağrısı olur. Hem girdi hem çıktı token'ları belge uzunluğuyla ölçeklenir; anahtar başına kullanım logu belge başına tam maliyeti gösterir.

Bir gateway'e karşı hangi QPS'i ayarlamalıyım?

Varsayılan olan 4'e yakın başlayın ve 429 yanıtlarını izleyerek yükseltin; havuzlanmış endpoint'ler genellikle daha fazlasını sürdürür ve pool-max-workers, ayrı ayarlanmadığı sürece QPS değerini izler. Sabit daha yüksek bir QPS, uzun belgelerde dakikalar ile saatler arasındaki farktır.

Modelleri değiştirdim ama çeviri değişmedi. Neden?

Çeviri önbelleği. BabelDOC, önbelleğe alınmış sonuçları belge başına yeniden kullanır; --openai-model'i değiştirdikten sonra yeni id'nin daha önce kapsanan içeriği yeniden çevirmesi için --ignore-cache geçirin.

Endpoint seçimi düzeni, formülleri veya tabloları etkiler mi?

Hayır. Ayrıştırma, düzen analizi ve PDF yeniden inşası, endpoint'ten bağımsız olarak yerel çalışır. Düzen sorunlarının kendi bayrakları vardır (--enhance-compatibility, --ocr-workaround); base URL yalnızca metni hangi modelin çevirdiğine karar verir.