file/
file.rs

1use gigalib::{
2    controllers::client::{ClientBuilder, GigaClient},
3    http::message::{Message, MessageConfig, MessageConfigBuilder},
4};
5
6#[tokio::main]
7async fn main() {
8    // You don't have to create your MessageConfig, if no config is passed, default one is used
9    let config: MessageConfig = MessageConfigBuilder::new()
10        .set_max_tokens(999)
11        .set_model("GigaChat-Pro")
12        .build();
13
14    let mut client: GigaClient = ClientBuilder::new()
15        .set_basic_token(&std::env::var("GIGACHAT_TOKEN").unwrap())
16        .set_msg_cfg(config)
17        .build();
18
19    let file_info = client.upload_file("path/to/file.png".into()).await.unwrap();
20
21    let mut msg = Message::from_str("What do you see on the picture?");
22    msg.add_attachment(&file_info.id);
23
24    let response: Message = client.send_message(msg).await.unwrap();
25    println!("{}", response.content);
26}