33 lines
1.5 KiB
Python
33 lines
1.5 KiB
Python
"""Smoke-тест: текст → атомы → PG → Qdrant → поиск."""
|
|
import sys, pathlib
|
|
sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[1]))
|
|
|
|
from pegas_memory import db, pipeline, outbox_sync, qdrant_store
|
|
|
|
SAMPLE = '''
|
|
PostgreSQL — это объектно-реляционная система управления базами данных.
|
|
pgvector — расширение PostgreSQL для хранения векторов и поиска по сходству.
|
|
Qdrant — специализированная векторная база данных, быстрее pgvector на больших объёмах.
|
|
Memgraph — in-memory графовая база данных, использует язык запросов Cypher.
|
|
EmbeddingGemma 2 — модель эмбеддингов Google, размерность 768.
|
|
'''
|
|
|
|
def main():
|
|
conn = db.connect()
|
|
print("Ингест тестового текста...")
|
|
stats = pipeline.ingest_text(conn, SAMPLE, title="smoke-test", min_confidence=0.3)
|
|
print(" stats:", stats)
|
|
|
|
print("Outbox-синк → Qdrant...")
|
|
s = outbox_sync.sync_all(conn)
|
|
print(" sync:", s)
|
|
|
|
print("Поиск 'векторная база данных'...")
|
|
hits = qdrant_store.search("векторная база данных", top_k=3)
|
|
for h in hits:
|
|
print(f" [{h['score']:.3f}] ({h['type']}) {h['claim'][:80]}")
|
|
print("DONE")
|
|
|
|
if __name__ == "__main__":
|
|
main()
|