Package dev.langchain4j.agent.tool
Annotation Interface Tool
Java methods annotated with
@Tool
are considered tools/functions that language model can execute/call.
Tool/function calling LLM capability (e.g., see OpenAI function calling documentation)
is used under the hood.
A low-level ToolSpecification
will be automatically created from the method signature
(e.g. method name, method parameters (names and types), @Tool and @P annotations, etc.)
and will be sent to the LLM.
If LLM decides to call the tool, the arguments are automatically parsed and injected as method arguments.-
Optional Element Summary
-
Element Details
-
name
String nameName of the tool. If not provided, method name will be used.- Returns:
- name of the tool.
- Default:
""
-
value
String[] valueDescription of the tool. It should be clear and descriptive to allow language model to understand the tool's purpose and its intended use.- Returns:
- description of the tool.
- Default:
{""}
-