MoonshotAI: Kimi K2 0711
Kimi K2 Instruct 0711 là mô hình văn bản K2 gốc đã hậu huấn luyện của Moonshot AI dành cho hội thoại, lập trình và tác nhân được công cụ dẫn dắt. Ngữ cảnh 128K và đặc điểm phản hồi theo kiểu phản xạ tạo câu trả lời, mã cùng lời gọi hàm được chọn mà không dùng quy trình K2 Thinking về sau.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsmoonshotai/kimi-k2 - Ailoot Ultra · Anthropic Messages
POST /v1/messagesmoonshotai/kimi-k2
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.
Kimi K2 Instruct 0711 là mô hình văn bản K2 gốc đã hậu huấn luyện của Moonshot AI dành cho hội thoại đa dụng và tác vụ tác nhân. Nhà sản xuất phân biệt nó với K2 Base, là mô hình nền tảng, và mô tả phiên bản chỉ dẫn là phản hồi theo kiểu phản xạ, không suy nghĩ dài. Mô hình nhận văn bản và tạo câu trả lời, mã cùng nội dung gọi công cụ, với ngữ cảnh 128K.
Kiến trúc và huấn luyện
K2 là mô hình hỗn hợp chuyên gia với tổng cộng một nghìn tỷ tham số và 32 tỷ tham số hoạt động. Bản tóm tắt của nhà sản xuất dùng chú ý tiềm ẩn đa đầu và định tuyến chuyên gia thưa, chọn tám trong 384 chuyên gia cho mỗi token cùng một chuyên gia dùng chung. Tiền huấn luyện dùng 15,5 nghìn tỷ token và phương pháp tối ưu MuonClip, được phát triển cho huấn luyện ổn định ở quy mô mô hình này.
Đây là thuộc tính của dòng K2 gốc. Bản phát hành chỉ dẫn sau đó cung cấp hành vi dùng cho hội thoại, lập trình và tự giải quyết vấn đề với công cụ ứng dụng. Định danh của nó vẫn khác với phần mở rộng ngữ cảnh 0905 về sau, bản phát hành Thinking riêng và các mô hình đa phương thức K2.5, K2.6.
Chuẩn bị tác vụ
Với câu hỏi, hãy cung cấp ngữ cảnh xác lập câu trả lời và xác định hình thức phản hồi cần. Với tác vụ lập trình, hãy kèm triển khai liên quan, lỗi quan sát được, hành vi mong đợi và ràng buộc cần giữ. Yêu cầu minh họa là: “Giải thích vì sao đầu vào này thất bại, đề xuất bản sửa nhỏ nhất và trả hàm đã thay đổi cùng điều kiện nguồn làm cơ sở.”
Với công việc tài liệu, hãy nêu các đoạn và tiêu chí so sánh. Yêu cầu kết quả giữ tên riêng, mã định danh trường và đơn vị, đồng thời xác định thông tin tài liệu không có. Sản phẩm mong muốn cần luôn rõ ràng qua các lần sửa, thay vì bị thay bằng bình luận rộng.
Đặc điểm hội thoại
Hướng dẫn gốc của nhà sản xuất khuyến nghị temperature 0.6 và đưa ra chỉ dẫn hệ thống trợ lý đơn giản làm mặc định khi không cần vai trò chuyên biệt. Biến thể này tạo phản hồi tác vụ trực tiếp, thay vì áp đặt hợp đồng suy luận xen kẽ mở rộng của mô hình Thinking về sau. Thiết lập ngôn ngữ, chi tiết bắt buộc và độ dài mong đợi của câu trả lời cuối cùng độc lập với khuyến nghị lấy mẫu.
Công cụ và quan sát
K2 Instruct hỗ trợ các hàm được cung cấp trong mỗi yêu cầu với tên, mô tả và lược đồ tham số. Mô hình chọn thời điểm và cách gọi. Ứng dụng phân tích các đối số JSON đề xuất và thực thi thao tác được chọn; quan sát trả về đi vào hội thoại với mã định danh lời gọi công cụ và tên hàm khớp nhau. Phản hồi sau đó có thể dùng những kết quả thực tế ấy để trả lời hoặc tiếp tục tác vụ.
Xác định mỗi công cụ làm gì và hành động nào được phép. Tra cứu tài liệu có thể trả trường sản phẩm thiếu, còn công cụ phát triển có thể trả mã nguồn hoặc lỗi quan sát được. Thao tác được chọn không phải bằng chứng thực thi cho đến khi kết quả sẵn có. Giữ quan sát cùng tác vụ để kết luận cuối cùng có thể xác định cơ sở hỗ trợ.
Ngữ cảnh và đánh giá kết quả
Cửa sổ 128K gốc chứa văn bản nguồn, hội thoại, lịch sử công cụ và nội dung được tạo cùng nhau. Dành chỗ cho câu trả lời và tổ chức kho mã dài hoặc tập tài liệu quanh câu hỏi thực tế. Kích thước hoàn thiện ví dụ trong thẻ mô hình không xác lập trần câu trả lời cứng phổ quát.
Kết quả hữu ích là văn bản đã đánh giá, đề xuất mã hoặc phân tích dựa trên nguồn. Đối chiếu giá trị với tài liệu được cung cấp và mã trong ứng dụng dự định. Giữ nguyên đặc điểm chỉ dẫn trực tiếp của phiên bản 0711, thay vì gán ngữ cảnh, đầu vào hình ảnh hoặc tính năng giữ suy luận về sau từ bản phát hành K2 khác.
Tác vụ thực tế
Tác vụ thực tế
Ví dụ kỹ thuật bằng tiếng Anh
Fix an empty-input crash
Fix this Python function: def first_name(names): return names[0].strip(). For an empty list it must return None; otherwise preserve the existing trimming behavior, including returning an empty string for whitespace-only input. Return a minimal implementation and tests for an empty list, a padded name and a whitespace-only name.Kết quả mong đợi
A revised first_name function and three tests with explicit expected values.Kiểm tra kết quả
Check that only an empty list returns None and that a whitespace-only first value still returns an empty string.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions moonshotai/kimi-k2
moonshotai/kimi-k2Bắt đầu
Kimi K2 Instruct 0711 là mô hình văn bản K2 gốc đã hậu huấn luyện của Moonshot AI dành cho hội thoại, lập trình và tác nhân được công cụ dẫn dắt. Ngữ cảnh 128K và đặc điểm phản hồi theo kiểu phản xạ tạo câu trả lời, mã cùng lời gọi hàm được chọn mà không dùng quy trình K2 Thinking về sau.
- Đầ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ườngmodel | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn moonshotai/kimi-k2 | Mặc định— |
Trườngmessages | Loạimessage[] | 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ườngmessages[].role | Loạistring | 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ườngmessages[].content | Loạistring|content_part[]|null | Yêu cầuKhông bắt buộc | Giá trị & giới hạn | Mặc định— |
Trườngmessages[].tool_calls | Loạitool_call[] | Yêu cầuKhông bắt buộc | Giá trị & giới hạn | Mặc định— |
Trườngmessages[].tool_call_id | Loạistring | 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ườngmessages[].name | Loạistring | Yêu cầuKhông bắt buộc | Giá trị & giới hạn | Mặc định— |
Trườngmessages[].reasoning_content | Loạistring | 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ườngmessages[].reasoning_details | Loạiobject|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ườngmax_tokens | Loạiinteger | 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ườngmax_completion_tokens | Loạiinteger | 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ườngstream | Loạiboolean | Yêu cầuKhông bắt buộc | Giá trị & giới hạn | Mặc địnhfalse |
Trườngstream_options.include_usage | Loạiboolean | 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ườngtemperature | Loạinumber | 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ườngtop_p | Loạinumber | 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ườngstop | Loạistring|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ườngtools | Loạifunction_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ườngtools[].type | Loạistring | 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ườngtools[].function.name | Loạistring | 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ườngtools[].function.description | Loạistring | Yêu cầuKhông bắt buộc | Giá trị & giới hạn | Mặc định— |
Trườngtools[].function.parameters | LoạiJSON_schema | Yêu cầuKhông bắt buộc | Giá trị & giới hạn | Mặc định— |
Trườngtool_choice | Loạistring|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ườngparallel_tool_calls | Loạiboolean | 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ườngresponse_format | Loạiobject | 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ườngreasoning_effort | Loạistring | 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ườngreasoning | Loạiobject | 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ườngservice_tier | Loạistring | 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ườnginstructions | Loạistring | 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ườngfunctions | Loạifunction[] | 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ườngfunction_call | Loạistring|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ườngprompt_cache_options | Loạiobject | 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ườngmodalities | Loạistring[] | Yêu cầuKhông bắt buộc | Giá trị & giới hạn text | Mặc định— |
Trườngprovider | Loạiobject | 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ườngcache_control.ttl | Loạistring | 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.00114 / 1K token Đầu ra · Token đầu ra $0.0046 / 1K token Đầu vào · Đọc bộ nhớ đệm — / 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.00114 / 1K token Đầu ra · Token đầu ra $0.0046 / 1K token Đầu vào · Đọc bộ nhớ đệm — / 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 →
Ví dụ yêu cầu
Ailoot Ultra · OpenAI Chat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "moonshotai/kimi-k2", "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
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='moonshotai/kimi-k2',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"))
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='moonshotai/kimi-k2',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ườngchoices[].index | Loạiinteger |
Trườngchoices[].message.content | Loạistring|null |
Trườngchoices[].message.tool_calls | Loạitool_call[] |
Trườngchoices[].message.reasoning_content | Loạistring |
Trườngchoices[].message.reasoning_details | Loạiobject|array |
Trườngchoices[].finish_reason | Loạistring|null |
Trườngusage | 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 moonshotai/kimi-k2
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
Ailoot Ultra · Anthropic Messages POST /v1/messages moonshotai/kimi-k2
moonshotai/kimi-k2Bắt đầu
Kimi K2 Instruct 0711 là mô hình văn bản K2 gốc đã hậu huấn luyện của Moonshot AI dành cho hội thoại, lập trình và tác nhân được công cụ dẫn dắt. Ngữ cảnh 128K và đặc điểm phản hồi theo kiểu phản xạ tạo câu trả lời, mã cùng lời gọi hàm được chọn mà không dùng quy trình K2 Thinking về sau.
- Đầ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ườngmodel | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn moonshotai/kimi-k2 | Mặc định— |
Trườngmessages | Loạimessage[] | Yêu cầuBắt buộc | Giá trị & giới hạn | Mặc định— |
Trườngmessages[].role | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn user, assistant | Mặc định— |
Trườngmessages[].content | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn | Mặc định— |
Trườngmax_tokens | Loạiinteger | Yêu cầuBắt buộc | Giá trị & giới hạn | Mặc định— |
Trườngstream | Loạiboolean | 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.00114 / 1K token Đầu ra · Token đầu ra $0.0046 / 1K token Đầu vào · Đọc bộ nhớ đệm — / 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.00114 / 1K token Đầu ra · Token đầu ra $0.0046 / 1K token Đầu vào · Đọc bộ nhớ đệm — / 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 →
Ví dụ yêu cầu
Ailoot Ultra · Anthropic Messages
{
"model": "moonshotai/kimi-k2",
"max_tokens": 128,
"messages": [
{
"role": "user",
"content": "Summarize the incident report."
}
],
"stream": false
}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': 'moonshotai/kimi-k2', '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
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': 'moonshotai/kimi-k2', '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ườngid | Loạistring |
Trườngmodel | Loạistring |
Trườngcontent[] | Loạitext|thinking|tool_use|other content block |
Trườngstop_reason | Loạistring|null |
Trườngusage | 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 moonshotai/kimi-k2
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
FAQ · MoonshotAI: Kimi K2 0711
- Có những đầu vào và kết quả nào?
POST /v1/chat/completions·moonshotai/kimi-k2:text→textPOST /v1/messages·moonshotai/kimi-k2:text→json,sse- Yêu cầu sử dụng những trường nào?
POST /v1/chat/completions·moonshotai/kimi-k2:model,messages,stream,modalities,providerPOST /v1/messages·moonshotai/kimi-k2:model,messages,max_tokens,stream- Áp dụng những giới hạn nào?
POST /v1/chat/completions·moonshotai/kimi-k2:messages.min_items:1