@@ -242,6 +242,7 @@ impl SurrealDbStorage {
242242 ) -> Result < Vec < ( String , f32 ) > > {
243243 let column = match embedding_column {
244244 SURR_EMBEDDING_COLUMN_384 => SURR_EMBEDDING_COLUMN_384 ,
245+ SURR_EMBEDDING_COLUMN_768 => SURR_EMBEDDING_COLUMN_768 ,
245246 SURR_EMBEDDING_COLUMN_1024 => SURR_EMBEDDING_COLUMN_1024 ,
246247 SURR_EMBEDDING_COLUMN_2048 => SURR_EMBEDDING_COLUMN_2048 ,
247248 SURR_EMBEDDING_COLUMN_4096 => SURR_EMBEDDING_COLUMN_4096 ,
@@ -311,6 +312,7 @@ impl SurrealDbStorage {
311312 ) -> Result < Vec < ( String , f32 ) > > {
312313 let column = match embedding_column {
313314 SURR_EMBEDDING_COLUMN_384 => SURR_EMBEDDING_COLUMN_384 ,
315+ SURR_EMBEDDING_COLUMN_768 => SURR_EMBEDDING_COLUMN_768 ,
314316 SURR_EMBEDDING_COLUMN_1024 => SURR_EMBEDDING_COLUMN_1024 ,
315317 SURR_EMBEDDING_COLUMN_2048 => SURR_EMBEDDING_COLUMN_2048 ,
316318 SURR_EMBEDDING_COLUMN_4096 => SURR_EMBEDDING_COLUMN_4096 ,
@@ -454,17 +456,18 @@ impl SurrealDbStorage {
454456 Some ( node. metadata . attributes . clone ( ) )
455457 } ;
456458
457- let ( embedding_384, embedding_1024, embedding_2048, embedding_4096) =
459+ let ( embedding_384, embedding_768 , embedding_1024, embedding_2048, embedding_4096) =
458460 if let Some ( values) = & node. embedding {
459461 let embedding_vec: Vec < f64 > = values. iter ( ) . map ( |& f| f as f64 ) . collect ( ) ;
460462 match values. len ( ) {
461- 384 => ( Some ( embedding_vec) , None , None , None ) ,
462- 1024 => ( None , Some ( embedding_vec) , None , None ) ,
463- 4096 => ( None , None , None , Some ( embedding_vec) ) ,
464- _ => ( None , None , Some ( embedding_vec) , None ) ,
463+ 384 => ( Some ( embedding_vec) , None , None , None , None ) ,
464+ 768 => ( None , Some ( embedding_vec) , None , None , None ) ,
465+ 1024 => ( None , None , Some ( embedding_vec) , None , None ) ,
466+ 4096 => ( None , None , None , None , Some ( embedding_vec) ) ,
467+ _ => ( None , None , None , Some ( embedding_vec) , None ) ,
465468 }
466469 } else {
467- ( None , None , None , None )
470+ ( None , None , None , None , None )
468471 } ;
469472
470473 let embedding_model = node. metadata . attributes . get ( "embedding_model" ) . cloned ( ) ;
@@ -479,6 +482,7 @@ impl SurrealDbStorage {
479482 start_line : node. location . line ,
480483 end_line : node. location . end_line ,
481484 embedding_384,
485+ embedding_768,
482486 embedding_1024,
483487 embedding_2048,
484488 embedding_4096,
@@ -593,6 +597,7 @@ impl SurrealDbStorage {
593597 for record in records {
594598 let column = match record. column {
595599 SURR_EMBEDDING_COLUMN_384 => SURR_EMBEDDING_COLUMN_384 ,
600+ SURR_EMBEDDING_COLUMN_768 => SURR_EMBEDDING_COLUMN_768 ,
596601 SURR_EMBEDDING_COLUMN_1024 => SURR_EMBEDDING_COLUMN_1024 ,
597602 SURR_EMBEDDING_COLUMN_2048 => SURR_EMBEDDING_COLUMN_2048 ,
598603 SURR_EMBEDDING_COLUMN_4096 => SURR_EMBEDDING_COLUMN_4096 ,
@@ -1175,6 +1180,8 @@ pub struct SymbolEmbeddingRecord {
11751180 #[ serde( skip_serializing_if = "Option::is_none" ) ]
11761181 pub embedding_384 : Option < Vec < f64 > > ,
11771182 #[ serde( skip_serializing_if = "Option::is_none" ) ]
1183+ pub embedding_768 : Option < Vec < f64 > > ,
1184+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
11781185 pub embedding_1024 : Option < Vec < f64 > > ,
11791186 #[ serde( skip_serializing_if = "Option::is_none" ) ]
11801187 pub embedding_2048 : Option < Vec < f64 > > ,
@@ -1205,12 +1212,13 @@ impl SymbolEmbeddingRecord {
12051212 metadata : Option < JsonValue > ,
12061213 ) -> Self {
12071214 let embedding_vec: Vec < f64 > = embedding. iter ( ) . map ( |& f| f as f64 ) . collect ( ) ;
1208- let ( embedding_384, embedding_1024, embedding_2048, embedding_4096) = match embedding_column
1215+ let ( embedding_384, embedding_768 , embedding_1024, embedding_2048, embedding_4096) = match embedding_column
12091216 {
1210- SURR_EMBEDDING_COLUMN_384 => ( Some ( embedding_vec) , None , None , None ) ,
1211- SURR_EMBEDDING_COLUMN_1024 => ( None , Some ( embedding_vec) , None , None ) ,
1212- SURR_EMBEDDING_COLUMN_4096 => ( None , None , None , Some ( embedding_vec) ) ,
1213- _ => ( None , None , Some ( embedding_vec) , None ) ,
1217+ SURR_EMBEDDING_COLUMN_384 => ( Some ( embedding_vec) , None , None , None , None ) ,
1218+ SURR_EMBEDDING_COLUMN_768 => ( None , Some ( embedding_vec) , None , None , None ) ,
1219+ SURR_EMBEDDING_COLUMN_1024 => ( None , None , Some ( embedding_vec) , None , None ) ,
1220+ SURR_EMBEDDING_COLUMN_4096 => ( None , None , None , None , Some ( embedding_vec) ) ,
1221+ _ => ( None , None , None , Some ( embedding_vec) , None ) ,
12141222 } ;
12151223
12161224 SymbolEmbeddingRecord {
@@ -1220,6 +1228,7 @@ impl SymbolEmbeddingRecord {
12201228 project_id : project_id. to_string ( ) ,
12211229 organization_id : organization_id. map ( |s| s. to_string ( ) ) ,
12221230 embedding_384,
1231+ embedding_768,
12231232 embedding_1024,
12241233 embedding_2048,
12251234 embedding_4096,
@@ -1308,6 +1317,8 @@ struct SurrealNodeRecord {
13081317 #[ serde( skip_serializing_if = "Option::is_none" ) ]
13091318 embedding_384 : Option < Vec < f64 > > ,
13101319 #[ serde( skip_serializing_if = "Option::is_none" ) ]
1320+ embedding_768 : Option < Vec < f64 > > ,
1321+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
13111322 embedding_1024 : Option < Vec < f64 > > ,
13121323 #[ serde( skip_serializing_if = "Option::is_none" ) ]
13131324 embedding_2048 : Option < Vec < f64 > > ,
@@ -1330,13 +1341,15 @@ struct SurrealNodeRecord {
13301341}
13311342
13321343pub const SURR_EMBEDDING_COLUMN_384 : & str = "embedding_384" ;
1344+ pub const SURR_EMBEDDING_COLUMN_768 : & str = "embedding_768" ;
13331345pub const SURR_EMBEDDING_COLUMN_1024 : & str = "embedding_1024" ;
13341346pub const SURR_EMBEDDING_COLUMN_2048 : & str = "embedding_2048" ;
13351347pub const SURR_EMBEDDING_COLUMN_4096 : & str = "embedding_4096" ;
13361348
13371349pub fn surreal_embedding_column_for_dimension ( dim : usize ) -> & ' static str {
13381350 match dim {
13391351 384 => SURR_EMBEDDING_COLUMN_384 ,
1352+ 768 => SURR_EMBEDDING_COLUMN_768 ,
13401353 1024 => SURR_EMBEDDING_COLUMN_1024 ,
13411354 4096 => SURR_EMBEDDING_COLUMN_4096 ,
13421355 _ => SURR_EMBEDDING_COLUMN_2048 ,
0 commit comments