@@ -16,14 +16,16 @@ test('typeorm example', async () => {
1616 primary : true ,
1717 generated : true
1818 } ,
19- // custom types not supported
20- // https://github.com/typeorm/typeorm/issues/10056
2119 embedding : {
22- type : String
20+ type : 'vector' ,
21+ length : 3
2322 } ,
2423 half_embedding : {
25- type : String
24+ type : 'halfvec' ,
25+ length : 3
2626 } ,
27+ // custom types not supported
28+ // https://github.com/typeorm/typeorm/issues/10056
2729 binary_embedding : {
2830 type : String
2931 } ,
@@ -46,9 +48,9 @@ test('typeorm example', async () => {
4648 await AppDataSource . query ( 'CREATE TABLE typeorm_items (id bigserial PRIMARY KEY, embedding vector(3), half_embedding halfvec(3), binary_embedding bit(3), sparse_embedding sparsevec(3))' ) ;
4749
4850 const itemRepository = AppDataSource . getRepository ( Item ) ;
49- await itemRepository . save ( { embedding : pgvector . toSql ( [ 1 , 1 , 1 ] ) , half_embedding : pgvector . toSql ( [ 1 , 1 , 1 ] ) , binary_embedding : '000' , sparse_embedding : new SparseVector ( [ 1 , 1 , 1 ] ) } ) ;
50- await itemRepository . save ( { embedding : pgvector . toSql ( [ 2 , 2 , 2 ] ) , half_embedding : pgvector . toSql ( [ 2 , 2 , 2 ] ) , binary_embedding : '101' , sparse_embedding : new SparseVector ( [ 2 , 2 , 2 ] ) } ) ;
51- await itemRepository . save ( { embedding : pgvector . toSql ( [ 1 , 1 , 2 ] ) , half_embedding : pgvector . toSql ( [ 1 , 1 , 2 ] ) , binary_embedding : '111' , sparse_embedding : new SparseVector ( [ 1 , 1 , 2 ] ) } ) ;
51+ await itemRepository . save ( { embedding : [ 1 , 1 , 1 ] , half_embedding : [ 1 , 1 , 1 ] , binary_embedding : '000' , sparse_embedding : new SparseVector ( [ 1 , 1 , 1 ] ) } ) ;
52+ await itemRepository . save ( { embedding : [ 2 , 2 , 2 ] , half_embedding : [ 2 , 2 , 2 ] , binary_embedding : '101' , sparse_embedding : new SparseVector ( [ 2 , 2 , 2 ] ) } ) ;
53+ await itemRepository . save ( { embedding : [ 1 , 1 , 2 ] , half_embedding : [ 1 , 1 , 2 ] , binary_embedding : '111' , sparse_embedding : new SparseVector ( [ 1 , 1 , 2 ] ) } ) ;
5254
5355 const items = await itemRepository
5456 . createQueryBuilder ( 'item' )
@@ -57,8 +59,8 @@ test('typeorm example', async () => {
5759 . limit ( 5 )
5860 . getMany ( ) ;
5961 assert . deepEqual ( items . map ( v => v . id ) , [ 1 , 3 , 2 ] ) ;
60- assert . deepEqual ( pgvector . fromSql ( items [ 0 ] . embedding ) , [ 1 , 1 , 1 ] ) ;
61- assert . deepEqual ( pgvector . fromSql ( items [ 0 ] . half_embedding ) , [ 1 , 1 , 1 ] ) ;
62+ assert . deepEqual ( items [ 0 ] . embedding , [ 1 , 1 , 1 ] ) ;
63+ assert . deepEqual ( items [ 0 ] . half_embedding , [ 1 , 1 , 1 ] ) ;
6264 assert . equal ( items [ 0 ] . binary_embedding , '000' ) ;
6365 assert . deepEqual ( ( new SparseVector ( items [ 0 ] . sparse_embedding ) . toArray ( ) ) , [ 1 , 1 , 1 ] ) ;
6466
0 commit comments