File size: 1,183 Bytes
7ff7119
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
"""5 chat tool -- LangChain @tool dekorátorral, build_tools(context) factory-vel.

A tool-ok egy ChatToolContext-en keresztül érik el a HybridStore-t és a
ProcessedDocument snapshot-ot. A `bind_tools()` ezeket a chat agent-hez köti.
"""

from __future__ import annotations

from langchain_core.tools import BaseTool

from tools.compare_documents import build_compare_documents_tool
from tools.context import ChatToolContext
from tools.get_extraction import build_get_extraction_tool
from tools.list_documents import build_list_documents_tool
from tools.search_documents import build_search_documents_tool
from tools.validate_document import build_validate_document_tool


def build_tools(context: ChatToolContext) -> list[BaseTool]:
    """A chat 5 tool-ját építi a context-re.

    Sorrend kötött (a dummy provider router ezt feltételezi a stratégia-választásnál).
    """
    return [
        build_list_documents_tool(context),
        build_get_extraction_tool(context),
        build_search_documents_tool(context),
        build_compare_documents_tool(context),
        build_validate_document_tool(context),
    ]


__all__ = ["ChatToolContext", "build_tools"]