
Langchain4j Tool Function Calling Patterns
This one teaches you how to wire up external function calls in LangChain4j agents using the @Tool annotation system. You annotate methods with @Tool and @P, register them with AiServices.builder().tools(), and the LLM can invoke them during conversations. The skill covers error handlers for when the model hallucinates tool names or passes bad arguments, concurrent execution for independent tools, and timeout configs for external API calls. It's practical if you're building agents that need to query databases, hit APIs, or perform calculations beyond what the LLM can do natively. The examples show calculator tools, email senders with immediate return behavior, and dynamic tool providers that change based on user context.
- skills.sh installs
- 3.9K
- GitHub stars
- 369
- last updated
- Aug 21, 2026
Install
$ npx -y skills add giuseppe-trisciuoglio/developer-kit --skill langchain4j-tool-function-calling-patterns --agent claude-codeInstalls into .claude/skills of the current project.
Files
LangChain4j Tool & Function Calling Patterns
Provides patterns for annotating methods as tools, configuring tool executors, registering tools with AI services, validating parameters, and handling tool execution errors in LangChain4j applications.
Overview
LangChain4j uses the @Tool annotation to expose Java methods as callable functions for AI agents. The AiServices builder registers tools with a chat model, enabling LLMs to perform actions beyond text generation: database queries, API calls, calculations, and business system integrations. Parameters use @P for descriptions that guide the LLM.
When to Use
- Building AI agents that call external tools (weather, stocks, database queries)
- Defining function specifications for LLM tool use (
@Tool,@Pannotations) - Registering and managing tool sets with
AiServices.builder().tools() - Handling tool execution errors, timeouts, and hallucinated tool names
- Implementing context-aware tools that inject user state via
@ToolMemoryId - Configuring dynamic tool providers for large or conditional tool sets
Instructions
1. Annotate Methods with @Tool
Sponsors
Details
- Repository
- github.com/giuseppe-trisciuoglio/developer-kit
- Category
- AI & Agent Building
- First seen
- May 16, 2026
More from giuseppe-trisciuoglio/developer-kit
All 102- Nx Monorepo3.9K
- Langchain4j Spring Boot Integration3.9K
- Langchain4j Rag Implementation Patterns3.9K
- Unit Test Scheduled Async3.9K
- Rag3.9K
- Unit Test Utility Methods3.9K
- Qdrant3.9K
- Unit Test Exception Handler3.9K
- Unit Test Mapper Converter3.9K
- Langchain4j Ai Services Patterns3.9K
- Unit Test Caching3.8K
- Unit Test Config Properties3.8K
- Unit Test Application Events3.8K
- Langchain4j Vector Stores Configuration3.8K
- Langchain4j Mcp Server Patterns3.8K
- Aws Sdk Java V2 S33.8K
- Langchain4j Testing Strategies3.8K
- Aws Sdk Java V2 Dynamodb3.8K
- Aws Rds Spring Boot Integration3.8K
- Nextjs Deployment3.8K
- Aws Sdk Java V2 Lambda3.8K
- Aws Sdk Java V2 Core3.8K
- Aws Sdk Java V2 Bedrock3.8K
- Aws Sdk Java V2 Messaging3.8K