MCPcopy
hub / github.com/langbot-app/LangBot / initialize

Method initialize

src/langbot/pkg/vector/mgr.py:14–76  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

12 self.ap = ap
13
14 async def initialize(self):
15 kb_config = self.ap.instance_config.data.get('vdb')
16 if kb_config:
17 vdb_type = kb_config.get('use')
18
19 if vdb_type == 'chroma':
20 from .vdbs.chroma import ChromaVectorDatabase
21
22 self.vector_db = ChromaVectorDatabase(self.ap)
23 self.ap.logger.info('Initialized Chroma vector database backend.')
24
25 elif vdb_type == 'qdrant':
26 from .vdbs.qdrant import QdrantVectorDatabase
27
28 self.vector_db = QdrantVectorDatabase(self.ap)
29 self.ap.logger.info('Initialized Qdrant vector database backend.')
30 elif vdb_type == 'seekdb':
31 from .vdbs.seekdb import SeekDBVectorDatabase
32
33 self.vector_db = SeekDBVectorDatabase(self.ap)
34 self.ap.logger.info('Initialized SeekDB vector database backend.')
35
36 elif vdb_type == 'milvus':
37 from .vdbs.milvus import MilvusVectorDatabase
38
39 # Get Milvus configuration
40 milvus_config = kb_config.get('milvus', {})
41 uri = milvus_config.get('uri', './data/milvus.db')
42 token = milvus_config.get('token')
43 db_name = milvus_config.get('db_name', 'default')
44 self.vector_db = MilvusVectorDatabase(self.ap, uri=uri, token=token, db_name=db_name)
45 self.ap.logger.info('Initialized Milvus vector database backend.')
46
47 elif vdb_type == 'pgvector':
48 from .vdbs.pgvector_db import PgVectorDatabase
49
50 # Get pgvector configuration
51 pgvector_config = kb_config.get('pgvector', {})
52 connection_string = pgvector_config.get('connection_string')
53 if connection_string:
54 self.vector_db = PgVectorDatabase(self.ap, connection_string=connection_string)
55 else:
56 # Use individual parameters
57 host = pgvector_config.get('host', 'localhost')
58 port = pgvector_config.get('port', 5432)
59 database = pgvector_config.get('database', 'langbot')
60 user = pgvector_config.get('user', 'postgres')
61 password = pgvector_config.get('password', 'postgres')
62 self.vector_db = PgVectorDatabase(
63 self.ap, host=host, port=port, database=database, user=user, password=password
64 )
65 self.ap.logger.info('Initialized pgvector database backend.')
66
67 else:
68 from .vdbs.chroma import ChromaVectorDatabase
69
70 self.vector_db = ChromaVectorDatabase(self.ap)
71 self.ap.logger.warning('No valid vector database backend configured, defaulting to Chroma.')

Calls 7

PgVectorDatabaseClass · 0.85
infoMethod · 0.45
warningMethod · 0.45