Source: https://ailoot.ai/models/id/meta-llama-llama-3-1-70b-instruct/
Canonical: https://ailoot.ai/models/id/meta-llama-llama-3-1-70b-instruct/
Language: id

# Meta: Llama 3.1 70B Instruct

[Markdown](https://ailoot.ai/models/id/meta-llama-llama-3-1-70b-instruct/index.md) · [JSON](https://ailoot.ai/models/id/meta-llama-llama-3-1-70b-instruct/facts.json)

## [Meta: Llama 3.1 70B Instruct](https://ailoot.ai/models/id/meta-llama-llama-3-1-70b-instruct/)

Llama 3.1 70B Instruct adalah model teks Meta untuk dialog multibahasa, penalaran atas dokumen, dan kode. Rilis 70B yang disetel mengikuti instruksi ini menggunakan grouped-query attention, konteks 128k dari pembuatnya, dan format percakapan pemanggilan alat yang didokumentasikan, dengan keluaran teks dan kode.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `meta-llama/llama-3.1-70b-instruct`](https://ailoot.ai/models/id/meta-llama-llama-3-1-70b-instruct/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `meta-llama/llama-3.1-70b-instruct`](https://ailoot.ai/models/id/meta-llama-llama-3-1-70b-instruct/#method-1)

Tentang model

Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.

Llama 3.1 70B Instruct adalah model teks Meta dengan 70 miliar parameter yang dioptimalkan untuk dialog multibahasa dan permintaan seperti kepada asisten. Model ini merupakan checkpoint yang disetel mengikuti instruksi dalam keluarga yang juga mencakup ukuran 8B dan 405B serta model pralatih terpisah. Model ini menerima teks dan mengembalikan teks multibahasa atau kode; edisi bernama 70B mempertahankan ukuran dan identitasnya sendiri.

Informasi model dan pelatihan

Rilis ini menggunakan arsitektur Transformer autoregresif dengan grouped-query attention. Model yang disetel diselaraskan menggunakan penyetelan lanjutan terawasi dan pembelajaran penguatan dengan umpan balik manusia. Ini adalah tahapan pelatihan untuk perilaku percakapan yang membantu, bukan sakelar runtime bernama untuk beralih antara mode penalaran dan tanpa penalaran yang terpisah.

Pembuatnya mendokumentasikan konteks 128k untuk model teks dan secara resmi mendukung bahasa Inggris, Jerman, Prancis, Italia, Portugis, Hindi, Spanyol, dan Thai. Pelatihannya mencakup kumpulan bahasa lebih luas, yang tidak menjadikan setiap bahasa sama-sama didukung. Tentukan bahasa keluaran, terminologi, dan pembaca sebelum meminta artefak multibahasa.

Korpus prapelatihan keluarga ini dijelaskan berjumlah sekitar lima belas triliun token, dengan batas waktu Desember 2023. Penyetelan lanjutan mencakup kumpulan data instruksi dan lebih dari dua puluh lima juta contoh sintetis. Batas waktu tersebut adalah batas data pelatihan; pertanyaan yang bergantung pada informasi lebih baru atau privat memerlukan informasi itu disertakan dalam tugas atau dikembalikan oleh sumber yang terhubung.

Percakapan seperti asisten dan analisis sumber

Edisi Instruct ditujukan untuk merespons permintaan percakapan, sedangkan versi pralatih adalah fondasi yang dapat diadaptasi untuk tugas generasi lain. Untuk jawaban berbasis sumber, berikan pertanyaan dan kutipan yang menentukan hasil. Beri label pada sumber dan minta bagian atau pernyataan pendukung di samping setiap temuan.

Perbandingan praktis dapat menyertakan dua prosedur dan meminta kondisi yang sama, perbedaan, serta konflik yang belum terselesaikan. Panduan yang dihasilkan dapat mempertahankan urutan asli dan kondisi berlakunya setiap tindakan. Tugas penyuntingan dokumen dapat menentukan audiens, fakta yang harus tetap ada, dan apakah artefak akhir harus berupa kutipan yang direvisi saja atau kutipan beserta penjelasan.

Untuk jawaban lebih panjang, sebutkan bagian yang diperlukan dan tujuan masing-masing. Konteks besar dapat mempertahankan materi terkait dalam satu kesatuan sementara hasil akhirnya tetap berupa matriks atau penjelasan singkat. Identitas sumber dan pertanyaan yang jelas lebih penting daripada sekadar memasukkan setiap dokumen yang tersedia.

Kode dan contoh yang dihasilkan

Keluaran yang didokumentasikan mencakup kode. Untuk usulan implementasi, berikan bahasa, tipe masukan, hasil yang diharapkan, dan antarmuka yang harus tetap kompatibel. Sertakan fragmen yang ada dan deklarasi relevan ketika tugasnya berupa perbaikan. Minta kode secara terpisah dari asumsi dan contohnya agar langkah pengembangan berikutnya dapat memeriksanya.

Untuk penjelasan kode, berikan masukan yang perlu ditelusuri dan tanyakan bagaimana fungsi yang disediakan mencapai nilai kembalinya. Untuk penjelasan matematika, definisikan simbol dan asumsi serta nyatakan apakah hasil harus eksak, berupa pendekatan, atau berupa pembuktian. Generasi kode dan penalaran tertulis tidak dengan sendirinya mengompilasi program atau mengeksekusi perhitungan.

Pembuatnya juga mengidentifikasi pembuatan data sintetis dan distilasi sebagai penggunaan keluarga model ini. Tugas teks dapat meminta contoh yang bervariasi dalam format tertentu, dengan mempertahankan aturan yang disediakan. Kesesuaian contoh tersebut untuk pelatihan lebih lanjut merupakan keputusan aplikasi yang terpisah; keluaran teks saja bukan verifikasi mandiri atas kebenarannya.

Format percakapan dan alat

Kartu model memperagakan pesan sistem dan pengguna yang terpisah dengan templat percakapan yang sesuai. Gunakan instruksi sistem untuk peran, nada, dan aturan respons yang berlaku terus, sedangkan permintaan pengguna berisi masalah dan sumber yang sebenarnya. Pertahankan pesan terdahulu yang relevan ketika meminta tindak lanjut yang dibangun dari jawaban sebelumnya.

Llama 3.1 mendukung beberapa format penggunaan alat yang didokumentasikan. Aplikasi menyediakan fungsi dan parameter, model menyiapkan usulan pemanggilan, aplikasi mengeksekusinya dan menambahkan hasilnya ke percakapan. Generasi berikutnya dapat menggunakan hasil tersebut. Contoh singkat pada kartu model secara eksplisit menunjukkan penambahan pemanggilan asisten lalu hasil alat; memilih fungsi berbeda dari menyelesaikan operasinya.

Untuk pencarian, nyatakan informasi yang diperlukan dan definisikan fungsi yang mengembalikannya. Simpan nilai aktual yang dikembalikan bersama pemanggilan asal sebelum meminta penjelasan akhir. Untuk perhitungan, bedakan operasi yang diusulkan model dari hasil yang dikembalikan kalkulator. Format alat native dan representasi yang terlihat pada antarmuka pembungkus harus mempertahankan konvensi terdokumentasinya masing-masing.

Edisi dan batas praktis

Pengaturan generasi 256 token pada kartu yang dibaca merupakan contoh penggunaan, bukan kapasitas keluaran maksimum yang dinyatakan secara mandiri. Konteks 128k berkaitan dengan materi dan percakapan yang dihasilkan dalam rilis yang dikonfigurasi. Jangan menggantinya dengan konteks atau kemampuan visual Llama 4 atau ukuran checkpoint Llama 3.1 lain.

Ini adalah model Instruct hanya teks. Gambar, rekaman, atau video memerlukan konten relevannya disiapkan melalui komponen lain. Penelusuran eksternal, eksekusi program, dan perubahan berkas juga menjadi tanggung jawab aplikasi yang terhubung dengan asisten. Pertahankan edisi 70B Instruct yang tepat dan minta penjelasan terhubung sumber, dokumen yang direvisi, kode, atau teks terstruktur yang dibutuhkan tugas.

Tugas praktis

### Tugas praktis

Contoh teknis dalam bahasa Inggris

```
Produce a bilingual maintenance notice

Write a maintenance notice in English and Spanish from these facts: warehouse entrance B closes on Tuesday from 08:00 to 11:00; deliveries must use entrance A; pedestrian access is unchanged. Use three short sentences per language and preserve entrance letters and times. Do not add a date, delay estimate or closure of pedestrian access.
```

#### Hasil yang diharapkan

```
Two labelled language blocks with equivalent three-sentence notices.
```

#### Periksa hasil

```
Compare both versions for entrance A/B, Tuesday, the time range and unchanged pedestrian access.
```

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `meta-llama/llama-3.1-70b-instruct`

[`meta-llama/llama-3.1-70b-instruct`](https://ailoot.ai/models/id/#m=meta-llama%2Fllama-3.1-70b-instruct&route=Ultra&caller=meta-llama%2Fllama-3.1-70b-instruct&fmt=chat)

Meta /`meta-llama/llama-3.1-70b-instruct`

### Mulai

Llama 3.1 70B Instruct adalah model teks Meta untuk dialog multibahasa, penalaran atas dokumen, dan kode. Rilis 70B yang disetel mengikuti instruksi ini menggunakan grouped-query attention, konteks 128k dari pembuatnya, dan format percakapan pemanggilan alat yang didokumentasikan, dengan keluaran teks dan kode.

Masukan yang diterima

Teks

Hasil

Teks

### Tersedia di Ailoot · masukan & metode

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions`

Masukan

`text`

Keluaran

`text`

Format keluaran

json atau SSE

| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
| --- | --- | --- | --- | --- |
| Kolom`model` | Jenis`string` | PersyaratanWajib | Nilai & batasan meta-llama/llama-3.1-70b-instruct | Bawaan— |
| Kolom`messages` | Jenis`message[]` | PersyaratanWajib | Nilai & batasan Item minimum: 1 | Bawaan— |
| Kolom`messages[].role` | Jenis`string` | PersyaratanWajib | Nilai & batasan Contoh: system, user, assistant, tool, function Kondisi: Peran ini direpresentasikan secara eksplisit oleh tipe kompatibilitas dalam kode sumber; kumpulan peran model yang tepat tetap khusus untuk tiap model. Bergantung pada model | Bawaan— |
| Kolom`messages[].content` | Jenis`string\|content_part[]\|null` | PersyaratanOpsional | Nilai & batasan | Bawaan— |
| Kolom`messages[].tool_calls` | Jenis`tool_call[]` | PersyaratanOpsional | Nilai & batasan | Bawaan— |
| Kolom`messages[].tool_call_id` | Jenis`string` | PersyaratanOpsional | Nilai & batasan Berlaku jika: role=tool; gunakan ID yang benar-benar dikembalikan | Bawaan— |
| Kolom`messages[].name` | Jenis`string` | PersyaratanOpsional | Nilai & batasan | Bawaan— |
| Kolom`messages[].reasoning_content` | Jenis`string` | PersyaratanOpsional | Nilai & batasan Berlaku jika: Kirim kembali penalaran yang benar-benar dikembalikan jika model ini menggunakannya | Bawaan— |
| Kolom`messages[].reasoning_details` | Jenis`object\|array` | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
| Kolom`max_tokens` | Jenis`integer` | PersyaratanOpsional | Nilai & batasan Minimum: 1 Bergantung pada model | Bawaan— |
| Kolom`max_completion_tokens` | Jenis`integer` | PersyaratanOpsional | Nilai & batasan Minimum: 1 Bergantung pada model | Bawaan— |
| Kolom`stream` | Jenis`boolean` | PersyaratanOpsional | Nilai & batasan | Bawaanfalse |
| Kolom`stream_options.include_usage` | Jenis`boolean` | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
| Kolom`temperature` | Jenis`number` | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
| Kolom`top_p` | Jenis`number` | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
| Kolom`stop` | Jenis`string\|string[]` | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
| Kolom`tools` | Jenis`function_tool[]` | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
| Kolom`tools[].type` | Jenis`string` | PersyaratanOpsional | Nilai & batasan function Bergantung pada model | Bawaan— |
| Kolom`tools[].function.name` | Jenis`string` | PersyaratanWajib | Nilai & batasan Berlaku jika: alat fungsi disediakan | Bawaan— |
| Kolom`tools[].function.description` | Jenis`string` | PersyaratanOpsional | Nilai & batasan | Bawaan— |
| Kolom`tools[].function.parameters` | Jenis`JSON_schema` | PersyaratanOpsional | Nilai & batasan | Bawaan— |
| Kolom`tool_choice` | Jenis`string\|object` | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
| Kolom`parallel_tool_calls` | Jenis`boolean` | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
| Kolom`response_format` | Jenis`object` | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
| Kolom`reasoning_effort` | Jenis`string` | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
| Kolom`reasoning` | Jenis`object` | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
| Kolom`service_tier` | Jenis`string` | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
| Kolom`instructions` | Jenis`string` | PersyaratanOpsional | Nilai & batasan Kolom kompatibilitas | Bawaan— |
| Kolom`functions` | Jenis`function[]` | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
| Kolom`function_call` | Jenis`string\|object` | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
| Kolom`prompt_cache_options` | Jenis`object` | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
| Kolom`modalities` | Jenis`string[]` | PersyaratanOpsional | Nilai & batasan text | Bawaan— |
| Kolom`provider` | Jenis`object` | PersyaratanOpsional | Nilai & batasan Kondisi: provider.options ditolak pada rute teks Ultra ini | Bawaan— |
| Kolom`cache_control.ttl` | Jenis`string` | PersyaratanOpsional | Nilai & batasan Kondisi: 1h ditolak pada lokasi cache prompt yang digunakan | Bawaan— |

Kombinasi bahan masukan

**Teks** · Teks UTF8

`messages[].content`

Parameter metode dan siklus hidup

| Parameter | Kontrak |
| --- | --- |
| Parameter`content_type` | Kontrakapplication/json |
| Parameter`required` | Kontrakmodel, messages |
| Parameter`material_types` | Kontraktext |
| Parameter`messages` | Kontrakarray pesan dengan struktur role/content |
| Parameter`file_material` | Kontrakdokumen UTF-8 yang sebenarnya dimasukkan sebagai teks apa adanya; ID file tidak disimpulkan |
| Parameter`optional_controls` | Kontrakstream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Parameter`control_scope` | Kontrakkhusus model; alat fungsi pengguna berbeda dari alat yang dihosting |
| Parameter`output_modalities` | Kontraktext |
| Parameter`hosted_operations` | Kontrakfalse |
| Parameter`multimodal_input_binding` | Kontraknull |

Siklus hidup: `synchronous_or_streamed`

Kirim ID model yang tepat bersama messages.

Panjang konteks bukan batas keluaran.

File teks dapat menyediakan teks apa adanya; masukan gambar/audio/objek file memerlukan pengikatan yang tepat.

### Paket

Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.

Mode Fast

Tarif standar Saat mode fast dipilih

Mode Flex

Tarif standar Saat mode flex dipilih

Upaya penalaran maksimum

Tarif standar Saat upaya penalaran maksimum menggunakan penyesuaian default

#### Tarif Ailoot

#### Harga menurut konfigurasi

Cocokkan setiap biaya dengan kondisi yang ditampilkan. Gunakan satu tarif untuk setiap kelompok konfigurasi alternatif.

| Konfigurasi | Jadwal tarif | Token konteks, lebih dari | Token konteks, hingga dan termasuk | Biaya |
| --- | --- | --- | --- | --- |
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Token konteks, lebih dari— | Token konteks, hingga dan termasukTanpa batas atas | Biaya Masukan · Token masukan **$0.00144** / 1K token Keluaran · Token keluaran **$0.00144** / 1K token Masukan · Pembacaan cache **—** / 1K token Masukan · Penulisan cache **—** / 1K token Masukan · Penulisan cache, 1 jam **—** / 1K token |
| KonfigurasiPanjang permintaan · tingkat 1 | Jadwal tarif— | Token konteks, lebih dari0 | Token konteks, hingga dan termasukTanpa batas atas | Biaya Masukan · Token masukan **$0.00144** / 1K token Keluaran · Token keluaran **$0.00144** / 1K token Masukan · Pembacaan cache **—** / 1K token Masukan · Penulisan cache **—** / 1K token Masukan · Penulisan cache, 1 jam **—** / 1K token |

Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. [Cara kerja cadangan dan penyelesaian tagihan →](https://ailoot.ai/docs/id/billing/reserve/)

### Contoh permintaan

#### Ailoot Ultra · OpenAI Chat

curlPython SDKAliran Python

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "meta-llama/llama-3.1-70b-instruct", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
```

```python
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='meta-llama/llama-3.1-70b-instruct',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
```

```python
from openai import OpenAI
import os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

with client.chat.completions.stream(model='meta-llama/llama-3.1-70b-instruct',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### Terima dan simpan hasil

#### Ailoot Ultra · OpenAI Chat

json atau SSE

##### Simpan semua hasil yang selesai

Simpan setiap respons lengkap, berkas, dan bagian konten yang dikembalikan.

Simpan setiap alternatif jawaban beserta konten, panggilan alat, dan penalarannya. Dalam SSE, gabungkan delta menurut indeks alternatif jawaban/alat, lalu pertahankan alasan penghentian akhir dan data penggunaan.

##### Jika respons asli perlu diperiksa

Simpan ID permintaan/respons dan header. URL umum untuk pengambilan tugas teks tidak disediakan.

Kolom respons

| Kolom | Jenis |
| --- | --- |
| Kolom`choices[].index` | Jenisinteger |
| Kolom`choices[].message.content` | Jenisstring\|null |
| Kolom`choices[].message.tool_calls` | Jenistool\_call\[\] |
| Kolom`choices[].message.reasoning_content` | Jenisstring |
| Kolom`choices[].message.reasoning_details` | Jenisobject\|array |
| Kolom`choices[].finish_reason` | Jenisstring\|null |
| Kolom`usage` | Jenisobject |

Kesalahan dan langkah berikutnya

| Respons | Kondisi | Langkah berikutnya |
| --- | --- | --- |
| Respons400 · `invalid_request_error` | KondisiBidang wajib, representasi materi, atau nilai parameter tidak valid | Langkah berikutnyaPerbaiki bidang yang ditunjukkan sebelum permintaan pembuatan baru. |

### Alias

#### Alias model

**Ailoot Ultra** [`meta-llama/llama-3.1-70b-instruct`](https://ailoot.ai/models/id/#m=meta-llama%2Fllama-3.1-70b-instruct&route=Ultra&caller=meta-llama%2Fllama-3.1-70b-instruct&fmt=chat)

#### Alias jalur metode

Gunakan jalur metode yang ditampilkan di atas.

#### ID pemanggil terkait

[`meta-llama/llama-3.1-70b-instruct`](https://ailoot.ai/models/id/#m=meta-llama%2Fllama-3.1-70b-instruct&route=Ultra&caller=meta-llama%2Fllama-3.1-70b-instruct&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `meta-llama/llama-3.1-70b-instruct`

[`meta-llama/llama-3.1-70b-instruct`](https://ailoot.ai/models/id/#m=meta-llama%2Fllama-3.1-70b-instruct&route=Ultra&caller=meta-llama%2Fllama-3.1-70b-instruct&fmt=messages)

Meta /`meta-llama/llama-3.1-70b-instruct`

### Mulai

Llama 3.1 70B Instruct adalah model teks Meta untuk dialog multibahasa, penalaran atas dokumen, dan kode. Rilis 70B yang disetel mengikuti instruksi ini menggunakan grouped-query attention, konteks 128k dari pembuatnya, dan format percakapan pemanggilan alat yang didokumentasikan, dengan keluaran teks dan kode.

Masukan yang diterima

Teks

Hasil

json · sse

### Tersedia di Ailoot · masukan & metode

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages`

Masukan

`text`

Keluaran

`json`, `sse`

Format keluaran

JSON atau SSE

| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
| --- | --- | --- | --- | --- |
| Kolom`model` | Jenis`string` | PersyaratanWajib | Nilai & batasan meta-llama/llama-3.1-70b-instruct | Bawaan— |
| Kolom`messages` | Jenis`message[]` | PersyaratanWajib | Nilai & batasan | Bawaan— |
| Kolom`messages[].role` | Jenis`string` | PersyaratanWajib | Nilai & batasan user, assistant | Bawaan— |
| Kolom`messages[].content` | Jenis`string` | PersyaratanWajib | Nilai & batasan | Bawaan— |
| Kolom`max_tokens` | Jenis`integer` | PersyaratanWajib | Nilai & batasan | Bawaan— |
| Kolom`stream` | Jenis`boolean` | PersyaratanOpsional | Nilai & batasan | Bawaanfalse |

Kombinasi bahan masukan

**Teks** · Teks UTF-8

`string messages[].content`

Parameter metode dan siklus hidup

| Parameter | Kontrak |
| --- | --- |
| Parameter`content_type` | Kontrakapplication/json |
| Parameter`required` | Kontrakmodel, messages, max\_tokens |
| Parameter`optional_controls` | Kontrakstream |
| Parameter`material_types` | Kontraktext |
| Parameter`text_file_material` | KontrakBaca dokumen UTF-8 yang sebenarnya dan masukkan teksnya ke string masukan atau konten pesan yang ditunjukkan. |

Siklus hidup: `synchronous_or_streamed`

### Paket

Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.

Mode Fast

Tarif standar Saat mode fast dipilih

Mode Flex

Tarif standar Saat mode flex dipilih

Upaya penalaran maksimum

Tarif standar Saat upaya penalaran maksimum menggunakan penyesuaian default

#### Tarif Ailoot

#### Harga menurut konfigurasi

Cocokkan setiap biaya dengan kondisi yang ditampilkan. Gunakan satu tarif untuk setiap kelompok konfigurasi alternatif.

| Konfigurasi | Jadwal tarif | Token konteks, lebih dari | Token konteks, hingga dan termasuk | Biaya |
| --- | --- | --- | --- | --- |
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Token konteks, lebih dari— | Token konteks, hingga dan termasukTanpa batas atas | Biaya Masukan · Token masukan **$0.00144** / 1K token Keluaran · Token keluaran **$0.00144** / 1K token Masukan · Pembacaan cache **—** / 1K token Masukan · Penulisan cache **—** / 1K token Masukan · Penulisan cache, 1 jam **—** / 1K token |
| KonfigurasiPanjang permintaan · tingkat 1 | Jadwal tarif— | Token konteks, lebih dari0 | Token konteks, hingga dan termasukTanpa batas atas | Biaya Masukan · Token masukan **$0.00144** / 1K token Keluaran · Token keluaran **$0.00144** / 1K token Masukan · Pembacaan cache **—** / 1K token Masukan · Penulisan cache **—** / 1K token Masukan · Penulisan cache, 1 jam **—** / 1K token |

Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. [Cara kerja cadangan dan penyelesaian tagihan →](https://ailoot.ai/docs/id/billing/reserve/)

### Contoh permintaan

#### Ailoot Ultra · Anthropic Messages

Isi permintaan JSON minimal yang lengkapcurl · gunakan dokumen UTF-8 AndaPython · simpan hasil secara lengkap

```json
{
  "model": "meta-llama/llama-3.1-70b-instruct",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'meta-llama/llama-3.1-70b-instruct', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
```

```python
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'meta-llama/llama-3.1-70b-instruct', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
```

### Terima dan simpan hasil

#### Ailoot Ultra · Anthropic Messages

JSON atau SSE

##### Simpan semua hasil yang selesai

Simpan setiap respons lengkap, berkas, dan bagian konten yang dikembalikan.

Simpan semua blok konten, tanda tangan penalaran, dan ID penggunaan alat yang sebenarnya. Gabungkan semua delta blok SSE; blok teks pertama bukan keseluruhan keluaran.

##### Jika respons asli perlu diperiksa

Simpan ID permintaan/respons dan header. URL umum untuk pengambilan tugas teks tidak disediakan.

Kolom respons

| Kolom | Jenis |
| --- | --- |
| Kolom`id` | Jenisstring |
| Kolom`model` | Jenisstring |
| Kolom`content[]` | Jenistext\|thinking\|tool\_use\|other content block |
| Kolom`stop_reason` | Jenisstring\|null |
| Kolom`usage` | Jenisobject |

Kesalahan dan langkah berikutnya

| Respons | Kondisi | Langkah berikutnya |
| --- | --- | --- |
| Respons400 · `invalid_request_error` | KondisiBidang wajib, representasi materi, atau nilai parameter tidak valid | Langkah berikutnyaPerbaiki bidang yang ditunjukkan sebelum permintaan pembuatan baru. |

### Alias

#### Alias model

**Ailoot Ultra** [`meta-llama/llama-3.1-70b-instruct`](https://ailoot.ai/models/id/#m=meta-llama%2Fllama-3.1-70b-instruct&route=Ultra&caller=meta-llama%2Fllama-3.1-70b-instruct&fmt=messages)

#### Alias jalur metode

Gunakan jalur metode yang ditampilkan di atas.

#### ID pemanggil terkait

[`meta-llama/llama-3.1-70b-instruct`](https://ailoot.ai/models/id/#m=meta-llama%2Fllama-3.1-70b-instruct&route=Ultra&caller=meta-llama%2Fllama-3.1-70b-instruct&fmt=messages)

FAQ · Meta: Llama 3.1 70B Instruct

Input dan hasil apa yang tersedia?

`POST /v1/chat/completions` · `meta-llama/llama-3.1-70b-instruct`: `text` → `text` `POST /v1/messages` · `meta-llama/llama-3.1-70b-instruct`: `text` → `json`, `sse`

Kolom apa yang digunakan permintaan?

`POST /v1/chat/completions` · `meta-llama/llama-3.1-70b-instruct`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `meta-llama/llama-3.1-70b-instruct`: `model`, `messages`, `max_tokens`, `stream`

Batasan apa yang berlaku?

`POST /v1/chat/completions` · `meta-llama/llama-3.1-70b-instruct`: `messages.min_items`: `1`

Hubungkan Ailoot ke Claude Code, OpenCode, Hermes, atau aplikasi Anda.

## Perusahaan dan portofolio proyeknya

Perusahaan dan portofolio proyeknya: jutaan pelanggan; penjualan miliaran setiap bulan.

## Beli token dengan diskon.

Diskon langganan untuk pekerjaan rutin. Kode promo — hingga 50% untuk pembelian token.

Langganan

Pilih paket dengan diskon untuk permintaan rutin Anda.

Kode promo hingga 50%

Masukkan kode saat membeli. Harga dihitung ulang sesuai promosi aktif.

Biaya dalam riwayat

Model, token, dan jumlah tagihan disimpan untuk setiap permintaan.

[Pilih langganan](https://ailoot.ai/docs/id/billing/subscriptions/) · [Lihat harga model](https://ailoot.ai/models/id/)

## Hubungkan API ke produk yang Anda jual.

SaaS, aplikasi, dan bot — sesuai penawaran dan perjanjian lisensi Ailoot. Untuk penjualan kembali, mintalah lisensi reseller.

Aplikasi komersial

Integrasikan pembuatan teks, gambar, video, dan suara dalam fitur berbayar layanan Anda.

Lisensi reseller

Kirim deskripsi proyek dan skema akses. Mintalah ketentuan penggunaan dan penjualan kembali secara tertulis.

Dokumen di situs

Penawaran, perjanjian lisensi, dan kebijakan pemrosesan data tersedia sebelum koneksi.

[Minta lisensi reseller](mailto:support@ailoot.ai) · [Penawaran dan perjanjian lisensi](https://ailoot.ai/legal/offer?lang=id)

## Ailoot · Perusahaan dan portofolio proyeknya





Ailoot bertumpu pada pengalaman operasional yang teruji, basis pelanggan yang besar, layanan yang stabil, dan pemantauan KPI berkelanjutan.





Perusahaan dan portofolio proyeknya: jutaan pelanggan; penjualan miliaran setiap bulan.





Ailoot memanfaatkan pengalaman operasional ini untuk akses API ke fitur AI dalam produk pelanggan, agen, aplikasi, dan otomatisasi.
