MCPcopy Create free account
hub / github.com/InfinitiBit/graphbit / get_embedding_dimensions

Method get_embedding_dimensions

core/src/embeddings.rs:340–361  ·  view source on GitHub ↗
(&self)

Source from the content-addressed store, hash-verified

338 }
339
340 async fn get_embedding_dimensions(&self) -> GraphBitResult<usize> {
341 // Common `OpenAI` embedding dimensions
342 match self.config.model.as_str() {
343 "text-embedding-ada-002" => Ok(1536),
344 "text-embedding-3-small" => Ok(1536),
345 "text-embedding-3-large" => Ok(3072),
346 _ => {
347 // Make a test request to determine dimensions
348 let test_request = EmbeddingRequest {
349 input: EmbeddingInput::Single("test".to_string()),
350 user: None,
351 params: HashMap::new(),
352 };
353 let response = self.generate_embeddings(test_request).await?;
354 Ok(response
355 .embeddings
356 .first()
357 .map(Vec::<f32>::len)
358 .unwrap_or(1536))
359 }
360 }
361 }
362
363 fn max_batch_size(&self) -> usize {
364 2048 // `OpenAI`'s current limit

Calls 2

to_stringMethod · 0.80
generate_embeddingsMethod · 0.45