main.rs 1.07 KB
Newer Older
Olivier Dehaene's avatar
Init  
Olivier Dehaene committed
1
use bloom_inference_client::ShardedClient;
Olivier Dehaene's avatar
Olivier Dehaene committed
2
use poem::listener::TcpListener;
Olivier Dehaene's avatar
Init  
Olivier Dehaene committed
3
use std::time::Duration;
Olivier Dehaene's avatar
Olivier Dehaene committed
4
use tokenizers::Tokenizer;
Olivier Dehaene's avatar
Init  
Olivier Dehaene committed
5

Olivier Dehaene's avatar
Olivier Dehaene committed
6
mod server;
Olivier Dehaene's avatar
Olivier Dehaene committed
7
8
9
mod validation;

use validation::Validation;
Olivier Dehaene's avatar
Init  
Olivier Dehaene committed
10

Olivier Dehaene's avatar
Olivier Dehaene committed
11
mod db;
Olivier Dehaene's avatar
Olivier Dehaene committed
12

Olivier Dehaene's avatar
Init  
Olivier Dehaene committed
13
14
use db::Db;

Olivier Dehaene's avatar
Olivier Dehaene committed
15
mod batcher;
Olivier Dehaene's avatar
Olivier Dehaene committed
16

Olivier Dehaene's avatar
Olivier Dehaene committed
17
use batcher::Batcher;
Olivier Dehaene's avatar
Init  
Olivier Dehaene committed
18

Olivier Dehaene's avatar
Olivier Dehaene committed
19
20
21
22
23
24
25
26
27
fn main() -> Result<(), std::io::Error> {
    let tokenizer = Tokenizer::from_pretrained("bigscience/bloom", None).unwrap();

    tokio::runtime::Builder::new_multi_thread()
        .enable_all()
        .build()
        .unwrap()
        .block_on(async {
            tracing_subscriber::fmt::init();
Olivier Dehaene's avatar
Init  
Olivier Dehaene committed
28

Olivier Dehaene's avatar
Olivier Dehaene committed
29
30
31
32
            let sharded_client = ShardedClient::connect_uds(
                "/tmp/bloom-inference-0".to_string(),
                Duration::from_secs(5),
            )
Olivier Dehaene's avatar
Init  
Olivier Dehaene committed
33
            .await;
Olivier Dehaene's avatar
Olivier Dehaene committed
34
35
36
37
38
            sharded_client
                .clear_cache()
                .await
                .expect("Unable to clear cache");
            tracing::info!("Connected");
Olivier Dehaene's avatar
Init  
Olivier Dehaene committed
39

Olivier Dehaene's avatar
Olivier Dehaene committed
40
41
            let addr = "127.0.0.1:3000".to_string();
            let listener = TcpListener::bind(addr);
Olivier Dehaene's avatar
Init  
Olivier Dehaene committed
42

Olivier Dehaene's avatar
Olivier Dehaene committed
43
44
            server::run(sharded_client, tokenizer, listener).await
        })
Olivier Dehaene's avatar
Init  
Olivier Dehaene committed
45
}