import os
from dotenv import load_dotenv
from common.path_utils import get_file_path
load_dotenv()
#从.env中获取环境变量
#真实的文件在 common/.env, 之前写成 get_file_path(".env") 指向了根目录下不存在的文件,
#导致 MODEL_BASE_URL / MODEL_NAME / NEO4J_* 全是 None
load_dotenv(get_file_path("common/.env"))
class Config:
def __init__(self):
# 大模型相关
self.MODEL_API_KEY = os.getenv("MODEL_API_KEY")
self.MODEL_BASE_URL = os.getenv("MODEL_BASE_URL")
self.MODEL_NAME = os.getenv("MODEL_NAME")
# neo4j相关
self.NEO4J_URI = os.getenv("NEO4J_URI")
self.NEO4J_USER = os.getenv("NEO4J_USER")
self.NEO4J_PASSWORD = os.getenv("NEO4J_PASSWORD")
# 读取极梦的密钥
self.JIMENG_AK = os.getenv("JIMENG_AK")
self.JIMENG_SK = os.getenv("JIMENG_SK")
# # 读取图谱模式层的数据
self.TCM_METADATA = open(get_file_path("_003_create_neo4j_database/tcm_metadata.json"), "r", encoding="utf-8").read()
#
# # embedding模型
self.EMBEDDING_MODEL_PATH = os.getenv("EMBEDDING_MODEL_PATH")
#
# index的路径, faiss 向量数据库对 中文路径特别敏感,不要给路径上带中文.
self.ENTITY_INDEX_PATH = get_file_path("_003_create_neo4j_database/nero4j_embedding_faiss.index")
self.ENTITY_ID2TEXT_PATH = get_file_path("_003_create_neo4j_database/nero4j_embedding_faiss_id2text.pkl")
# 添加历史数据获取的轮数
self.history_num = 5
if __name__ == "__main__":
conf = Config()
# print(conf.MODEL_API_KEY)
print(conf.TCM_METADATA)
# print(conf.ENTITY_INDEX_PATH)
# print(conf.ENTITY_ID2TEXT_PATH)