1
+ import os
2
+ from magnet .ize import memory
3
+ from magnet .ic import field
4
+ from magnet .utils .globals import _f
5
+
6
+ config = {
7
+ "MILVUS_URI" : os .getenv ('MILVUS_HOST' ),
8
+ "MILVUS_PORT" : int (os .getenv ('MILVUS_PORT' , 19530 )),
9
+ "MILVUS_USER" : os .getenv ('MILVUS_USER' ),
10
+ "MILVUS_PASSWORD" : os .getenv ('MILVUS_PASSWORD' ),
11
+ "DIMENSION" : int (os .getenv ('DIMENSION' , 1024 )),
12
+ "MODEL" : os .getenv ('MODEL' ),
13
+ "INDEX" : os .getenv ('INDEX' ),
14
+ "INDEX_PARAMS" : {
15
+ 'metric_type' : 'COSINE' ,
16
+ 'index_type' :'HNSW' ,
17
+ 'params' : {
18
+ "efConstruction" : int (os .getenv ('efConstruction' , 40 )),
19
+ "M" : int (os .getenv ('M' , 48 ))
20
+ },
21
+ }
22
+ }
23
+
24
+ embedder = memory .Embedder (config )
25
+
26
+ async def handle_payload (payload , msg ):
27
+ await embedder .index (payload , msg , verbose = True )
28
+
29
+ async def main ():
30
+ try :
31
+ reso = field .Resonator (os .getenv ('RESONATOR_URI' ))
32
+ except Exception as e :
33
+ _f ('warn' , e )
34
+ main ()
35
+ await reso .on (category = os .getenv ('CATEGORY' ), session = os .getenv ('SESSION' ), stream = os .getenv ('STREAM' ))
36
+ await reso .listen (cb = handle_payload )
0 commit comments