get datapath dynamically

This commit is contained in:
2025-11-05 00:16:20 +08:00
parent 8a9aef87aa
commit 9bef61a6c3

View File

@@ -3,7 +3,7 @@ from typing import Type, List
import tyro import tyro
from mcp.server.fastmcp import FastMCP from mcp.server.fastmcp import FastMCP
from loguru import logger from loguru import logger
import os import os.path as osp
from langchain_community.vectorstores import FAISS from langchain_community.vectorstores import FAISS
from langchain_core.documents.base import Document from langchain_core.documents.base import Document
@@ -21,19 +21,13 @@ class SimpleRagConfig(ToolConfig, KeyConfig):
model_name:str = "text-embedding-v4" model_name:str = "text-embedding-v4"
"""embedding model name""" """embedding model name"""
folder_path:str = "/Users/jeremygan/Desktop/TangledupAI/lang-agent/assets/xiaozhan_emb" folder_path:str = None
"""path to docker database""" """path to docker database"""
# @property def __post_init__(self):
# def folder_path(self) -> str: if self.folder_path is None:
# """Dynamically determine the folder path for the vector store""" self.folder_path = osp.join(osp.dirname(osp.dirname(osp.dirname(__file__))), "assets", "xiaozhan_emb")
# # Check if environment variable is set logger.info(f"no rag database provided, using default {self.folder_path}")
# env_path = os.environ.get("RAG_FOLDER_PATH")
# if env_path:
# return env_path
# # Default to relative path from current working directory
# return os.path.join(os.getcwd(), "assets", "xiaozhan_emb")
@@ -45,18 +39,9 @@ class SimpleRag(LangToolBase):
self.emb = QwenEmbeddings(self.config.api_key, self.emb = QwenEmbeddings(self.config.api_key,
self.config.model_name) self.config.model_name)
# Determine the folder path dynamically
# folder_path = os.environ.get("RAG_FOLDER_PATH")
# if not folder_path:
# # Default to relative path from current working directory
# folder_path = os.path.join(os.getcwd(), "assets", "xiaozhan_emb")
# logger.info(f"Loading FAISS index from: {folder_path}")
folder_path = "/Users/jeremygan/Desktop/TangledupAI/lang-agent/assets/xiaozhan_emb"
self.vec_store = FAISS.load_local( self.vec_store = FAISS.load_local(
folder_path=folder_path, folder_path=self.config.folder_path,
embeddings=self.emb, embeddings=self.emb,
allow_dangerous_deserialization=True # Required for LangChain >= 0.1.1 allow_dangerous_deserialization=True # Required for LangChain >= 0.1.1
) )