octowombat
Trying first LLM example in LiveBook fails
I tried to run the first LLM example “Your first LLM agent” in LiveBook. Firstly I got a weird Setup block:
Mix.install([
{{mix_dep:jido}},
{{mix_dep:jido_ai}},
{{mix_dep:req_llm}}
])
which I could easily sort out. I set my OpenAI API key as directed as a secret in LiveBook which the block reported true as expected. However when I tried to run the “Ask the Agent” block I get the following;
10:49:25.330 [warning] Jido.AI.Reasoning.ReAct using ephemeral token secret (no configured :react_token_secret); checkpoint tokens expire on VM restart
10:49:25.335 [error] Provider failed to build streaming request: %ReqLLM.Error.API.Request{reason: "Failed to build Anthropic stream request: %ReqLLM.Error.Invalid.Parameter{parameter: ":api_key option, config :req_llm, anthropic_api_key, or ANTHROPIC_API_KEY env var (.env via dotenvy)", splode: nil, bread_crumbs:
, vars:
, path:
, stacktrace: #Splode.Stacktrace<>, class: :invalid}", status: nil, response_body: nil, request_body: nil, cause: nil, headers: nil, splode: nil, bread_crumbs:
, vars:
, path:
, stacktrace: #Splode.Stacktrace<>, class: :api}
10:49:25.335 [error] Failed to start HTTP streaming: {:provider_build_failed, %ReqLLM.Error.API.Request{reason: "Failed to build Anthropic stream request: %ReqLLM.Error.Invalid.Parameter{parameter: ":api_key option, config :req_llm, anthropic_api_key, or ANTHROPIC_API_KEY env var (.env via dotenvy)", splode: nil, bread_crumbs:
, vars:
, path:
, stacktrace: #Splode.Stacktrace<>, class: :invalid}", status: nil, response_body: nil, request_body: nil, cause: nil, headers: nil, splode: nil, bread_crumbs:
, vars:
, path:
, stacktrace: #Splode.Stacktrace<>, class: :api}}
10:49:25.335 [error] Failed to start streaming: {:http_streaming_failed, {:provider_build_failed, %ReqLLM.Error.API.Request{reason: "Failed to build Anthropic stream request: %ReqLLM.Error.Invalid.Parameter{parameter: ":api_key option, config :req_llm, anthropic_api_key, or ANTHROPIC_API_KEY env var (.env via dotenvy)", splode: nil, bread_crumbs:
, vars:
, path:
, stacktrace: #Splode.Stacktrace<>, class: :invalid}", status: nil, response_body: nil, request_body: nil, cause: nil, headers: nil, splode: nil, bread_crumbs:
, vars:
, path:
, stacktrace: #Splode.Stacktrace<>, class: :api}}}
Greeting: {:error,
{:failed, :error,
{:http_streaming_failed,
{:provider_build_failed,
%ReqLLM.Error.API.Request{
reason: "Failed to build Anthropic stream request: %ReqLLM.Error.Invalid.Parameter{parameter: ":api_key option, config :req_llm, anthropic_api_key, or ANTHROPIC_API_KEY env var (.env via dotenvy)", splode: nil, bread_crumbs:
, vars:
, path:
, stacktrace: #Splode.Stacktrace<>, class: :invalid}",
status: nil,
response_body: nil,
request_body: nil,
cause: nil,
headers: nil,
splode: nil,
bread_crumbs:
,
vars:
,
path:
,
stacktrace: #Splode.Stacktrace<>,
class: :api
}}}}}
No idea why its using Claude/Anthropic? Apart from if I do the following in the LiveBook;
Jido.AI.model_aliases()
it returns
%{
image: "openai:gpt-image-1",
thinking: "anthropic:claude-sonnet-4-20250514",
embedding: "openai:text-embedding-3-small",
reasoning: "anthropic:claude-sonnet-4-20250514",
planning: "anthropic:claude-sonnet-4-20250514",
fast: "anthropic:claude-haiku-4-5",
capable: "anthropic:claude-sonnet-4-20250514"
}
which shows :fast as configured to be "anthropic:claude-haiku-4-5"
What am I doing wrong?
Thanks in advance
Mike
First Post!
ken-kost
Anthropic is by default, you need to override your aliases:
config :jido_ai, :model_aliases,
fast: "openai:gpt-4o-mini",
reasoning: "openai:gpt-4o",
planning: "openai:gpt-4o",
capable: "openai:gpt-4o"
Most Liked
octowombat
Appreciate the offer - thanks, I will certainly bear it in mind. I also will see if there is anything I can do to give back too.
ken-kost
You can make a PR for docs, add a line that would prevent your problem for someone else. ![]()
code is never done and docs are its last frontier
octowombat
Hey thanks! I was and still am excited to try out Jido after listening to you on various podcasts and been a long time Elixir fan/dev/architect (since 2015, and Erlang before that).
I was sure it was my stupidity but as I only used LiveBook a while back (and my intention is not LiveBook) I switched to a bare simple Elixir project to debug my mistake.
Great work and I’m glad you carried on with it after you did a retrospective look a while back.
Mike
Popular in Troubleshooting
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #elixirconf-us
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #security
- #hex









