Skip to content

Rework agent ToolSpec with dedicated json spec library #748

@timonv

Description

@timonv

Currently the ToolSpec agent tools publish is a custom struct, with a bunch of hacks to make it fit together. Additionally, not all types are supported and there is no way to properly validate the spec it should generate.

There are several mature libraries to deal with json specs, and it would be really nice if the tool specs utilize that instead.

https://github.com/GREsau/schemars really jumps out.

This would require major changes on tool specs themselves in core, all clients / chat completion and the tool generation macros. Implementation wise it would be nice if the macros are not visible to the user, preferably the public api does not change.

This issue follows from #738

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions