SYMBOL INDEX (152 symbols across 23 files) FILE: app/functions/base.py class Function (line 4) | class Function: class Schema (line 8) | class Schema(BaseModel): method get_schema (line 12) | def get_schema(cls) -> Dict: FILE: app/functions/duckduck.py class SearchFunction (line 15) | class SearchFunction(Function): class Schema (line 19) | class Schema(Function.Schema): method run (line 24) | def run(cls, **kwargs): class NewsFunction (line 31) | class NewsFunction(Function): class Schema (line 35) | class Schema(Function.Schema): method run (line 40) | def run(cls, **kwargs): FILE: app/libs/base_handler.py class Handler (line 6) | class Handler(ABC): method set_next (line 11) | def set_next(self, handler: "Handler") -> "Handler": method handle (line 16) | async def handle(self, context: Context): class DefaultCompletionHandler (line 26) | class DefaultCompletionHandler(Handler): method handle (line 27) | async def handle(self, context: Context): class FallbackHandler (line 40) | class FallbackHandler(Handler): method handle (line 41) | async def handle(self, context: Context): class ExceptionHandler (line 53) | class ExceptionHandler(Handler): method handle (line 54) | async def handle(self, handler: Handler, context: Context, exception: ... FILE: app/libs/chains copy.py class Context (line 20) | class Context: method __init__ (line 21) | def __init__(self, request: Request, provider: str, body: Dict[str, An... method last_message (line 64) | def last_message(self): method is_tool_call (line 68) | def is_tool_call(self): method is_tool_response (line 76) | def is_tool_response(self): method is_normal_chat (line 80) | def is_normal_chat(self): class Handler (line 84) | class Handler(ABC): method set_next (line 89) | def set_next(self, handler: "Handler") -> "Handler": method handle (line 94) | async def handle(self, context: Context): class ProviderSelectionHandler (line 104) | class ProviderSelectionHandler(Handler): method provider_exists (line 106) | def provider_exists(provider: str) -> bool: method handle (line 116) | async def handle(self, context: Context): class ImageMessageHandler (line 144) | class ImageMessageHandler(Handler): method handle (line 145) | async def handle(self, context: Context): class ImageLLavaMessageHandler (line 181) | class ImageLLavaMessageHandler(Handler): method handle (line 182) | async def handle(self, context: Context): class ToolExtractionHandler (line 207) | class ToolExtractionHandler(Handler): method handle (line 208) | async def handle(self, context: Context): method process_tool_calls (line 310) | async def process_tool_calls(self, context, new_messages): class ToolResponseHandler (line 372) | class ToolResponseHandler(Handler): method handle (line 373) | async def handle(self, context: Context): class DefaultCompletionHandler (line 405) | class DefaultCompletionHandler(Handler): method handle (line 406) | async def handle(self, context: Context): class FallbackHandler (line 419) | class FallbackHandler(Handler): method handle (line 420) | async def handle(self, context: Context): class ExceptionHandler (line 432) | class ExceptionHandler(Handler): method handle (line 433) | async def handle(self, context: Context, exception: Exception): FILE: app/libs/chains.py class Context (line 20) | class Context: method __init__ (line 21) | def __init__(self, request: Request, provider: str, body: Dict[str, An... method last_message (line 64) | def last_message(self): method is_tool_call (line 68) | def is_tool_call(self): method is_tool_response (line 76) | def is_tool_response(self): method is_normal_chat (line 80) | def is_normal_chat(self): class Handler (line 84) | class Handler(ABC): method set_next (line 89) | def set_next(self, handler: "Handler") -> "Handler": method handle (line 94) | async def handle(self, context: Context): class ProviderSelectionHandler (line 104) | class ProviderSelectionHandler(Handler): method provider_exists (line 106) | def provider_exists(provider: str) -> bool: method handle (line 116) | async def handle(self, context: Context): class ImageMessageHandler (line 144) | class ImageMessageHandler(Handler): method handle (line 145) | async def handle(self, context: Context): class ImageLLavaMessageHandler (line 181) | class ImageLLavaMessageHandler(Handler): method handle (line 182) | async def handle(self, context: Context): class ToolExtractionHandler (line 207) | class ToolExtractionHandler(Handler): method handle (line 208) | async def handle(self, context: Context): method process_tool_calls (line 310) | async def process_tool_calls(self, context, new_messages): class ToolResponseHandler (line 372) | class ToolResponseHandler(Handler): method handle (line 373) | async def handle(self, context: Context): class DefaultCompletionHandler (line 405) | class DefaultCompletionHandler(Handler): method handle (line 406) | async def handle(self, context: Context): class FallbackHandler (line 419) | class FallbackHandler(Handler): method handle (line 420) | async def handle(self, context: Context): class ExceptionHandler (line 432) | class ExceptionHandler(Handler): method handle (line 433) | async def handle(self, context: Context, exception: Exception): FILE: app/libs/context.py class Context (line 9) | class Context: method __init__ (line 10) | def __init__(self, request: Request, provider: str, body: Dict[str, An... method last_message (line 53) | def last_message(self): method is_tool_call (line 57) | def is_tool_call(self): method is_tool_response (line 65) | def is_tool_response(self): method is_normal_chat (line 69) | def is_normal_chat(self): FILE: app/libs/provider_handler.py class ProviderSelectionHandler (line 7) | class ProviderSelectionHandler(Handler): method provider_exists (line 9) | def provider_exists(provider: str) -> bool: method handle (line 19) | async def handle(self, context: Context): FILE: app/libs/tools_handler.py class ImageLLavaMessageHandler (line 18) | class ImageLLavaMessageHandler(Handler): method handle (line 19) | async def handle(self, context: Context): class ToolExtractionHandler (line 44) | class ToolExtractionHandler(Handler): method handle (line 45) | async def handle(self, context: Context): method _prepare_conversation_history (line 78) | def _prepare_conversation_history(self, messages): method _prepare_tool_details (line 85) | def _prepare_tool_details(self, context): method _prepare_model_messages (line 110) | def _prepare_model_messages(self, messages, available_tools, suffix, l... method _handle_no_tool_calls (line 122) | async def _handle_no_tool_calls(self, context, tool_calls_result): method _process_builtin_tools (line 132) | def _process_builtin_tools(self, context, tool_calls, tool_calls_resul... method handle1 (line 153) | async def handle1(self, context: Context): method process_tool_calls (line 247) | async def process_tool_calls(self, context, new_messages): class ToolResponseHandler (line 348) | class ToolResponseHandler(Handler): method handle (line 349) | async def handle(self, context: Context): FILE: app/libs/vision_handler.py class ImageMessageHandler (line 7) | class ImageMessageHandler(Handler): method handle (line 8) | async def handle(self, context: Context): class ImageLLavaMessageHandler (line 44) | class ImageLLavaMessageHandler(Handler): method handle (line 45) | async def handle(self, context: Context): FILE: app/main.py function log_requests (line 36) | async def log_requests(request: Request, call_next): function index (line 54) | async def index(request: Request): function version (line 60) | async def version(): FILE: app/prompts.py function get_forced_tool_suffix (line 153) | def get_forced_tool_suffix(tool_name: str) -> str: function get_func_result_guide (line 157) | def get_func_result_guide(function_call_result: str) -> str: function get_image_desc_guide (line 161) | def get_image_desc_guide(ref_index: int, description: str) -> str: function get_suffix (line 654) | def get_suffix(): FILE: app/providers.py class BaseProvider (line 7) | class BaseProvider: method __init__ (line 8) | def __init__(self, api_key: str, base_url = None): method route (line 13) | def route(self, model: str, messages: list, **kwargs): method route_async (line 16) | async def route_async(self, model: str, messages: list, **kwargs): method clean_params (line 19) | def clean_params(self, params): class OpenaiProvider (line 23) | class OpenaiProvider(BaseProvider): method __init__ (line 24) | def __init__(self, api_key: str, base_url = None): method route (line 31) | def route(self, model: str, messages: list, **kwargs): method clean_params (line 39) | def clean_params(self, params): class GroqProvider (line 43) | class GroqProvider(BaseProvider): method __init__ (line 44) | def __init__(self, api_key: str, base_url = None): method route (line 51) | def route(self, model: str, messages: list, **kwargs): method clean_params (line 59) | def clean_params(self, params): class OllamaProvider (line 63) | class OllamaProvider(BaseProvider): method __init__ (line 64) | def __init__(self, api_key: str, base_url = None): method route (line 70) | def route(self, model: str, messages: list, **kwargs): method clean_params (line 87) | def clean_params(self, params): FILE: app/reasoning/base.py class ReasoningBase (line 4) | class ReasoningBase(ABC): method run (line 9) | def run(self, context) -> Dict: FILE: app/reasoning/rerank.py function get_rerank_prompt (line 13) | def get_rerank_prompt(query, responses, top_k): class RerankReasoning (line 53) | class RerankReasoning(ReasoningBase): method __init__ (line 57) | def __init__(self, generator_model: str, reranker_model: str, n: int =... method run (line 65) | def run(self, context): FILE: app/routes/examples.py function read_examples (line 10) | async def read_examples(file_path: str): FILE: app/routes/proxy.py function get_openai_v1 (line 31) | async def get_openai_v1( function post_groq_chat_completions (line 38) | async def post_groq_chat_completions( function post_chat_completions (line 47) | async def post_chat_completions( FILE: app/utils.py function create_logger (line 9) | def create_logger(logger_name: str, log_path: str = ".logs/access.log", ... function get_tool_call_response (line 33) | def get_tool_call_response(tool_calls_result, unresolved_tol_calls, reso... function describe (line 58) | def describe(prompt: str, image_url_or_base64 : str, **kwargs) -> str: FILE: cookbook/ai_assistant_custome_tools.py class CinemaSerachDB (line 25) | class CinemaSerachDB(Toolkit): method __init__ (line 26) | def __init__( method get_available_slots (line 36) | def get_available_slots(self, movie_slot_query: str ) -> str: class CinemaTools (line 50) | class CinemaTools(Toolkit): method __init__ (line 51) | def __init__( method book_cinema_ticket (line 59) | def book_cinema_ticket(self, movie_name: str, date: Optional[str] = No... method _generate_ticket_number (line 110) | def _generate_ticket_number(self) -> str: function cinemax_assistant (line 133) | def cinemax_assistant(new: bool = False, user: str = "user"): FILE: cookbook/function_call_force_schema.py function duckduckgo_search (line 17) | def duckduckgo_search(query, max_results=None): function duckduckgo_news (line 24) | def duckduckgo_news(query, max_results=None): FILE: cookbook/function_call_force_tool_choice.py function duckduckgo_search (line 14) | def duckduckgo_search(query, max_results=None): function duckduckgo_news (line 21) | def duckduckgo_news(query, max_results=None): FILE: cookbook/function_call_with_schema.py function duckduckgo_search (line 14) | def duckduckgo_search(query, max_results=None): function duckduckgo_news (line 21) | def duckduckgo_news(query, max_results=None): FILE: examples/example_2.py function duckduckgo_search (line 12) | def duckduckgo_search(query, max_results=None): function duckduckgo_news (line 19) | def duckduckgo_news(query, max_results=None): FILE: examples/example_4.py function duckduckgo_search (line 10) | def duckduckgo_search(query, max_results=None):