from src.pgdb.knowledge.similarity import VectorStore_FAISS
from src.scheduler.scheduler import TaskScheduler
from src.scheduler.auto_update_index_task import Auto_Task
import time
from src.config.consts import (
    VEC_DB_DBNAME,
    VEC_DB_HOST,
    VEC_DB_PASSWORD,
    VEC_DB_PORT,
    VEC_DB_USER,
    EMBEEDING_MODEL_PATH,
    FAISS_STORE_PATH,
    SIMILARITY_SHOW_NUMBER,
    KNOWLEDGE_PATH,
    INDEX_NAME
)



def auto_task():
    vecstore_faiss = VectorStore_FAISS(
        embedding_model_name=EMBEEDING_MODEL_PATH,
        store_path=FAISS_STORE_PATH,
        index_name=INDEX_NAME,
        info={"port": VEC_DB_PORT, "host": VEC_DB_HOST, "dbname": VEC_DB_DBNAME, "username": VEC_DB_USER,
              "password": VEC_DB_PASSWORD},
        show_number=SIMILARITY_SHOW_NUMBER,
        reset=False)
    print(vecstore_faiss.join_document(vecstore_faiss.get_text_similarity("什么是暹罗猫")))
    scheduler = TaskScheduler()
    scheduler.add_task(Auto_Task, 2,"../test_dir/src","../test_dir/dest", vecstore_faiss)
    scheduler.start_scheduler()
    for i in range(10):
        print(i)
        print(vecstore_faiss.join_document(vecstore_faiss.get_text_similarity("什么是暹罗猫")))
        time.sleep(30)

    scheduler.stop_scheduler()

if __name__ == "__main__":
    auto_task()