Terjemahkan PDF dengan BabelDOC pada base URL OpenAI custom.
Updated 2026-07-30
Penterjemah BabelDOC serasi OpenAI mengikut reka bentuk: tiga flag (--openai, --openai-base-url, --openai-api-key) ditambah --openai-model memilih endpoint dan model. Arahkan base URL ke https://api.apisrouter.com/v1 dan terjemahkan dokumen dengan Claude, DeepSeek, GLM, atau Gemini melalui satu kunci.
Jawapan pantas: tiga flag menghalakan setiap panggilan terjemahan.
Baris arahan BabelDOC mengambil endpoint secara terus: --openai menghidupkan penterjemah LLM, --openai-base-url menetapkan ke mana permintaan pergi, --openai-api-key mengesahkan, dan --openai-model memilih id model. Contoh README sendiri menunjukkan tepat set flag ini, dan nota perkhidmatan-terjemahannya menyatakan hanya LLM serasi OpenAI yang disokong, yang menjadikan gateway serasi OpenAI multi-vendor padanan semula jadi berbanding jalan pintas. Kerana id model diteruskan sebagai rentetan biasa, apa sahaja yang dilayani endpoint berfungsi: dokumentasi upstream sendiri mengesyorkan model mesra-serasi-OpenAI daripada keluarga GLM dan DeepSeek, dan melalui APIsRouter, model itu duduk bersebelahan id Claude dan Gemini di sebalik base URL yang sama.
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"Bagaimana BabelDOC menukar PDF kepada panggilan model.
BabelDOC (funstory-ai di GitHub, lebih kurang 9K bintang, daripada pasukan di sebalik Immersive Translate) adalah penterjemah dokumen PDF yang mengekalkan susun atur: ia menghurai struktur dokumen, melindungi formula dan rajah, mencari perenggan, menterjemahkannya dengan LLM, dan membina semula PDF sebagai versi mono terjemahan dan versi dwi bersebelahan. Ia dihantar sebagai CLI dan API Python, dan ia adalah rakan self-hosted kepada perkhidmatan BabelDOC yang dihoskan. Fasa terjemahan adalah tempat endpoint penting. Satu dokumen menjadi banyak permintaan chat-completions bersaiz perenggan, disekat oleh flag --qps (lalai 4 pertanyaan sesaat) dan diproses oleh kolam pekerja (pool-max-workers, lalai kepada nilai QPS). Bentuk itu mempunyai dua kesan. Pertama, terjemahan adalah beban volum: satu PDF panjang adalah ratusan panggilan kecil, jadi harga per-token berganda dengan pantas. Kedua, tidak seperti beban retrieval di mana model kebanyakannya membaca, terjemahan menulis kira-kira sebanyak yang dibacanya, jadi harga token-output penting sama seperti harga input apabila anda membandingkan id. BabelDOC juga cache terjemahan, jadi menjalankan semula dokumen menggunakan semula keputusan terdahulu melainkan anda berikan --ignore-cache. CSV glosari (--glossary-files) mengekalkan terminologi merentasi larian, dan --max-pages-per-part membahagikan dokumen sangat besar kepada bahagian yang diterjemah dan digabungkan secara automatik.
Persediaan penuh: flag CLI atau fail config TOML.
Untuk penggunaan berulang, tetapan yang sama tinggal dalam fail TOML dihantar dengan --config. Jadual [babeldoc] menerima kunci yang serupa dalam kebab-case: openai, openai-model, openai-base-url, openai-api-key, ditambah pilihan throughput dan output. Ini mengekalkan kunci di luar sejarah shell anda dan menjadikan profil terjemahan boleh dihasilkan semula merentasi dokumen. Config di bawah adalah profil volum praktikal: id pantas untuk majoriti dokumen, QPS dinaikkan untuk memadankan gateway berkolam, dan kedua-dua mod output dikekalkan. Tukar openai-model kepada id lebih kuat untuk dokumen di mana nuansa lebih penting daripada throughput.
[babeldoc]
lang-in = "en-US"
lang-out = "zh-CN"
qps = 10
pool-max-workers = 10
# Perkhidmatan terjemahan
openai = true
openai-model = "deepseek-v4-flash"
openai-base-url = "https://api.apisrouter.com/v1"
openai-api-key = "sk-YOUR-APISROUTER-KEY"
# Kawalan output
no-dual = false
no-mono = false
watermark-output-mode = "no_watermark"Memilih model terjemahan.
Aliran kerja perbandingan adalah konkrit: terjemahkan sepuluh halaman yang sama dengan dua id (cache berkunci per larian mengekalkannya berasingan), baca kedua-dua versi bersebelahan, dan semak log penggunaan per-kunci untuk kos setiap larian. Kebanyakan pasukan mendarat pada lalai pantas ditambah profil premium untuk dokumen yang mewajarkannya, kedua-duanya sebagai fail TOML.
- Dokumen volum (manual, kertas kerja dibaca sekali) sesuai dengan deepseek-v4-flash: kualiti terjemahan bertahan untuk prosa teknikal dan kos per-halaman hampir remeh.
- Terjemahan sasaran Cina adalah permainan mudah untuk glm-5.2 dan keluarga DeepSeek; dokumentasi upstream sendiri menunjuk kepada model GLM dan DeepSeek sebagai pilihan serasi-OpenAI yang berkelakuan baik.
- Dokumen kritikal-nuansa (kontrak, terjemahan diterbitkan) mewajarkan claude-sonnet-4-6 atau claude-haiku-4-5-20251001, yang mengesan terminologi dan register dengan lebih setia merentasi dokumen panjang.
- Token output penting di sini. Terjemahan menulis sebanyak yang dibaca, jadi bandingkan id pada lajur harga output juga, bukan hanya input.
- Padankan glosari dengan id pantas. CSV glosari mengekalkan terminologi yang model pantas kadangkala hanyut, yang menutup sebahagian besar jurang kualiti pada teks teknikal.
Bayar mengikut penggunaan · bawah harga rasmi
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Model | Harga Rasmi | Harga Kami |
|---|---|---|
| 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 |
Mod kegagalan dan penalaan throughput.
QPS adalah kekunci yang berinteraksi dengan gateway. Lalai 4 pertanyaan sesaat adalah konservatif; kapasiti upstream berkolam biasanya menampung lebih, dan menaikkan --qps (dengan pool-max-workers mengikutinya) adalah cara dokumen 300 halaman berhenti mengambil sepanjang petang. Naikkan sambil memerhati respons 429 berbanding melompat terus ke nombor besar, kerana perenggan yang dihadkan kadar cuba semula dan melambatkan seluruh larian. Flag hanya terpakai apabila --openai ditetapkan. Menghantar base URL tanpa --openai membiarkan penterjemah dilumpuhkan, yang muncul sebagai larian yang menghurai PDF tetapi tidak pernah menterjemah. Id model adalah rentetan tepat terhadap senarai /v1/models endpoint; kesilapan taip menggagalkan panggilan perenggan pertama dengan model-not-found. 401 bermaksud kunci dan base URL tidak sepadan. Masalah susun atur bukan masalah endpoint. Teks bertindih, formula hilang, atau jadual rosak berpunca daripada sisi penghuraian PDF (cuba --enhance-compatibility, --ocr-workaround untuk dokumen diimbas, atau togol rich-text), dan menukar model tidak akan membetulkannya. Sebaliknya juga benar: terminologi tersalah terjemah adalah isu model atau glosari, bukan isu parser. Cache boleh menyembunyikan perubahan. Selepas menukar model, hantar --ignore-cache jika anda mahu id baharu menterjemah semula kandungan yang sudah dilindungi id lama; jika tidak, perenggan cache kekal sebagaimana adanya.
Siapa yang menghalakan BabelDOC melalui gateway.
- Penyelidik yang menterjemahkan kertas kerja secara pukal, di mana ratusan panggilan kecil per dokumen menjadikan harga volum dan keterlihatan penggunaan per-kunci keseluruhan permainan.
- Pasukan yang menyeragamkan dokumentasi dwibahasa, menjalankan profil lalai pantas dan profil premium terhadap endpoint yang sama dengan rentetan model berbeza.
- Pengguna di pasaran di mana model terjemahan terkuat untuk pasangan bahasa mereka duduk pada vendor berbeza: id GLM, DeepSeek, Claude, dan Gemini semuanya di sebalik satu kunci.
- Self-hoster yang menggantikan perkhidmatan yang dihoskan untuk dokumen sulit, mengekalkan penghuraian setempat dan hanya menghantar teks perenggan ke satu endpoint yang boleh diaudit.
- Pembangun tanpa akses kepada pengebilan vendor tertentu. Akses berasaskan top-up tanpa keperluan kad menghapuskan kebergantungan pendaftaran setiap penyedia.
Sahkan endpoint dan nyahpepijat dokumen pertama.
Senaraikan model yang boleh dicapai kunci anda sebelum memulakan larian panjang; --openai-model mesti sepadan tepat dengan id yang dilayani. Kemudian terjemahkan sesuatu yang kecil (PDF satu halaman, atau --pages 1 pada yang lebih besar) dari hujung ke hujung. 401 pada perenggan pertama bermaksud kunci tidak sepadan dengan base URL. Model-not-found adalah kesilapan taip id. Larian yang menghurai tetapi tidak pernah memanggil endpoint kehilangan --openai. Kebekuan kerap dengan mesej cuba-semula menunjuk kepada QPS ditetapkan lebih tinggi daripada yang mampu ditampung endpoint; turunkan dan naikkan semula. Sebaik sahaja dokumen mengalir, konsol APIsRouter menunjukkan model per permintaan, kiraan token, dan perbelanjaan. Kos terjemahan berskala dengan panjang dokumen dalam kedua-dua arah (input dan output), dan log penggunaan per kunci adalah cara anda mempelajari kos sebenar per halaman untuk setiap model berbanding menganggarkannya.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50
# kemudian ujian asap satu halaman
babeldoc --config babeldoc.toml --files sample.pdf --pages 1Soalan lazim
Adakah BabelDOC menyokong endpoint serasi OpenAI custom?
Ya, secara asli. CLI mendedahkan --openai-base-url dan --openai-api-key bersama --openai-model, dan config TOML menerima kunci yang sama. README upstream menyatakan LLM serasi OpenAI adalah jenis penterjemah yang disokong.
Bolehkah BabelDOC menterjemah dengan model Claude, GLM, atau DeepSeek?
Ya. Id model diteruskan sebagai rentetan biasa kepada endpoint di sebalik --openai-base-url, jadi mana-mana id katalog berfungsi. Dokumentasi upstream sendiri mengesyorkan model keluarga GLM dan DeepSeek sebagai pilihan yang berkelakuan baik.
Berapa banyak panggilan API yang dikos satu PDF?
BabelDOC menterjemah cebisan bersaiz perenggan, jadi satu dokumen menjadi ratusan panggilan chat-completions kecil disekat oleh --qps. Kedua-dua token input dan output berskala dengan panjang dokumen; log penggunaan per-kunci menunjukkan kos per-dokumen yang tepat.
QPS apa yang patut saya tetapkan terhadap gateway?
Mula berhampiran lalai 4 dan naikkan sambil memerhati respons 429; endpoint berkolam biasanya menampung lebih, dan pool-max-workers mengikut nilai QPS melainkan ditetapkan berasingan. QPS lebih tinggi yang stabil adalah beza antara minit dan jam pada dokumen panjang.
Saya menukar model tetapi terjemahan tidak berubah. Kenapa?
Cache terjemahan. BabelDOC menggunakan semula keputusan cache per dokumen; hantar --ignore-cache selepas menukar --openai-model supaya id baharu menterjemah semula kandungan yang sebelum ini dilindungi.
Adakah pilihan endpoint menjejaskan susun atur, formula, atau jadual?
Tidak. Penghuraian, analisis susun atur, dan pembinaan semula PDF berjalan secara setempat tidak kira endpoint. Isu susun atur mempunyai flag sendiri (--enhance-compatibility, --ocr-workaround); base URL hanya memutuskan model mana yang menterjemah teks.