Setup
export MOONSHOT_API_KEY="sk-..."
Basic Usage
from definable.model import MoonshotChat
from definable.model.message import Message
model = MoonshotChat(id="kimi-k2-turbo-preview")
response = model.invoke(
messages=[Message(role="user", content="Hello!")],
assistant_message=Message(role="assistant", content=""),
)
print(response.content)
Parameters
id
str
default:"kimi-k2-turbo-preview"
Model identifier.
Moonshot API key. Defaults to the MOONSHOT_API_KEY environment variable.
base_url
str
default:"https://api.moonshot.ai/v1"
Moonshot API base URL.
Streaming
from definable.model.message import Message
for chunk in model.invoke_stream(
messages=[Message(role="user", content="Write a haiku about coding.")],
assistant_message=Message(role="assistant", content=""),
):
if chunk.content:
print(chunk.content, end="", flush=True)
Async Usage
from definable.model.message import Message
response = await model.ainvoke(
messages=[Message(role="user", content="Hello!")],
assistant_message=Message(role="assistant", content=""),
)
Moonshot uses an OpenAI-compatible API. All standard parameters like temperature, max_tokens, top_p, and stop are supported.