use anthropik::{
AnthropicClient, Content, InputMessage, InputSchema, MessagesRequest, MessagesRequestBody,
Role, Tool,
};
#[tokio::main]
pub async fn main() -> anyhow::Result<()> {
let client = AnthropicClient::default();
let response = client
.messages(&MessagesRequest {
x_api_key: std::env::var("ANTHROPIC_API_KEY").unwrap().into(),
body: MessagesRequestBody {
messages: vec![InputMessage {
role: Role::User,
content: Content::String(
"Hello, Anthropic! Call the example_tool.".to_string(),
),
..Default::default()
}],
tools: Some(vec![Tool {
name: "example_tool".into(),
input_schema: InputSchema::default(),
description: Some("An example tool".into()),
cache_control: None,
..Default::default()
}]),
..Default::default()
},
..Default::default()
})
.await?;
eprintln!("Response: {:?}", response);
Ok(())
}