Moonshot AI, 16 Temmuz 2026 tarihinde Kimi K3'ü piyasaya sürdü ve bugüne kadarki en yetenekli modeli olarak konumlandırdı: 2,8T parametreli Uzmanlar Karışımı (Mixture-of-Experts) tasarımı ve 1.048.576 tokenlık bağlam penceresiyle dünyanın ilk açık 3T sınıfı modeli. Geliştiriciler için asıl önemli nokta model boyutu değil, API uyumluluğudur. Kimi K3, OpenAI SDK sözleşmesini kullanır. Halihazırda GPT veya başka bir OpenAI uyumlu uç nokta çağırıyorsanız, aynı istemciyi kimi-k3 modeline yönlendirip birkaç dakika içinde akış yanıtları alabilirsiniz. Bu rehberde API anahtarı oluşturma, Python/JavaScript/cURL ile ilk istek, akış, araç çağrıları, JSON modu, reasoning_effort parametresi ve bağlam önbelleklemesini uygulamalı olarak ele alacağız. Son bölümde ise çağrıları Apidog içinde test edip ham HTTP isteklerini ve SSE olaylarını inceleyeceğiz.
Özet
- API model kimliği
kimi-k3'tür. OpenRouter slug'ımoonshotai/kimi-k3'tür. - Uç nokta OpenAI SDK uyumludur:
base_url,api_keyvemodel="kimi-k3"ayarlarını yapmanız yeterlidir. Kesin temel URL'yi platform.kimi.ai konsolunda doğrulayın. Kimi tarihsel olarakhttps://api.moonshot.ai/v1adresini kullanmıştır. - Bağlam penceresi 1 milyon tokendir. Fiyatlandırma; milyon önbellek isabetli giriş tokenı başına 0,30 dolar, milyon önbellek kaçaklı giriş tokenı başına 3,00 dolar ve milyon çıktı tokenı başına 15,00 dolardır.
- Akış, araç çağrıları, JSON modu, yapılandırılmış çıktı ve
reasoning_effortparametresi standart sohbet tamamlama sözleşmesiyle çalışır. - Daha eski veya bütçe odaklı kodlama iş yükleri için K2.7 serisi daha uygun olabilir.
- Akış ve araç çağrılarını hata ayıklamak, anahtarı ortam değişkeni olarak saklamak ve
kimi-k3ilekimi-k2-7-codearasında A/B testi yapmak için isteği Apidog'a aktarabilirsiniz.
Hangi Kimi modelini çağırmalısınız?
Kod yazmadan önce hedef modeli seçin.
Kimi K3; karmaşık kodlama, uzun süreli ajan tabanlı iş akışları ve büyük bağlam üzerinde bilgi görevleri için tasarlanmış serinin öncü MoE modelidir. Seride token başına en yüksek çıktı maliyetine sahiptir. Moonshot'un kendi lansman gönderisi, K3'ün dahili karşılaştırmalarda Claude Fable 5 ve GPT-5.6 Sol'un gerisinde kaldığını belirtir. Bu nedenle K3 güçlü bir seçenek olsa da her iş yükü için otomatik olarak en iyi fiyat/performans tercihi değildir.
Yüksek hacimli kodlama asistanı, CI test üretimi veya çağrı başına maliyetin önemli olduğu iş yüklerinde K2.7 Kod serisi daha ekonomik olabilir. Başlangıç için şu kaynakları inceleyin:
- Kimi K2.7 Kod API kılavuzu
- Kimi K2.7 Kod nedir?
- Kimi K3 ile Kimi K2.7 Kod karşılaştırması
- Kimi K3 nedir?
Pratik seçim kuralı:
-
Derin muhakeme, 1M bağlam veya araç orkestrasyonu:
kimi-k3 -
Rutin ve yüksek hacimli kodlama:
kimi-k2-7-code
Kimi platformunda API anahtarı alın
platform.kimi.ai adresine gidin ve oturum açın. Konsol üzerinden API anahtarı oluşturabilir, kullanımınızı izleyebilir ve hesabınıza ait temel URL'yi doğrulayabilirsiniz.
- Konsolda API Keys bölümünü açın.
- Yeni bir anahtar oluşturun.
- Anahtarı hemen kopyalayıp güvenli bir yere kaydedin. Tam değeri daha sonra tekrar gösterilmez.
-
kimi-k3çağrılarının bakiye nedeniyle reddedilmemesi için kredi veya faturalandırma katmanınızı doğrulayın. - Konsolda belirtilen temel URL'yi not edin. Kimi tarihsel olarak
https://api.moonshot.ai/v1kullanmıştır; ancak hesabınız için doğruluk kaynağı konsoldur.
Anahtarı kaynak koduna yazmayın. Ortam değişkeni olarak tanımlayın:
export KIMI_API_KEY="sk-your-key-here"
export KIMI_BASE_URL="https://api.moonshot.ai/v1"
Bu yaklaşım, anahtarın Git geçmişine veya ekran görüntülerine yanlışlıkla girmesini önler. Aynı anahtarı API test aracınızda da ortam değişkeni olarak saklayın.
Önbellek isabetleri ile önbellek kaçaklarının faturanıza etkisi için Kimi K3 fiyatlandırma kılavuzuna bakın.
Hızlı başlangıç: İlk kimi-k3 çağrınız
Kimi API'si OpenAI sohbet tamamlama sözleşmesini takip eder. OpenAI SDK kullanıyorsanız temel olarak iki şeyi değiştirirsiniz:
base_urlmodel
Python
Önce SDK'yı yükleyin:
pip install openai
Ardından ilk isteği gönderin:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["KIMI_API_KEY"],
# Kesin URL'yi platform.kimi.ai konsolunda doğrulayın.
base_url=os.environ.get("KIMI_BASE_URL", "https://api.moonshot.ai/v1"),
)
response = client.chat.completions.create(
model="kimi-k3",
messages=[
{"role": "system", "content": "You are a precise coding assistant."},
{
"role": "user",
"content": "Explain what a token bucket rate limiter does in one paragraph.",
},
],
)
print(response.choices[0].message.content)
JavaScript / TypeScript
Paketi yükleyin:
npm install openai
İstemciyi yapılandırın:
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.KIMI_API_KEY,
// Kesin URL'yi platform.kimi.ai konsolunda doğrulayın.
baseURL: process.env.KIMI_BASE_URL ?? "https://api.moonshot.ai/v1",
});
const response = await client.chat.completions.create({
model: "kimi-k3",
messages: [
{ role: "system", content: "You are a precise coding assistant." },
{
role: "user",
content: "Explain what a token bucket rate limiter does in one paragraph.",
},
],
});
console.log(response.choices[0].message.content);
cURL
SDK kullanmadan doğrudan HTTP isteği göndermek için:
curl "$KIMI_BASE_URL/chat/completions" \
-H "Authorization: Bearer $KIMI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kimi-k3",
"messages": [
{
"role": "user",
"content": "Explain what a token bucket rate limiter does in one paragraph."
}
]
}'
Hata ayıklama için hızlı kontrol listesi:
- 401: API anahtarı yanlış, eksik veya ortam değişkeni yüklenmemiş olabilir.
- 404: Genellikle modelden değil, yanlış temel URL veya yanlış yoldan kaynaklanır.
- 429 / bakiye hatası: Kullanım limiti, kredi veya faturalandırma yapılandırmasını kontrol edin.
İstemci seçenekleri için OpenAI Python SDK belgelerine bakabilirsiniz. Kimi OpenAI uyumlu kablo formatını kullandığı için aynı istemci yapısı geçerlidir.
Akış yanıtları
Sohbet arayüzlerinde ve uzun ajan dönüşlerinde, tüm yanıtın tamamlanmasını beklemek yerine tokenları geldikçe göstermek istersiniz. Bunun için stream=True kullanın.
Python ile akış
stream = client.chat.completions.create(
model="kimi-k3",
messages=[
{
"role": "user",
"content": "Write a 6-line poem about flaky tests.",
}
],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta
if delta.content:
print(delta.content, end="", flush=True)
Arka planda bu istek bir Server-Sent Events (SSE) akışıdır. Her parça data: çerçevesi içinde küçük bir JSON parçası olarak gelir ve akış data: [DONE] ile tamamlanır.
SDK bu ayrıntıyı gizler. Ancak akış yarıda kesildiğinde veya beklenmeyen bir olay geldiğinde ham SSE çerçevelerini görmek hata ayıklamayı kolaylaştırır.
JavaScript ile akış
const stream = await client.chat.completions.create({
model: "kimi-k3",
messages: [
{
role: "user",
content: "Write a 6-line poem about flaky tests.",
},
],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}
Araç çağrıları: Fonksiyon çağırma
Kimi K3; araç çağrılarını, araç seçimi kısıtlamalarını ve dinamik araç yüklemeyi destekler. Böylece modeli dosya okuma, API çağrısı veya terminal komutu çalıştırma gibi yeteneklere bağlayabilirsiniz.
İş akışı üç adımdan oluşur:
- Fonksiyonu JSON Schema ile tanımlayın.
- Modelin döndürdüğü araç çağrısını okuyun.
- Fonksiyonu kendi uygulamanızda çalıştırıp sonucu
toolmesajı olarak modele geri gönderin.
Araç şeması tanımlama
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get the current weather for a city.",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "City name, e.g. Singapore",
},
},
"required": ["city"],
},
},
}
]
messages = [
{
"role": "user",
"content": "What's the weather in Singapore right now?",
}
]
first = client.chat.completions.create(
model="kimi-k3",
messages=messages,
tools=tools,
tool_choice="auto",
)
tool_call = first.choices[0].message.tool_calls[0]
print(tool_call.function.name) # get_weather
print(tool_call.function.arguments) # {"city": "Singapore"}
Model fonksiyonu kendisi çalıştırmaz. Yalnızca fonksiyon adı ve JSON argümanları döndürür. Uygulamanız bu çağrıyı güvenli biçimde çalıştırmalıdır.
Araç sonucunu modele geri gönderme
import json
# Modelin araç çağrısı isteyen asistan mesajını geçmişe ekleyin.
messages.append(first.choices[0].message)
# Gerçek uygulamanızda burada hava durumu API'sini çağırırsınız.
messages.append({
"role": "tool",
"tool_call_id": tool_call.id,
"content": json.dumps({
"city": "Singapore",
"temp_c": 31,
"sky": "humid",
}),
})
final = client.chat.completions.create(
model="kimi-k3",
messages=messages,
tools=tools,
)
print(final.choices[0].message.content)
Araç seçimini sınırlandırmak için:
tool_choice = "required"
Belirli bir aracı zorlamak için:
tool_choice = {
"type": "function",
"function": {
"name": "get_weather"
}
}
K3'e özgü dikkat edilmesi gereken nokta: Model, düşünce geçmişi korunmuş modda eğitilmiştir. Çok turlu ajan akışlarında önceki asistan dönüşlerini veya mesaj geçmişini agresif biçimde kırpmak üretim kalitesini istikrarsızlaştırabilir. Mümkün olduğunda tüm ilgili konuşma geçmişini sonraki çağrıya iletin.
JSON modu ve yapılandırılmış çıktı
Makine tarafından tüketilecek veri üretiyorsanız düz metin ayrıştırmak yerine JSON isteyin.
JSON modu
response = client.chat.completions.create(
model="kimi-k3",
messages=[
{
"role": "system",
"content": "Return only valid JSON. No prose, no markdown.",
},
{
"role": "user",
"content": "Extract name and role from: 'Ada Lovelace, mathematician'.",
},
],
response_format={"type": "json_object"},
)
print(response.choices[0].message.content)
# {"name": "Ada Lovelace", "role": "mathematician"}
json_object kullanırken sistem veya kullanıcı isteminde modelden JSON döndürmesini açıkça isteyin.
JSON Schema ile yapılandırılmış çıktı
SDK sürümünüz destekliyorsa, yanıtı belirli bir şemaya zorlayabilirsiniz:
response = client.chat.completions.create(
model="kimi-k3",
messages=[
{
"role": "user",
"content": "Extract name and role from: 'Ada Lovelace, mathematician'.",
}
],
response_format={
"type": "json_schema",
"json_schema": {
"name": "person",
"schema": {
"type": "object",
"properties": {
"name": {"type": "string"},
"role": {"type": "string"},
},
"required": ["name", "role"],
},
},
},
)
Göndermeden önce hesabınızda json_schema desteğini konsoldan doğrulayın. Destek belirsizse daha güvenli yedek yaklaşım şudur:
-
response_format={"type": "json_object"}kullanın. - Dönen JSON'u uygulamanızda JSON Schema veya Pydantic/Zod ile doğrulayın.
- Geçersiz sonuçları yeniden deneme veya hata akışına yönlendirin.
Kimi ayrıca asistan yanıtını önceden doldurma ve internet araması özellikleri de sunar. Bu özellikler, yanıt biçimini yönlendirmek veya güncel verilere dayalı yanıt üretmek için kullanılabilir.
Yapılandırılabilir muhakeme eforu
Kimi K3, yanıt vermeden önce ne kadar muhakeme yapacağını kontrol etmek için reasoning_effort parametresini sunar.
Bugün mevcut seviye max'tır ve varsayılan değer de budur. Moonshot, daha düşük ve daha yüksek seviyelerin planlandığını belirtmiştir.
response = client.chat.completions.create(
model="kimi-k3",
messages=[
{
"role": "user",
"content": "Plan a migration from REST to GraphQL for a 40-endpoint API.",
}
],
reasoning_effort="max",
)
Daha derin muhakeme daha fazla çıktı tokenı ve gecikme anlamına gelir. Bu nedenle bu parametreyi görev türüne göre değerlendirin:
- Mimari planlama, karmaşık hata analizi, çok adımlı kararlar:
max - Rutin dönüşümler veya yüksek hacimli işler: daha uygun model seçimi değerlendirin
OpenAI SDK sürümünüz reasoning_effort alanını tanımıyorsa extra_body kullanın:
response = client.chat.completions.create(
model="kimi-k3",
messages=[
{
"role": "user",
"content": "Plan a migration from REST to GraphQL.",
}
],
extra_body={
"reasoning_effort": "max",
},
)
extra_body, SDK henüz sağlayıcıya özgü alanı modellemiyorsa bu alanları uyumlu uç noktaya iletmek için kullanılır.
Apidog'da kimi-k3 test edin ve hata ayıklayın
SDK'lar HTTP ayrıntılarını gizler. Bu normalde faydalıdır; ancak araç çağrısı bozuk JSON döndürdüğünde, akış yarıda kesildiğinde veya isteğin sunucuya tam olarak nasıl ulaştığını görmek istediğinizde ham HTTP görünürlüğü gerekir.
Apidog, kimi-k3 isteğini doğrudan göndermenize, SSE akışını incelemenize ve API anahtarını istek gövdesinden ayrı tutmanıza yardımcı olur. Genel yaklaşım için Postman olmadan API'leri test etme rehberine bakabilirsiniz.
Uygulanabilir test akışı
- Apidog'da yeni bir HTTP isteği oluşturun.
- Metodu
POSTolarak ayarlayın. - URL alanına aşağıdakini girin:
{{KIMI_BASE_URL}}/chat/completions
- Ortam değişkenleri oluşturun:
KIMI_API_KEY=sk-your-key-here
KIMI_BASE_URL=https://api.moonshot.ai/v1
- Başlıkları ekleyin:
Authorization: Bearer {{KIMI_API_KEY}}
Content-Type: application/json
- İstek gövdesini JSON olarak ayarlayın:
{
"model": "kimi-k3",
"messages": [
{
"role": "user",
"content": "Explain what a token bucket rate limiter does in one paragraph."
}
]
}
- İsteği gönderin ve yanıtı inceleyin.
Akış davranışını doğrulamak için gövdeye stream alanını ekleyin:
{
"model": "kimi-k3",
"stream": true,
"messages": [
{
"role": "user",
"content": "Write a 6-line poem about flaky tests."
}
]
}
Bu istekle SSE olaylarını ham data: çerçeveleri olarak inceleyebilirsiniz. Bu, SDK'nin soyutladığı akış hatalarını görünür hale getirir.
Araç çağrılarında özellikle şunları kontrol edin:
- Yanıtta
tool_callsdizisi oluşuyor mu? - Fonksiyon adı beklediğiniz adla eşleşiyor mu?
-
argumentsgeçerli JSON mu? - Araç şemanızın açıklamaları yeterince açık mı?
- Gerekli alanlar doğru tanımlanmış mı?
Ayrıca aynı isteği çoğaltıp yalnızca model alanını değiştirerek A/B testi yapabilirsiniz:
{
"model": "kimi-k2-7-code",
"messages": [
{
"role": "user",
"content": "Explain what a token bucket rate limiter does in one paragraph."
}
]
}
Aynı istemde şu metrikleri karşılaştırın:
- Gecikme
- Çıktı kalitesi
- Araç çağrısı doğruluğu
- Token kullanımı
- Maliyet
Apidog, OpenAI uyumlu istekleri doğrudan içe aktarabildiği için cURL komutunu içe aktararak başlıkları ve gövdeyi hızlıca oluşturabilirsiniz. Sonrasında isteği kaydedebilir, ekip üyeleriyle paylaşabilir ve model güncellemelerinden sonra aynı testi tekrar çalıştırabilirsiniz.
Ajanınız MCP üzerinden modelle konuşuyorsa, Apidog MCP istemcisiyle görsel hata ayıklama rehberini inceleyin. Kendi anahtarınızla test etmeye başlamak için Apidog'u indirin.
Gerçek dünya kullanım senaryoları
kimi-k3 özellikle şu iş yüklerine uygundur:
Depo ölçeğinde kodlama ajanları: 1M bağlam ve araç orkestrasyonu, geniş bir kod tabanını model bağlamında tutmanıza; test çalıştırmanıza, log okumanıza ve iteratif düzeltmeler yapmanıza olanak tanır. Kod tabanı özeti gibi sabit verileri istemin başında tutarak önbellek isabetlerini artırın.
Uzun belgeli bilgi çalışmaları: Şartnameler, sözleşmeler veya araştırma belgeleri üzerinde yapılandırılmış veri çıkarımı yapabilirsiniz. Belgeyi istemin başına koyun ve tekrar eden sorgularda aynı ön eki koruyun.
Geçiş ve yeniden düzenleme planlaması: REST'ten GraphQL'e geçiş gibi planlama aşamalarında derin muhakemeden yararlanın. Mekanik ve tekrarlayan kod dönüşümlerinde daha ekonomik bir modele geçin.
Kanıtlanmış araştırma yanıtları: İnternet araması ve araç çağrılarıyla güncel verileri alıp yanıt oluşturabilirsiniz. Bu yaklaşım, yalnızca eğitim verisine güvenemeyen asistanlar için uygundur.
Her senaryoda uygulanabilir süreç aynıdır:
- İsteği SDK ile oluşturun.
- Ham HTTP davranışını Apidog'da doğrulayın.
- Akış, hata ve araç çağrısı davranışlarını test edin.
- İstek biçiminden emin olduktan sonra uygulamanıza entegre edin.
Sonuç
Kimi K3'ü çağırmak için OpenAI uyumlu istemcinizde üç temel ayar yeterlidir:
- Konsoldan doğrulanmış
base_url - API anahtarı
model="kimi-k3"
Bundan sonra akış, araç çağrıları, JSON modu, yapılandırılmış çıktı ve reasoning_effort standart sohbet tamamlama sözleşmesiyle çalışır.
Üretimde özellikle iki noktaya odaklanın:
- Önbellekleme ekonomisi: Sabit sistem istemlerini ve ortak bağlamı istemin başında, çağrılar arasında aynı tutun. Bu yaklaşım, önbellek isabetli girişlerde maliyeti milyon token başına 3,00 dolardan 0,30 dolara düşürebilir.
- Model seçimi: Derin muhakeme, uzun bağlam ve araç orkestrasyonu için K3 kullanın. Rutin ve yüksek hacimli işler için K2.7 serisini değerlendirin.
İsteği kodda oluşturun, Apidog içinde ham davranışı test edin ve ardından üretime taşıyın.
Sıkça Sorulan Sorular
Kimi K3 için API model kimliği nedir?
Kimi platformunda model kimliği kimi-k3'tür. OpenRouter üzerinden çağırırsanız slug moonshotai/kimi-k3 olur. Model listesini openrouter.ai/moonshotai/kimi-k3 adresinde inceleyebilirsiniz.
Hangi temel URL'yi kullanmalıyım?
Hesabınız için doğruluk kaynağı platform.kimi.ai konsoludur. Kimi tarihsel olarak https://api.moonshot.ai/v1 kullanmıştır. URL'yi kod içinde sabit yazmak yerine KIMI_BASE_URL gibi bir ortam değişkeniyle yönetin.
Kimi K3, OpenAI SDK ile uyumlu mu?
Evet. API, OpenAI sohbet tamamlama formatını izler. Resmi OpenAI Python ve JavaScript SDK'larında base_url ile model alanlarını değiştirmeniz yeterlidir. Sağlayıcıya özgü alanları extra_body üzerinden iletebilirsiniz.
Kimi K3 API'si ne kadar maliyetlidir?
Milyon önbellek isabetli giriş tokenı başına 0,30 dolar, milyon önbellek kaçaklı giriş tokenı başına 3,00 dolar ve milyon çıktı tokenı başına 15,00 dolar maliyet belirtilmiştir. Ayrıntılar için Kimi K3 fiyatlandırma kılavuzunu inceleyin.
Bağlam önbellekleme ne işe yarar?
İsteğinizin başındaki tokenlar önceki istekle eşleştiğinde uç nokta hesaplanmış durumu yeniden kullanabilir. Bu, ilgili giriş bölümünde maliyeti milyon token başına 3,00 dolardan 0,30 dolara düşürür. Sistem isteminizi ve ortak bağlamınızı sabit tutarak önbellek isabetlerini artırabilirsiniz.
Modelin muhakeme eforunu kontrol edebilir miyim?
Evet, reasoning_effort parametresiyle kontrol edebilirsiniz. Mevcut seviye max'tır ve varsayılan olarak kullanılır. Daha yüksek muhakeme eforu, daha yüksek çıktı tokenı maliyeti ve daha uzun gecikme anlamına gelir.
Kimi K3 mü yoksa Kimi K2.7 Kod mu kullanmalıyım?
Derin muhakeme, 1 milyon token bağlam veya ajan tabanlı araç orkestrasyonu gerektiğinde kimi-k3 kullanın. Yüksek hacimli ve rutin kodlama işleri için K2.7 serisi daha ekonomik olabilir. Karar için Kimi K3 ile Kimi K2.7 Kod karşılaştırmasını ve Kimi K2.7 Kod API kılavuzunu inceleyin.
Bozuk bir akış veya araç çağrısı yanıtında nasıl hata ayıklayabilirim?
Apidog içinde isteği "stream": true ile gönderin ve SSE olaylarını ham data: çerçeveleri olarak inceleyin. Araç çağrılarında tool_calls dizisini kontrol ederek modelin geçersiz JSON mu ürettiğini, yoksa araç şemanızın mı belirsiz olduğunu ayırt edebilirsiniz. API anahtarını ortam değişkeni olarak saklayarak test sırasında istek gövdesinden uzak tutun.



Top comments (0)