INNER CODE UNIT · Rust
embedding_worker
lanterndata/lantern · lantern_cli/src/embeddings/mod.rs:173
async fn embedding_worker(
args: Arc<cli::EmbeddingArgs>,
mut rx: Receiver<Vec<Row>>,
tx: Sender<Vec<EmbeddingRecord>>,
job_type: EmbeddingJobType,
cancel_token: CancellationToken,
logger: Arc<Logger>,
) -> AnyhowUsizeResult {
let mut count: usize = 0;
let mut processed_tokens: usize = 0;
let model = &args.model;
let mut start = Instant::now();
let runtime = EmbeddingRuntime::new(&args.runtime, None, &args.runtime_params)?;
loop {
tokio::select! {
msg = rx.recv() => {
if msg.is_none() {