Source: https://ailoot.ai/models/vi/gemini-2-5-flash-lite-preview-06-17/
Canonical: https://ailoot.ai/models/vi/gemini-2-5-flash-lite-preview-06-17/
Language: vi

# gemini-2.5-flash-lite-preview-06-17

[Markdown](https://ailoot.ai/models/vi/gemini-2-5-flash-lite-preview-06-17/index.md) · [JSON](https://ailoot.ai/models/vi/gemini-2-5-flash-lite-preview-06-17/facts.json)

## [gemini-2.5-flash-lite-preview-06-17](https://ailoot.ai/models/vi/gemini-2-5-flash-lite-preview-06-17/)

Gemini 2.5 Flash-Lite Preview 06-17 là phiên bản tháng 6 của Google dành cho phân loại, tóm tắt và xử lý văn bản lặp lại với thông lượng cao. Mô hình kết hợp ngữ cảnh một triệu token, suy luận tùy chọn và các công cụ tìm kiếm, mã, ngữ cảnh URL, gọi hàm được tài liệu ghi nhận.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `gemini-2.5-flash-lite-preview-06-17`](https://ailoot.ai/models/vi/gemini-2-5-flash-lite-preview-06-17/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `gemini-2.5-flash-lite-preview-06-17`](https://ailoot.ai/models/vi/gemini-2-5-flash-lite-preview-06-17/#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.

Gemini 2.5 Flash-Lite Preview 06-17 là phiên bản xem trước Flash-Lite tháng 6 của Google, được thiết kế cho các tác vụ thường xuyên đòi hỏi độ trễ thấp như phân loại tin nhắn và tóm tắt tư liệu trên quy mô lớn. Mô hình thuộc dòng Gemini 2.5 có khả năng suy luận, đồng thời duy trì cách trả lời trực tiếp cho công việc đơn giản. Tên Preview kèm ngày tháng phân biệt bản phát hành này với Flash-Lite ổn định và bản xem trước tháng 9 ra sau, vốn có các cải tiến về tuân thủ chỉ dẫn và đa phương thức thuộc riêng phiên bản đó.

Bản ra mắt tháng 6 đặt phân loại và tóm tắt làm trọng tâm mục đích sử dụng. Đầu vào phân loại hữu ích chứa tin nhắn, các nhãn được phép dùng và ví dụ về ranh giới giữa chúng; đầu ra có thể là một nhãn, lý do ngắn và thông tin cần cho bước xử lý tiếp theo. Tác vụ tóm tắt có thể quy định các quyết định, đầu việc, thời hạn cụ thể và câu hỏi còn bỏ ngỏ cần giữ lại. Đây là những ứng dụng thực tế của mục đích đã công bố: chúng cung cấp đầu vào rõ ràng và kết quả gọn cho một thao tác lặp lại, thay vì yêu cầu một bài viết không giới hạn phạm vi.

Khả năng suy luận có sẵn nhưng được tắt theo mặc định trong bản xem trước Flash-Lite tháng 6 này. Google mô tả ngân sách suy luận có thể điều chỉnh, cho phép tác vụ sử dụng thêm suy luận khi các điều kiện đòi hỏi. Hãy giữ cách trả lời trực tiếp cho phân loại hoặc rút gọn đơn giản; dùng tác vụ có suy luận khi các danh mục chồng lấn, có ngoại lệ hoặc câu hỏi cần nhiều kết luận phụ thuộc lẫn nhau. Hãy quy định điều kiện nào là bắt buộc và thế nào là câu trả lời đúng. Suy luận là khả năng xử lý tác vụ; bản thân phần giải thích dài hơn không phải bằng chứng cho thấy kết luận là đúng.

Báo cáo kỹ thuật của Google nêu đích danh mô hình tháng 6 này và ghi nhận hỗ trợ đầu vào đa phương thức cùng độ dài ngữ cảnh một triệu token. Kết quả của mô hình là văn bản. Ngữ cảnh tạo chỗ cho tư liệu nguồn, chỉ dẫn và ví dụ trong cùng một tác vụ. Hãy giao vai trò rõ ràng cho từng tài liệu hoặc phần, rồi xác định nội dung mô hình cần trích xuất hay so sánh. Với trợ lý tài liệu, hãy tách câu hỏi khỏi văn bản nguồn và yêu cầu kết quả gắn với các đoạn liên quan. Với bước trích xuất, hãy xác định các trường và cách biểu thị thông tin không có trong tư liệu. Đây là khả năng về ngữ cảnh, không phải lời hứa rằng nội dung không liên quan sẽ trở nên hữu ích chỉ vì được đưa vào.

Thông báo tháng 6 liệt kê các công cụ tích hợp để bổ sung căn cứ từ kết quả tìm kiếm, thực thi mã và sử dụng ngữ cảnh URL, cùng khả năng gọi hàm. Việc bổ sung căn cứ từ kết quả tìm kiếm đưa thông tin web vào phản hồi; ngữ cảnh URL sử dụng nội dung các trang được cung cấp cho những tác vụ như so sánh tài liệu hoặc trích xuất chi tiết. Công cụ thực thi mã của Google tạo và chạy mã Python để tính toán hoặc xử lý văn bản, rồi sử dụng kết quả thực thi trong câu trả lời. Gọi hàm có vai trò khác: mô hình chọn một hàm đã khai báo và các đối số của nó, còn ứng dụng được kết nối thực thi rồi trả về kết quả. Hãy xác định mục đích của hàm và các tham số được phép để tác vụ có công cụ hỗ trợ có hành động tiếp theo rõ ràng.

Với quy trình lặp lại, hãy chuẩn bị một tập nhỏ đầu vào đại diện trước khi áp dụng cùng chỉ dẫn cho tập lớn hơn. Bao gồm một trường hợp thông thường, một trường hợp mơ hồ và một trường hợp thiếu thông tin. Ví dụ về hỗ trợ khách hàng có thể yêu cầu chủ đề, câu hỏi thực tế của khách hàng và câu trả lời chỉ dựa trên đoạn tham khảo đi kèm. Ví dụ về thư từ có thể yêu cầu danh sách công việc gồm hành động, người giao việc và thời hạn chỉ khi thời hạn được nêu rõ. Hãy giữ các trường được yêu cầu này tách khỏi mọi phần văn xuôi giải thích để có thể đối chiếu văn bản kết quả với mục gốc.

Tài liệu mô tả dòng Flash-Lite của nhà sản xuất chỉ ra khả năng bịa ra dữ kiện và khó khăn trong việc hiểu quan hệ nhân quả, suy diễn logic phức tạp và suy luận phản thực tế. Tài liệu cũng lưu ý rằng việc tuân thủ ngân sách suy luận có thể thiếu nhất quán. Hãy coi đó là các điểm kiểm tra cụ thể: đối chiếu dữ kiện đã trích xuất với nguồn, kiểm tra các phép tính phụ thuộc nhau và phân biệt phát biểu quan sát được với lời giải thích suy ra từ đó. Sản phẩm hoàn chỉnh hữu ích là kết quả phân loại, tóm tắt, trích xuất hoặc câu trả lời gọn mà các dữ kiện bắt buộc và thông tin bị thiếu đều có thể được kiểm tra. Phiên bản tháng 6 này là một lựa chọn xử lý văn bản riêng biệt; thông số của các bản xem trước sau này không xác định lại danh tính được tài liệu ghi nhận của nó.

Tác vụ thực tế

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

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

```
Extract actions from a meeting note

Extract only explicit action items from this note: 'Mira will send the revised price sheet by Friday. Jonas suggested checking packaging later, but nobody accepted that task. Noor will confirm the delivery address; no deadline was set.' Return a table with action, owner and deadline. Use 'not stated' for an absent deadline and exclude unassigned suggestions.
```

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

```
A compact action table containing explicit commitments and source-grounded deadline values.
```

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

```
The unassigned packaging suggestion is excluded, and Noor's deadline is not invented.
```

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `gemini-2.5-flash-lite-preview-06-17`

[`gemini-2.5-flash-lite-preview-06-17`](https://ailoot.ai/models/vi/#m=gemini-2.5-flash-lite-preview-06-17&route=Ultra&caller=gemini-2.5-flash-lite-preview-06-17&fmt=chat)

Google /`gemini-2.5-flash-lite-preview-06-17`

### Bắt đầu

Gemini 2.5 Flash-Lite Preview 06-17 là phiên bản tháng 6 của Google dành cho phân loại, tóm tắt và xử lý văn bản lặp lại với thông lượng cao. Mô hình kết hợp ngữ cảnh một triệu token, suy luận tùy chọn và các công cụ tìm kiếm, mã, ngữ cảnh URL, gọi hàm được tài liệu ghi nhận.

Đầ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 gemini-2.5-flash-lite-preview-06-17 | 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

Chưa chỉ định Khi chọn chế độ nhanh

Chế độ Flex

Chưa chỉ định Khi chọn chế độ flex

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

Chưa chỉ định Khi áp dụng mức điều chỉnh mặc định (default) cho mức độ suy luận tối đa

Giá lưu đệm tường minh

Chưa bật Khi yêu cầu lưu đệm tường minh

#### Mức phí Ailoot

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

| Cấu hình | Biểu mức phí | Phí |
| --- | --- | --- |
| Cấu hìnhGiá cơ sở cho token | Biểu mức phíMức phí cơ bản | Phí Đầu vào · Token đầu vào **$0.0002** / 1K token Đầu ra · Token đầu ra **$0.0008** / 1K token Đầu vào · Đọc bộ nhớ đệm **$0** / 1K token Đầu vào · Ghi bộ nhớ đệm **$0** / 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": "gemini-2.5-flash-lite-preview-06-17", "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='gemini-2.5-flash-lite-preview-06-17',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='gemini-2.5-flash-lite-preview-06-17',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** [`gemini-2.5-flash-lite-preview-06-17`](https://ailoot.ai/models/vi/#m=gemini-2.5-flash-lite-preview-06-17&route=Ultra&caller=gemini-2.5-flash-lite-preview-06-17&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

[`gemini-2.5-flash-lite-preview-06-17`](https://ailoot.ai/models/vi/#m=gemini-2.5-flash-lite-preview-06-17&route=Ultra&caller=gemini-2.5-flash-lite-preview-06-17&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `gemini-2.5-flash-lite-preview-06-17`

[`gemini-2.5-flash-lite-preview-06-17`](https://ailoot.ai/models/vi/#m=gemini-2.5-flash-lite-preview-06-17&route=Ultra&caller=gemini-2.5-flash-lite-preview-06-17&fmt=messages)

Google /`gemini-2.5-flash-lite-preview-06-17`

### Bắt đầu

Gemini 2.5 Flash-Lite Preview 06-17 là phiên bản tháng 6 của Google dành cho phân loại, tóm tắt và xử lý văn bản lặp lại với thông lượng cao. Mô hình kết hợp ngữ cảnh một triệu token, suy luận tùy chọn và các công cụ tìm kiếm, mã, ngữ cảnh URL, gọi hàm được tài liệu ghi nhận.

Đầ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 gemini-2.5-flash-lite-preview-06-17 | 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

Chưa chỉ định Khi chọn chế độ nhanh

Chế độ Flex

Chưa chỉ định Khi chọn chế độ flex

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

Chưa chỉ định Khi áp dụng mức điều chỉnh mặc định (default) cho mức độ suy luận tối đa

Giá lưu đệm tường minh

Chưa bật Khi yêu cầu lưu đệm tường minh

#### Mức phí Ailoot

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

| Cấu hình | Biểu mức phí | Phí |
| --- | --- | --- |
| Cấu hìnhGiá cơ sở cho token | Biểu mức phíMức phí cơ bản | Phí Đầu vào · Token đầu vào **$0.0002** / 1K token Đầu ra · Token đầu ra **$0.0008** / 1K token Đầu vào · Đọc bộ nhớ đệm **$0** / 1K token Đầu vào · Ghi bộ nhớ đệm **$0** / 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": "gemini-2.5-flash-lite-preview-06-17",
  "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': 'gemini-2.5-flash-lite-preview-06-17', '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': 'gemini-2.5-flash-lite-preview-06-17', '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** [`gemini-2.5-flash-lite-preview-06-17`](https://ailoot.ai/models/vi/#m=gemini-2.5-flash-lite-preview-06-17&route=Ultra&caller=gemini-2.5-flash-lite-preview-06-17&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

[`gemini-2.5-flash-lite-preview-06-17`](https://ailoot.ai/models/vi/#m=gemini-2.5-flash-lite-preview-06-17&route=Ultra&caller=gemini-2.5-flash-lite-preview-06-17&fmt=messages)

FAQ · gemini-2.5-flash-lite-preview-06-17

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

`POST /v1/chat/completions` · `gemini-2.5-flash-lite-preview-06-17`: `text` → `text` `POST /v1/messages` · `gemini-2.5-flash-lite-preview-06-17`: `text` → `json`, `sse`

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

`POST /v1/chat/completions` · `gemini-2.5-flash-lite-preview-06-17`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `gemini-2.5-flash-lite-preview-06-17`: `model`, `messages`, `max_tokens`, `stream`

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

`POST /v1/chat/completions` · `gemini-2.5-flash-lite-preview-06-17`: `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.
