basic_usage/
basic_usage.rs1use ai_lib::{AiClient, Provider, ChatCompletionRequest, Message, Role};
2
3#[tokio::main]
4async fn main() -> Result<(), Box<dyn std::error::Error>> {
5 println!("π AI-lib Basic Usage Example");
6 println!("================================");
7
8 let client = AiClient::new(Provider::Groq)?;
10 println!("β
Created client with provider: {:?}", client.current_provider());
11
12 let models = client.list_models().await?;
14 println!("π Available models: {:?}", models);
15
16 let request = ChatCompletionRequest::new(
18 "llama3-8b-8192".to_string(),
19 vec![Message {
20 role: Role::User,
21 content: "Hello! Please introduce yourself briefly.".to_string(),
22 }],
23 ).with_temperature(0.7)
24 .with_max_tokens(100);
25
26 println!("π€ Sending request to model: {}", request.model);
27
28 let response = client.chat_completion(request).await?;
30
31 println!("π₯ Received response:");
32 println!(" ID: {}", response.id);
33 println!(" Model: {}", response.model);
34 println!(" Content: {}", response.choices[0].message.content);
35 println!(" Usage: {} tokens", response.usage.total_tokens);
36
37 Ok(())
38}