103 words, 1 min read
⚠️ This post links to an external website. ⚠️
Mix.install([{:req, "~> 0.5"},{:req_sse, github: "wojtekmach/req_sse"}])api_key = System.fetch_env!("CLAUDE_API_KEY")Req.post!("https://api.anthropic.com/v1/messages",headers: [anthropic_version: "2023-06-01",x_api_key: System.fetch_env!("CLAUDE_API_KEY")],json: %{model: "claude-3-5-sonnet-20241022",max_tokens: 1024,messages: [%{role: "user", content: "What is 1 + 2?"}],stream: true},plugins: [ReqSSE],sse: [events: fn events, {req, resp} ->for event <- events, event.event == "content_block_delta" doIO.inspect(Jason.decode!(event.data))end{:cont, {req, resp}}end])
$ elixir claude.exs%{"delta" => %{"text" => "1 + 2", "type" => "text_delta"},"index" => 0,"type" => "content_block_delta"}%{"delta" => %{"text" => " = 3", "type" => "text_delta"},"index" => 0,"type" => "content_block_delta"}
continue reading on x.com
If this post was enjoyable or useful for you, please share it! If you have comments, questions, or feedback, you can email my personal email. To get new posts, subscribe use the RSS feed.