封装fastAPI openAI接口规范
This commit is contained in:
@@ -21,8 +21,21 @@ 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 = "/Users/jeremygan/Desktop/TangledupAI/lang-agent/assets/xiaozhan_emb"
|
||||
"""path to docker database"""
|
||||
|
||||
# @property
|
||||
# def folder_path(self) -> str:
|
||||
# """Dynamically determine the folder path for the vector store"""
|
||||
# # Check if environment variable is set
|
||||
# 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")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -31,8 +44,19 @@ class SimpleRag(LangToolBase):
|
||||
self.config = config
|
||||
self.emb = QwenEmbeddings(self.config.api_key,
|
||||
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(
|
||||
folder_path=self.config.folder_path,
|
||||
folder_path=folder_path,
|
||||
embeddings=self.emb,
|
||||
allow_dangerous_deserialization=True # Required for LangChain >= 0.1.1
|
||||
)
|
||||
|
||||
0
lang_agent/test.py
Normal file
0
lang_agent/test.py
Normal file
@@ -6,14 +6,14 @@ 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
|
||||
|
||||
from lang_agent.rag.simple import SimpleRagConfig
|
||||
from lang_agent.dummy.calculator import CalculatorConfig
|
||||
from catering_end.lang_tool import CartToolConfig, CartTool
|
||||
# from catering_end.lang_tool import CartToolConfig, CartTool
|
||||
|
||||
from langchain_core.tools.structured import StructuredTool
|
||||
import jax
|
||||
@@ -26,7 +26,7 @@ class ToolManagerConfig(InstantiateConfig):
|
||||
# tool configs here; MUST HAVE 'config' in name and must be dataclass
|
||||
rag_config: SimpleRagConfig = field(default_factory=SimpleRagConfig)
|
||||
|
||||
cart_config: CartToolConfig = field(default_factory=CartToolConfig)
|
||||
# cart_config: CartToolConfig = field(default_factory=CartToolConfig)
|
||||
|
||||
calc_config: CalculatorConfig = field(default_factory=CalculatorConfig)
|
||||
|
||||
@@ -78,7 +78,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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user