This commit is contained in:
jijiahao
2025-11-05 20:41:47 +08:00
19 changed files with 1125 additions and 7 deletions

View File

@@ -6,6 +6,9 @@ from typing import Dict
import os
from loguru import logger
from dotenv import load_dotenv
load_dotenv()
## NOTE: base classes taken from nerfstudio
class PrintableConfig:

View File

@@ -3,7 +3,7 @@ from typing import Type, List
import tyro
from mcp.server.fastmcp import FastMCP
from loguru import logger
import os
import os.path as osp
from langchain_community.vectorstores import FAISS
from langchain_core.documents.base import Document
@@ -21,8 +21,16 @@ class SimpleRagConfig(ToolConfig, KeyConfig):
model_name:str = "text-embedding-v4"
"""embedding model name"""
folder_path:str = "/home/smith/projects/work/langchain-agent/assets/xiaozhan_emb"
"""path to local database"""
folder_path:str = None
"""path to docker database"""
def __post_init__(self):
super().__post_init__()
if self.folder_path is None:
self.folder_path = osp.join(osp.dirname(osp.dirname(osp.dirname(__file__))), "assets", "xiaozhan_emb")
logger.info(f"no rag database provided, using default {self.folder_path}")
@@ -31,6 +39,8 @@ class SimpleRag(LangToolBase):
self.config = config
self.emb = QwenEmbeddings(self.config.api_key,
self.config.model_name)
self.vec_store = FAISS.load_local(
folder_path=self.config.folder_path,
embeddings=self.emb,

0
lang_agent/test.py Normal file
View File

View File

@@ -6,7 +6,7 @@ import inspect
import asyncio
import os.path as osp
from loguru import logger
from fastmcp.tools.tool import FunctionTool
from fastmcp.tools.tool import Tool
from lang_agent.config import InstantiateConfig, ToolConfig
from lang_agent.base import LangToolBase
@@ -80,7 +80,7 @@ class ToolManager:
def _get_tool_fnc(self, tool_obj:LangToolBase)->List:
fnc_list = []
for fnc in tool_obj.get_tool_fnc():
if isinstance(fnc, FunctionTool):
if isinstance(fnc, Tool):
fnc = fnc.fn
fnc_list.append(fnc)