Moonborn — Developers
Elixir
Resmi Elixir SDK. Idiomatic supervised process'ler, Tesla-backed HTTP, her API release'inden bir hafta içinde gönderir.
Elixir SDK Hex'te moonborn. Kanonik OpenAPI spec'inden generate
edilir; idiomatic Elixir — supervise edilebilir process'ler,
Tesla-backed HTTP, pattern-match'lenebilir result tuple'ları.
Kur
# mix.exs
def deps do
[{:moonborn, "~> 1.0"}]
endmix deps.getİlk çağrı
{:ok, client} = Moonborn.client(api_key: System.fetch_env!("MOONBORN_API_KEY"))
{:ok, persona} = Moonborn.Personas.create_persona(client,
intent: "İstanbul'dan 34 yaşında bir kurucu. Parlak ama huzursuz.",
workspace_id: "ws_..."
)
IO.inspect({persona.id, persona.status})Chat
{:ok, session} = Moonborn.Chat.create_session(client, persona_id: persona.id)
{:ok, reply} = Moonborn.Chat.send_message(client,
session_id: session.id,
content: "Seni ne tetikler?"
)Streaming
Moonborn.Chat.stream_message(client, session_id: session.id, content: "Sessiz bir gerçek söyle.")
|> Enum.each(fn
{:token, delta} -> IO.write(delta)
{:completed, %{drift_score: ds}} -> IO.puts("\ndrift: #{ds}")
end)Error handling
case Moonborn.Personas.get_persona(client, id: "persona_...") do
{:ok, persona} -> persona
{:error, %Moonborn.ApiError{code: "rate_limited", retry_after: ms}} ->
Process.sleep(ms)
# retry
endTarif
Her tier.