use claudius::{Anthropic, KnownModel, MessageCreateParams, Result};
use futures::StreamExt;
use tokio::pin;
#[tokio::main]
async fn main() -> Result<()> {
let client = Anthropic::new(None)?;
let params = MessageCreateParams::simple_streaming(
"Hello, I'm a human. Can you tell me about yourself?",
KnownModel::Claude37SonnetLatest,
)
.with_system("You are Claude, an AI assistant made by Anthropic.");
let stream = client.stream(¶ms).await?;
pin!(stream);
println!("Streaming response:");
while let Some(event) = stream.next().await {
match event {
Ok(event) => {
println!("Received event: {event:?}");
}
Err(e) => {
eprintln!("Error: {e}");
}
}
}
Ok(())
}