Source: https://ailoot.ai/models/vi/mistralai-mixtral-8x22b-instruct/
Canonical: https://ailoot.ai/models/vi/mistralai-mixtral-8x22b-instruct/
Language: vi

# Mistral: Mixtral 8x22B Instruct

[Markdown](https://ailoot.ai/models/vi/mistralai-mixtral-8x22b-instruct/index.md) · [JSON](https://ailoot.ai/models/vi/mistralai-mixtral-8x22b-instruct/facts.json)

## [Mistral: Mixtral 8x22B Instruct](https://ailoot.ai/models/vi/mistralai-mixtral-8x22b-instruct/)

Mixtral 8x22B Instruct v0.1 là mô hình văn bản đa ngôn ngữ dành cho hội thoại, toán học, mã và gọi hàm. Kiến trúc hỗn hợp chuyên gia thưa dùng 39 tỷ tham số hoạt động trong tổng số 141 tỷ, với ngữ cảnh 64K do nhà sản xuất công bố và định dạng chỉ dẫn v3 riêng.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `mistralai/mixtral-8x22b-instruct`](https://ailoot.ai/models/vi/mistralai-mixtral-8x22b-instruct/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `mistralai/mixtral-8x22b-instruct`](https://ailoot.ai/models/vi/mistralai-mixtral-8x22b-instruct/#method-1)

Về mô hình

Mô tả này trình bày khả năng của mô hình. Đầu vào, đầu ra và tùy chọn có trên Ailoot được liệt kê bên dưới cho phương thức đã chọn.

Mixtral 8x22B Instruct v0.1 là phiên bản được Mistral AI tinh chỉnh để làm theo chỉ dẫn từ mô hình cơ sở có tên riêng Mixtral 8x22B v0.1. Mô hình nhận hội thoại văn bản và tạo văn bản, gồm giải thích, mã và lời gọi hàm đề xuất. Bản phát hành của dòng này nhấn mạnh tiếng Anh, Pháp, Ý, Đức và Tây Ban Nha cùng khả năng toán học và lập trình.

Chuyên gia thưa và ngữ cảnh

Nhà sản xuất mô tả mô hình hỗn hợp chuyên gia thưa với tổng cộng 141 tỷ tham số và 39 tỷ tham số hoạt động. Cấu hình Instruct phát hành chứa 8 chuyên gia, chọn 2 chuyên gia cho mỗi token, 56 lớp, 48 đầu chú ý truy vấn và 8 đầu khóa/giá trị. Tổng số tham số và các chuyên gia được chọn mô tả cấu trúc mô hình, không phải độ dài phản hồi.

Bản phát hành của dòng này mô tả ngữ cảnh 64K, còn cấu hình Instruct chính xác đặt số vị trí tối đa là 65.536. Dùng không gian đó để giữ cùng nhau các đoạn nguồn, hội thoại và câu trả lời được yêu cầu. Câu hỏi về tài liệu lớn có thể hỏi một điều kiện xuyên suốt nhiều phần, đồng thời trả bảng súc tích với từng vị trí nguồn. Đưa vào tài liệu quyết định kết quả thay vì lấp cửa sổ bằng nội dung không liên quan.

Mã hóa hội thoại chỉ dẫn

Thẻ mô hình bắt đầu bằng bộ tách token chỉ dẫn v3 của nhà sản xuất, rồi chỉ cách định dạng thông điệp với mẫu hội thoại tương ứng. Bộ từ vựng phát hành có 32.768 mục. Bộ tách token gốc và bộ tương thích cần tạo cách biểu diễn thông điệp khớp nhau; thẻ thảo luận rõ việc so sánh mã hóa của chúng. Điều này khác với giả định định dạng Tekken dùng bởi các mô hình Mistral về sau có thể thay thế lẫn nhau với bản phát hành này.

Trong hội thoại, hãy phân biệt câu hỏi người dùng, câu trả lời trước đó của trợ lý và mọi kết quả công cụ. Giữ câu trả lời trước đó có liên quan khi hỏi tiếp. Một tác vụ có thể trước tiên yêu cầu giải thích đoạn nguồn rồi yêu cầu so sánh cụ thể hơn, đồng thời giữ nội dung nguồn và mục đích thảo luận.

Với chỉnh sửa đa ngôn ngữ, hãy xác định ngôn ngữ nguồn, ngôn ngữ cuối cùng và thuật ngữ phải giữ nguyên. Yêu cầu đoạn đã sửa giữ tên, điều kiện và đơn vị. Với bài toán, hãy xác định biến, giả định và chỉ rõ kết quả cuối cùng cần là biểu thức chính xác, xấp xỉ số hay chứng minh. Với lập trình, hãy cung cấp chữ ký hàm, khai báo liên quan và hành vi mong đợi trước khi yêu cầu triển khai hoặc giải thích.

Lời gọi hàm và kết quả

Thẻ mô tả gọi hàm gốc với mô tả công cụ và lược đồ tham số. Ứng dụng cung cấp thao tác, mô hình chuẩn bị đối số của hàm được chọn và ứng dụng thực thi. Kết quả trả về sau đó phải được thêm vào hội thoại để mô hình có thể dùng trong câu trả lời tiếp theo. Thẻ cảnh báo một ví dụ mã rút ngắn không minh họa chu trình đầy đủ này.

Tác vụ tra cứu cần xác định thông tin nào thiếu và hàm được cung cấp nào có thể trả nó. Đưa vào các giá trị bắt buộc hoặc hỏi thông tin thiếu trước khi ứng dụng thực thi thao tác. Giữ lời gọi đề xuất tách khỏi dữ liệu thực tế trả về; phần giải thích cuối cùng khi đó có thể tham chiếu kết quả đã thu được thay vì kết quả suy ra từ tên công cụ.

Trong định dạng hội thoại gốc của nhà sản xuất, lời gọi công cụ và kết quả tương ứng dùng ID gồm đúng chín ký tự chữ và số. Bộ tách token cũng chứa dấu đặc biệt cho công cụ sẵn có, lời gọi công cụ và kết quả công cụ. Giữ cách biểu diễn tương ứng khi chuẩn bị hội thoại định dạng gốc; cách biểu diễn nhìn thấy của lớp bao là lựa chọn giao diện riêng.

Sản phẩm mã và tài liệu thực tế

Với sửa mã, hãy cung cấp hàm bị ảnh hưởng, đầu vào bộc lộ vấn đề và kết quả mong đợi. Yêu cầu đoạn đã sửa, nguyên nhân khác biệt và đầu vào mẫu phân biệt hành vi dự định. Tạo mã là sản phẩm văn bản; biên dịch, chạy hoặc áp dụng vào kho mã cần môi trường phát triển kết nối.

Với giải thích tài liệu, hãy yêu cầu phát biểu trả lời câu hỏi và phần làm cơ sở. So sánh có thể tách điều kiện chung, khác biệt và chi tiết chưa giải quyết. Với bản ghi văn bản bị ràng buộc, hãy xác định tên trường và cách xử lý giá trị thiếu. Thông báo gốc của dòng này mô tả gọi hàm cùng đầu ra bị ràng buộc trong dịch vụ kết nối của nhà sản xuất; các khả năng định dạng đó vẫn khác với thực thi thao tác bên ngoài.

Phiên bản và giới hạn tạo

Thẻ đưa ra ngân sách tạo như 64 và 1.000 token cho các ví dụ cụ thể. Chúng là thiết lập minh họa, không phải dung lượng câu trả lời tối đa độc lập. Giữ prompt và câu trả lời mong muốn trong ngữ cảnh thực tế được cấu hình, đồng thời yêu cầu độ dài phù hợp với tác vụ.

Mục này là bản trọng số Instruct v0.1 dựa trên văn bản với định dạng chỉ dẫn v3. Không gán cho nó thị giác, giọng nói và điều khiển suy luận lai được đưa vào các dòng Mistral về sau. Giữ đúng phiên bản và tài liệu nguồn khi chuẩn bị phần giải thích, đề xuất mã hoặc câu trả lời có công cụ hỗ trợ mà bước tiếp theo cần.

Tác vụ thực tế

### Tác vụ thực tế

Ví dụ kỹ thuật bằng tiếng Anh

```
Repair integer average division

Fix this Python function for nonempty numeric lists: def average(values): return sum(values) // len(values). Input [1, 2] must produce 1.5. Return the corrected function and assertions for [1, 2] and [2, 4]. State the nonempty-input assumption rather than inventing an empty-list policy.
```

#### Kết quả mong đợi

```
A focused function correction, two assertions and the retained input assumption.
```

#### Kiểm tra kết quả

```
The function must preserve a fractional average and leave the unspecified empty-list behavior undecided.
```

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `mistralai/mixtral-8x22b-instruct`

[`mistralai/mixtral-8x22b-instruct`](https://ailoot.ai/models/vi/#m=mistralai%2Fmixtral-8x22b-instruct&route=Ultra&caller=mistralai%2Fmixtral-8x22b-instruct&fmt=chat)

Mistral /`mistralai/mixtral-8x22b-instruct`

### Bắt đầu

Mixtral 8x22B Instruct v0.1 là mô hình văn bản đa ngôn ngữ dành cho hội thoại, toán học, mã và gọi hàm. Kiến trúc hỗn hợp chuyên gia thưa dùng 39 tỷ tham số hoạt động trong tổng số 141 tỷ, với ngữ cảnh 64K do nhà sản xuất công bố và định dạng chỉ dẫn v3 riêng.

Đầu vào được chấp nhận

Văn bản

Kết quả

Văn bản

### Có trên Ailoot · đầu vào & phương thức

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

Đầu vào

`text`

Đầu ra

`text`

Định dạng đầu ra

json hoặc SSE

| Trường | Loại | Yêu cầu | Giá trị & giới hạn | Mặc định |
| --- | --- | --- | --- | --- |
| Trường`model` | Loại`string` | Yêu cầuBắt buộc | Giá trị & giới hạn mistralai/mixtral-8x22b-instruct | Mặc định— |
| Trường`messages` | Loại`message[]` | Yêu cầuBắt buộc | Giá trị & giới hạn Số mục tối thiểu: 1 | Mặc định— |
| Trường`messages[].role` | Loại`string` | Yêu cầuBắt buộc | Giá trị & giới hạn Ví dụ: system, user, assistant, tool, function Điều kiện: Các vai trò này được biểu diễn rõ trong các kiểu tương thích của mã nguồn; tập vai trò chính xác vẫn tùy từng mô hình. Tùy thuộc vào mô hình | Mặc định— |
| Trường`messages[].content` | Loại`string\|content_part[]\|null` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn | Mặc định— |
| Trường`messages[].tool_calls` | Loại`tool_call[]` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn | Mặc định— |
| Trường`messages[].tool_call_id` | Loại`string` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Áp dụng khi: role=tool; dùng ID thực tế được trả về | Mặc định— |
| Trường`messages[].name` | Loại`string` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn | Mặc định— |
| Trường`messages[].reasoning_content` | Loại`string` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Áp dụng khi: Gửi lại dữ liệu suy luận thực tế đã được trả về khi mô hình này sử dụng dữ liệu đó | Mặc định— |
| Trường`messages[].reasoning_details` | Loại`object\|array` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Tùy thuộc vào mô hình | Mặc định— |
| Trường`max_tokens` | Loại`integer` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Tối thiểu: 1 Tùy thuộc vào mô hình | Mặc định— |
| Trường`max_completion_tokens` | Loại`integer` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Tối thiểu: 1 Tùy thuộc vào mô hình | Mặc định— |
| Trường`stream` | Loại`boolean` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn | Mặc địnhfalse |
| Trường`stream_options.include_usage` | Loại`boolean` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Tùy thuộc vào mô hình | Mặc định— |
| Trường`temperature` | Loại`number` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Tùy thuộc vào mô hình | Mặc định— |
| Trường`top_p` | Loại`number` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Tùy thuộc vào mô hình | Mặc định— |
| Trường`stop` | Loại`string\|string[]` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Tùy thuộc vào mô hình | Mặc định— |
| Trường`tools` | Loại`function_tool[]` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Tùy thuộc vào mô hình | Mặc định— |
| Trường`tools[].type` | Loại`string` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn function Tùy thuộc vào mô hình | Mặc định— |
| Trường`tools[].function.name` | Loại`string` | Yêu cầuBắt buộc | Giá trị & giới hạn Áp dụng khi: Có cung cấp công cụ hàm | Mặc định— |
| Trường`tools[].function.description` | Loại`string` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn | Mặc định— |
| Trường`tools[].function.parameters` | Loại`JSON_schema` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn | Mặc định— |
| Trường`tool_choice` | Loại`string\|object` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Tùy thuộc vào mô hình | Mặc định— |
| Trường`parallel_tool_calls` | Loại`boolean` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Tùy thuộc vào mô hình | Mặc định— |
| Trường`response_format` | Loại`object` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Tùy thuộc vào mô hình | Mặc định— |
| Trường`reasoning_effort` | Loại`string` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Tùy thuộc vào mô hình | Mặc định— |
| Trường`reasoning` | Loại`object` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Tùy thuộc vào mô hình | Mặc định— |
| Trường`service_tier` | Loại`string` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Tùy thuộc vào mô hình | Mặc định— |
| Trường`instructions` | Loại`string` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Trường tương thích | Mặc định— |
| Trường`functions` | Loại`function[]` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Tùy thuộc vào mô hình | Mặc định— |
| Trường`function_call` | Loại`string\|object` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Tùy thuộc vào mô hình | Mặc định— |
| Trường`prompt_cache_options` | Loại`object` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Tùy thuộc vào mô hình | Mặc định— |
| Trường`modalities` | Loại`string[]` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn text | Mặc định— |
| Trường`provider` | Loại`object` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Điều kiện: provider.options bị từ chối trên tuyến văn bản Ultra này | Mặc định— |
| Trường`cache_control.ttl` | Loại`string` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Điều kiện: 1h bị từ chối tại các vị trí lưu đệm prompt thực tế | Mặc định— |

Tổ hợp tư liệu đầu vào

**Văn bản** · Văn bản UTF8

`messages[].content`

Tham số phương thức và vòng đời

| Tham số | Hợp đồng |
| --- | --- |
| Tham số`content_type` | Hợp đồngapplication/json |
| Tham số`required` | Hợp đồngmodel, messages |
| Tham số`material_types` | Hợp đồngtext |
| Tham số`messages` | Hợp đồngMảng thông điệp có cấu trúc role/content |
| Tham số`file_material` | Hợp đồngTài liệu UTF-8 thực tế được chèn nguyên dạng văn bản; không suy ra ID tệp |
| Tham số`optional_controls` | Hợp đồngstream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Tham số`control_scope` | Hợp đồngTùy từng mô hình; công cụ hàm của người dùng khác với công cụ do dịch vụ cung cấp |
| Tham số`output_modalities` | Hợp đồngtext |
| Tham số`hosted_operations` | Hợp đồngfalse |
| Tham số`multimodal_input_binding` | Hợp đồngnull |

Vòng đời: `synchronous_or_streamed`

Gửi ID mô hình chính xác cùng messages.

Độ dài ngữ cảnh không phải giới hạn đầu ra.

Tệp văn bản có thể cung cấp nguyên văn nội dung; đầu vào hình ảnh, âm thanh hoặc đối tượng tệp cần có liên kết chính xác.

### Bảng giá

Thông tin biểu giá không bổ sung tùy chọn yêu cầu. Các tham số được hỗ trợ nằm trong phương thức đã chọn.

Chế độ nhanh

Mức giá tiêu chuẩn Khi chọn chế độ nhanh

Chế độ Flex

Mức giá tiêu chuẩn Khi chọn chế độ flex

Mức độ suy luận tối đa

Mức giá tiêu chuẩn Khi áp dụng mức điều chỉnh mặc định (default) cho mức độ suy luận tối đa

#### Mức phí Ailoot

#### Giá theo cấu hình

Đối chiếu từng khoản phí với điều kiện hiển thị. Dùng một mức phí cho mỗi nhóm cấu hình thay thế.

| Cấu hình | Biểu mức phí | Token ngữ cảnh, lớn hơn | Token ngữ cảnh, tối đa và bao gồm | Phí |
| --- | --- | --- | --- | --- |
| Cấu hìnhGiá cơ sở cho token | Biểu mức phíMức phí cơ bản | Token ngữ cảnh, lớn hơn— | Token ngữ cảnh, tối đa và bao gồmKhông có giới hạn trên | Phí Đầu vào · Token đầu vào **$0.004** / 1K token Đầu ra · Token đầu ra **$0.012** / 1K token Đầu vào · Đọc bộ nhớ đệm **$0.0004** / 1K token Đầu vào · Ghi bộ nhớ đệm **—** / 1K token Đầu vào · Ghi bộ nhớ đệm, 1 giờ **—** / 1K token |
| Cấu hìnhBậc 1 theo độ dài yêu cầu | Biểu mức phí— | Token ngữ cảnh, lớn hơn0 | Token ngữ cảnh, tối đa và bao gồmKhông có giới hạn trên | Phí Đầu vào · Token đầu vào **$0.004** / 1K token Đầu ra · Token đầu ra **$0.012** / 1K token Đầu vào · Đọc bộ nhớ đệm **$0.0004** / 1K token Đầu vào · Ghi bộ nhớ đệm **—** / 1K token Đầu vào · Ghi bộ nhớ đệm, 1 giờ **—** / 1K token |

Ailoot tạm giữ một khoản ước tính trước yêu cầu. Sau khi có kết quả, phí cuối cùng được quyết toán theo mức sử dụng đo được. Việc quyết toán khi truyền luồng dùng bản ghi mức sử dụng cuối cùng. [Cách hoạt động của cơ chế tạm giữ và quyết toán →](https://ailoot.ai/docs/vi/billing/reserve/)

### Ví dụ yêu cầu

#### Ailoot Ultra · OpenAI Chat

curlPython SDKLuồng 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": "mistralai/mixtral-8x22b-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='mistralai/mixtral-8x22b-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='mistralai/mixtral-8x22b-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")
```

### Nhận và lưu kết quả

#### Ailoot Ultra · OpenAI Chat

json hoặc SSE

##### Lưu tất cả kết quả đã hoàn tất

Lưu mọi phản hồi hoàn chỉnh, tệp và phần nội dung được trả về.

Giữ mọi phương án trả lời cùng nội dung, lệnh gọi công cụ và dữ liệu suy luận của phương án đó. Với SSE, ghép các phần thay đổi theo chỉ số phương án và công cụ, giữ lý do kết thúc cuối cùng cùng dữ liệu sử dụng.

##### Nếu cần kiểm tra phản hồi gốc

Giữ ID và header của yêu cầu, phản hồi. Không cung cấp URL chung để truy xuất tác vụ văn bản.

Trường phản hồi

| Trường | Loại |
| --- | --- |
| Trường`choices[].index` | Loạiinteger |
| Trường`choices[].message.content` | Loạistring\|null |
| Trường`choices[].message.tool_calls` | Loạitool\_call\[\] |
| Trường`choices[].message.reasoning_content` | Loạistring |
| Trường`choices[].message.reasoning_details` | Loạiobject\|array |
| Trường`choices[].finish_reason` | Loạistring\|null |
| Trường`usage` | Loạiobject |

Lỗi và bước tiếp theo

| Phản hồi | Điều kiện | Bước tiếp theo |
| --- | --- | --- |
| Phản hồi400 · `invalid_request_error` | Điều kiệnTrường bắt buộc, cách biểu diễn tài liệu hoặc giá trị tham số không hợp lệ | Bước tiếp theoSửa các trường được chỉ ra trước khi gửi yêu cầu tạo mới. |

### Bí danh

#### Bí danh mô hình

**Ailoot Ultra** [`mistralai/mixtral-8x22b-instruct`](https://ailoot.ai/models/vi/#m=mistralai%2Fmixtral-8x22b-instruct&route=Ultra&caller=mistralai%2Fmixtral-8x22b-instruct&fmt=chat)

#### Bí danh đường dẫn phương thức

Dùng các đường dẫn phương thức hiển thị ở trên.

#### ID gọi liên quan

[`mistralai/mixtral-8x22b-instruct`](https://ailoot.ai/models/vi/#m=mistralai%2Fmixtral-8x22b-instruct&route=Ultra&caller=mistralai%2Fmixtral-8x22b-instruct&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `mistralai/mixtral-8x22b-instruct`

[`mistralai/mixtral-8x22b-instruct`](https://ailoot.ai/models/vi/#m=mistralai%2Fmixtral-8x22b-instruct&route=Ultra&caller=mistralai%2Fmixtral-8x22b-instruct&fmt=messages)

Mistral /`mistralai/mixtral-8x22b-instruct`

### Bắt đầu

Mixtral 8x22B Instruct v0.1 là mô hình văn bản đa ngôn ngữ dành cho hội thoại, toán học, mã và gọi hàm. Kiến trúc hỗn hợp chuyên gia thưa dùng 39 tỷ tham số hoạt động trong tổng số 141 tỷ, với ngữ cảnh 64K do nhà sản xuất công bố và định dạng chỉ dẫn v3 riêng.

Đầu vào được chấp nhận

Văn bản

Kết quả

json · sse

### Có trên Ailoot · đầu vào & phương thức

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

Đầu vào

`text`

Đầu ra

`json`, `sse`

Định dạng đầu ra

JSON hoặc SSE

| Trường | Loại | Yêu cầu | Giá trị & giới hạn | Mặc định |
| --- | --- | --- | --- | --- |
| Trường`model` | Loại`string` | Yêu cầuBắt buộc | Giá trị & giới hạn mistralai/mixtral-8x22b-instruct | Mặc định— |
| Trường`messages` | Loại`message[]` | Yêu cầuBắt buộc | Giá trị & giới hạn | Mặc định— |
| Trường`messages[].role` | Loại`string` | Yêu cầuBắt buộc | Giá trị & giới hạn user, assistant | Mặc định— |
| Trường`messages[].content` | Loại`string` | Yêu cầuBắt buộc | Giá trị & giới hạn | Mặc định— |
| Trường`max_tokens` | Loại`integer` | Yêu cầuBắt buộc | Giá trị & giới hạn | Mặc định— |
| Trường`stream` | Loại`boolean` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn | Mặc địnhfalse |

Tổ hợp tư liệu đầu vào

**Văn bản** · Văn bản UTF-8

`Chuỗi messages[].content`

Tham số phương thức và vòng đời

| Tham số | Hợp đồng |
| --- | --- |
| Tham số`content_type` | Hợp đồngapplication/json |
| Tham số`required` | Hợp đồngmodel, messages, max\_tokens |
| Tham số`optional_controls` | Hợp đồngstream |
| Tham số`material_types` | Hợp đồngtext |
| Tham số`text_file_material` | Hợp đồngĐọc tài liệu UTF-8 thực tế và đặt nội dung văn bản vào chuỗi đầu vào hoặc nội dung thông điệp được chỉ định. |

Vòng đời: `synchronous_or_streamed`

### Bảng giá

Thông tin biểu giá không bổ sung tùy chọn yêu cầu. Các tham số được hỗ trợ nằm trong phương thức đã chọn.

Chế độ nhanh

Mức giá tiêu chuẩn Khi chọn chế độ nhanh

Chế độ Flex

Mức giá tiêu chuẩn Khi chọn chế độ flex

Mức độ suy luận tối đa

Mức giá tiêu chuẩn Khi áp dụng mức điều chỉnh mặc định (default) cho mức độ suy luận tối đa

#### Mức phí Ailoot

#### Giá theo cấu hình

Đối chiếu từng khoản phí với điều kiện hiển thị. Dùng một mức phí cho mỗi nhóm cấu hình thay thế.

| Cấu hình | Biểu mức phí | Token ngữ cảnh, lớn hơn | Token ngữ cảnh, tối đa và bao gồm | Phí |
| --- | --- | --- | --- | --- |
| Cấu hìnhGiá cơ sở cho token | Biểu mức phíMức phí cơ bản | Token ngữ cảnh, lớn hơn— | Token ngữ cảnh, tối đa và bao gồmKhông có giới hạn trên | Phí Đầu vào · Token đầu vào **$0.004** / 1K token Đầu ra · Token đầu ra **$0.012** / 1K token Đầu vào · Đọc bộ nhớ đệm **$0.0004** / 1K token Đầu vào · Ghi bộ nhớ đệm **—** / 1K token Đầu vào · Ghi bộ nhớ đệm, 1 giờ **—** / 1K token |
| Cấu hìnhBậc 1 theo độ dài yêu cầu | Biểu mức phí— | Token ngữ cảnh, lớn hơn0 | Token ngữ cảnh, tối đa và bao gồmKhông có giới hạn trên | Phí Đầu vào · Token đầu vào **$0.004** / 1K token Đầu ra · Token đầu ra **$0.012** / 1K token Đầu vào · Đọc bộ nhớ đệm **$0.0004** / 1K token Đầu vào · Ghi bộ nhớ đệm **—** / 1K token Đầu vào · Ghi bộ nhớ đệm, 1 giờ **—** / 1K token |

Ailoot tạm giữ một khoản ước tính trước yêu cầu. Sau khi có kết quả, phí cuối cùng được quyết toán theo mức sử dụng đo được. Việc quyết toán khi truyền luồng dùng bản ghi mức sử dụng cuối cùng. [Cách hoạt động của cơ chế tạm giữ và quyết toán →](https://ailoot.ai/docs/vi/billing/reserve/)

### Ví dụ yêu cầu

#### Ailoot Ultra · Anthropic Messages

Nội dung yêu cầu JSON tối thiểu, đầy đủcurl · dùng tài liệu UTF-8 của bạnPython · lưu kết quả đầy đủ

```json
{
  "model": "mistralai/mixtral-8x22b-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': 'mistralai/mixtral-8x22b-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': 'mistralai/mixtral-8x22b-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))
```

### Nhận và lưu kết quả

#### Ailoot Ultra · Anthropic Messages

JSON hoặc SSE

##### Lưu tất cả kết quả đã hoàn tất

Lưu mọi phản hồi hoàn chỉnh, tệp và phần nội dung được trả về.

Giữ mọi khối nội dung, chữ ký suy nghĩ và ID sử dụng công cụ thực tế. Ghép tất cả các phần thay đổi của khối SSE; khối văn bản đầu tiên không phải toàn bộ đầu ra.

##### Nếu cần kiểm tra phản hồi gốc

Giữ ID và header của yêu cầu, phản hồi. Không cung cấp URL chung để truy xuất tác vụ văn bản.

Trường phản hồi

| Trường | Loại |
| --- | --- |
| Trường`id` | Loạistring |
| Trường`model` | Loạistring |
| Trường`content[]` | Loạitext\|thinking\|tool\_use\|other content block |
| Trường`stop_reason` | Loạistring\|null |
| Trường`usage` | Loạiobject |

Lỗi và bước tiếp theo

| Phản hồi | Điều kiện | Bước tiếp theo |
| --- | --- | --- |
| Phản hồi400 · `invalid_request_error` | Điều kiệnTrường bắt buộc, cách biểu diễn tài liệu hoặc giá trị tham số không hợp lệ | Bước tiếp theoSửa các trường được chỉ ra trước khi gửi yêu cầu tạo mới. |

### Bí danh

#### Bí danh mô hình

**Ailoot Ultra** [`mistralai/mixtral-8x22b-instruct`](https://ailoot.ai/models/vi/#m=mistralai%2Fmixtral-8x22b-instruct&route=Ultra&caller=mistralai%2Fmixtral-8x22b-instruct&fmt=messages)

#### Bí danh đường dẫn phương thức

Dùng các đường dẫn phương thức hiển thị ở trên.

#### ID gọi liên quan

[`mistralai/mixtral-8x22b-instruct`](https://ailoot.ai/models/vi/#m=mistralai%2Fmixtral-8x22b-instruct&route=Ultra&caller=mistralai%2Fmixtral-8x22b-instruct&fmt=messages)

FAQ · Mistral: Mixtral 8x22B Instruct

Có những đầu vào và kết quả nào?

`POST /v1/chat/completions` · `mistralai/mixtral-8x22b-instruct`: `text` → `text` `POST /v1/messages` · `mistralai/mixtral-8x22b-instruct`: `text` → `json`, `sse`

Yêu cầu sử dụng những trường nào?

`POST /v1/chat/completions` · `mistralai/mixtral-8x22b-instruct`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `mistralai/mixtral-8x22b-instruct`: `model`, `messages`, `max_tokens`, `stream`

Áp dụng những giới hạn nào?

`POST /v1/chat/completions` · `mistralai/mixtral-8x22b-instruct`: `messages.min_items`: `1`

Kết nối Ailoot với Claude Code, OpenCode, Hermes hoặc ứng dụng của bạn.

## Công ty và danh mục dự án của công ty

Công ty và danh mục dự án của công ty: hàng triệu khách hàng; doanh số hàng tỷ mỗi tháng.

## Mua token với giá ưu đãi.

Ưu đãi thuê bao cho nhu cầu thường xuyên. Mã khuyến mãi giảm đến 50% khi mua token.

Thuê bao

Chọn gói ưu đãi cho các yêu cầu thường xuyên của bạn.

Mã giảm đến 50%

Nhập mã khi mua. Giá được tính lại theo chương trình đang áp dụng.

Chi phí trong lịch sử

Mô hình, token và số tiền được lưu cho mỗi yêu cầu.

[Chọn gói thuê bao](https://ailoot.ai/docs/vi/billing/subscriptions/) · [Xem giá mô hình](https://ailoot.ai/models/vi/)

## Kết nối API vào sản phẩm bạn đang bán.

SaaS, ứng dụng và bot — theo đề nghị giao kết chính thức và thỏa thuận cấp phép Ailoot. Muốn bán lại, hãy yêu cầu giấy phép bán lại.

Ứng dụng thương mại

Tích hợp tạo văn bản, ảnh, video và âm thanh vào các tính năng trả phí của dịch vụ.

Giấy phép bán lại

Gửi mô tả dự án và cách cung cấp quyền truy cập. Yêu cầu điều khoản sử dụng và bán lại bằng văn bản.

Tài liệu trên website

Đề nghị giao kết, thỏa thuận cấp phép và chính sách xử lý dữ liệu có sẵn trước khi kết nối.

[Yêu cầu giấy phép bán lại](mailto:support@ailoot.ai) · [Đề nghị giao kết và thỏa thuận cấp phép](https://ailoot.ai/legal/offer?lang=vi)

## Ailoot · Công ty và danh mục dự án của công ty





Ailoot dựa trên kinh nghiệm vận hành tích lũy, cơ sở khách hàng lớn, dịch vụ ổn định và việc kiểm soát KPI liên tục.





Công ty và danh mục dự án của công ty: hàng triệu khách hàng; doanh số hàng tỷ mỗi tháng.





Ailoot áp dụng kinh nghiệm vận hành này để cung cấp quyền truy cập API vào các tính năng AI trong sản phẩm của khách hàng, tác tử, ứng dụng và quy trình tự động hóa.
