count_tokens/
count_tokens.rs1use std::env;
2
3use google_generative_ai_rs::v1::{
4 api::Client,
5 gemini::{request::Request, Content, Part, ResponseType, Role},
6};
7use log::info;
8
9#[tokio::main]
17async fn main() -> Result<(), Box<dyn std::error::Error>> {
18 env_logger::init();
19
20 let client = Client::new_from_response_type(
21 ResponseType::CountTokens,
22 env::var("API_KEY").unwrap().to_string(),
23 );
24
25 let txt_request = Request {
26 contents: vec![Content {
27 role: Role::User,
28 parts: vec![Part {
29 text: Some("Write a story about a magic backpack.".to_string()),
30 inline_data: None,
31 file_data: None,
32 video_metadata: None,
33 }],
34 }],
35 tools: vec![],
36 safety_settings: vec![],
37 generation_config: None,
38
39 #[cfg(feature = "beta")]
40 system_instruction: None,
41 };
42
43 let response = client.post(30, &txt_request).await?;
44
45 info!("{:#?}", response);
46
47 Ok(())
48}