Abraxas-365 / Abraxas-365/langchain-rust
Complex input for tool failing to parse
- Linguagem predominante
- Rust
- Estrelas
- 1.3k
- Forks
- 177
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
**Describe the bug**
I am getting the error:
> Agent error: Error in agent planning: Serde json error: invalid type: map, expected a string
Whenever a tool has an input more complex than a simple `String`.
**Additional context**
This is likely a known issue, and presumably happens because `AgentOutput` looks like this
https://github.com/Abraxas-365/langchain-rust/blob/60c71258d8a40c278f2867f6b4d3871265f6e638/src/agent/chat/output_parser.rs#L14-L18
so when the LLM outputs something like
```json
{
"action": "Some Tool",
"action_input": {
"tool_field1": "Some argument",
"tool_field2": "Other argument",
}
}
```
wouldn't fails to parse since "action_input" is not a `String`
Guia de contribuição
Direção de pesquisa
A issue aponta para src/agent/chat/output_parser.rs, onde AgentOutput espera que action_input seja uma String. Examine a lógica de parsing e as definições das ferramentas para entender como entradas complexas devem ser tratadas. Procure testes existentes relacionados ao planejamento do agente e ao parsing de JSON para ver qual é o comportamento esperado. A correção provavelmente envolve alterar o tipo de action_input para aceitar um valor JSON mais flexível e atualizar a serialização/deserialização de acordo.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- rust
- Domínio
- backend-api-design
- Tipo de issue
- Bug
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Status de atividade
- Estagnada
- Clareza
- Claramente especificada
- Facilidade para iniciantes
- 45/100