Migrasi dari API OpenAI
Tetap gunakan SDK OpenAI, ganti base URL dan kuncinya, dan setiap model di ai.ml tersedia melalui /v1/chat/completions dengan streaming dan pemanggilan tool yang sama.
Sebelum
from openai import OpenAI
client = OpenAI(api_key="sk-…")
client.chat.completions.create(model="gpt-5-mini", messages=msgs, stream=True)Sesudah
from openai import OpenAI
client = OpenAI(base_url="https://api.ai.ml/v1", api_key="aiml-live-…")
client.chat.completions.create(model="openai/gpt-5-mini", messages=msgs, stream=True)Header
| OpenAI | ai.ml |
|---|---|
| Authorization: Bearer sk-… | Authorization: Bearer aiml-live-… |
| OpenAI-Organization | tidak diperlukan (kunci milik sebuah organisasi dan proyek) |
| x-aiml-route (opsional) | menimpa kebijakan perutean untuk satu permintaan |
| x-aiml-idempotency-key (opsional) | percobaan ulang yang aman diulang |
Yang berubah, yang tidak
- ID model menyertakan vendor: openai/gpt-5-mini, anthropic/claude-sonnet-4.5, deepseek/deepseek-v3.2. Nama OpenAI tanpa awalan tetap diarahkan ke vendor OpenAI.
- Respons menyertakan blok aiml berisi rincian biaya, endpoint yang melayani permintaan, dan peringatan kemampuan apa pun (parameter yang dihapus untuk penyedia yang tidak mendukungnya).
- Output terstruktur, tool, vision, dan prompt caching berfungsi jika penyedia mendukungnya; halaman model mencantumkan kemampuan setiap endpoint.
- Header anggaran: x-aiml-required-micro pada 402, x-aiml-limit pada 429, retry-after saat penyedia tidak memiliki kapasitas.