Skip to main content

Setup

export MOONSHOT_API_KEY="sk-..."

Basic Usage

from definable.models import MoonshotChat

model = MoonshotChat(id="kimi-k2-turbo-preview")
response = model.invoke(messages=[{"role": "user", "content": "Hello!"}])
print(response.content)

Parameters

id
str
default:"kimi-k2-turbo-preview"
Model identifier.
api_key
str
Moonshot API key. Defaults to the MOONSHOT_API_KEY environment variable.
base_url
str
default:"https://api.moonshot.ai/v1"
Moonshot API base URL.
temperature
float
Sampling temperature.
max_tokens
int
Maximum output tokens.

Streaming

for chunk in model.invoke_stream(
    messages=[{"role": "user", "content": "Write a haiku about coding."}]
):
    if chunk.content:
        print(chunk.content, end="", flush=True)

Async Usage

response = await model.ainvoke(
    messages=[{"role": "user", "content": "Hello!"}]
)
Moonshot uses an OpenAI-compatible API. All standard parameters like temperature, max_tokens, top_p, and stop are supported.