giuseppe-trisciuoglio/langchain4j-padrões-de-chamada-de-ferramentas-e-funções
Fornece e gera padrões de chamada de ferramentas e funções do LangChain4j: anota métodos como ferramentas com @Tool, configura executores de ferramentas, registra ferramentas com AiServices, valida parâmetros de ferramentas e lida com erros de execução. Use ao construir agentes de IA que chamam ferramentas, definir especificações de funções, gerenciar respostas de ferramentas ou integrar APIs externas com aplicações orientadas por LLM.
Visão Geral
Este skill simplifica a criação de agentes de IA no ecossistema LangChain4j, fornecendo padrões reutilizáveis para expor funcionalidades Java como ferramentas que os LLMs podem invocar. Ele lida com todo o ciclo de vida:
- Anotação: Métodos Java são marcados com
@Toolpara se tornarem chamáveis por LLMs. - Configuração: Executores de ferramentas (
ToolExecutor) são configurados para gerenciar a execução. - Registro: Ferramentas são registradas no
AiServices, permitindo que o LLM as selecione. - Validação: Parâmetros das ferramentas são validados automaticamente antes da execução.
- Tratamento de Erros: Erros durante a execução são capturados e reportados de forma controlada.
Como Usar
- Defina uma Ferramenta: Crie um método Java e anote-o com
@Tool. - Configure o Executor: Use
ToolExecutorpadrão ou crie um customizado. - Registre no AiServices: Adicione a instância da ferramenta ao
AiServices. - Invoque via LLM: O modelo de linguagem chamará a ferramenta quando necessário.
Exemplo
public class Calculadora {
@Tool("Calcula a soma de dois números")
public int somar(int a, int b) {
return a + b;
}
}
// Registrando a ferramenta
AiServices<Assistente> services = AiServices.builder(Assistente.class)
.chatLanguageModel(modelo)
.tools(new Calculadora())
.build();
Quando Usar
- Quando você precisa que um LLM execute ações concretas no seu sistema.
- Para integrar APIs externas de forma segura e estruturada.
- Em cenários onde a validação de parâmetros e tratamento de erros são críticos.
- Ao construir agentes que requerem lógica de ferramentas dinâmica e reutilizável.
Compatibilidade
- Plataforma: Java 8+ (recomendado Java 11+).
- Framework: LangChain4j versão 0.30.0 ou superior.
- Modelos: Funciona com qualquer LLM suportado pelo LangChain4j (OpenAI, Anthropic, Google, etc.).
Boas Práticas
- Mantenha as funções das ferramentas focadas e com propósito único.
- Forneça descrições claras na anotação
@Toolpara ajudar o LLM a escolher a ferramenta correta. - Trate exceções dentro dos métodos das ferramentas para evitar falhas inesperadas no fluxo do LLM.
- Teste as ferramentas isoladamente para garantir que funcionam conforme esperado.
Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests no repositório original.
Licença
Este projeto é distribuído sob a licença MIT. Consulte o arquivo LICENSE para mais detalhes.