@@ -4,6 +4,7 @@ use std::path::Path;
4
4
5
5
use clap:: { Parser , Subcommand , ValueEnum } ;
6
6
use hnsw:: Hnsw ;
7
+ use indexer:: serialize_index;
7
8
use indexer:: start_indexing_from_operations;
8
9
use indexer:: Point ;
9
10
use indexer:: { operations_to_point_operations, OpenAI } ;
@@ -47,7 +48,7 @@ enum Commands {
47
48
key : String ,
48
49
#[ arg( short, long) ]
49
50
commit : String ,
50
- #[ arg( short , long) ]
51
+ #[ arg( long) ]
51
52
domain : String ,
52
53
#[ arg( short, long) ]
53
54
directory : String ,
@@ -118,7 +119,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
118
119
println ! (
119
120
"same? {}, distance: {}" ,
120
121
p1 == p2,
121
- OpenAI . distance( & p1, & p2)
122
+ f32 :: from_bits ( OpenAI . distance( & p1, & p2) )
122
123
) ;
123
124
}
124
125
Commands :: Compare2 {
@@ -168,12 +169,12 @@ async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
168
169
let mut hnsw: HnswIndex = Hnsw :: new ( OpenAI ) ;
169
170
let store = VectorStore :: new ( dirpath, size) ;
170
171
171
- let f = File :: options ( ) . read ( true ) . create ( true ) . open ( path) ?;
172
+ let f = File :: options ( ) . read ( true ) . open ( path) ?;
172
173
173
174
let lines = io:: BufReader :: new ( f) . lines ( ) ;
174
-
175
175
let opstream = & lines
176
176
. map ( |l| {
177
+ dbg ! ( & l) ;
177
178
let ro: io:: Result < Operation > = serde_json:: from_str ( & l. unwrap ( ) )
178
179
. map_err ( |e| std:: io:: Error :: new ( ErrorKind :: Other , e) ) ;
179
180
ro
@@ -186,6 +187,8 @@ async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
186
187
operations_to_point_operations ( & domain. clone ( ) , & store, structs, & key) . await ;
187
188
hnsw = start_indexing_from_operations ( hnsw, new_ops) . unwrap ( ) ;
188
189
}
190
+ let index_id = create_index_name ( & domain, & commit) ;
191
+ serialize_index ( dirpath. to_path_buf ( ) , & index_id, hnsw. clone ( ) ) . unwrap ( ) ;
189
192
}
190
193
}
191
194
0 commit comments