feat(tools): support Tool calls in the API (#1715)

* feat(tools): support Tools in the API

Co-authored-by: =?UTF-8?q?Stephan=20A=C3=9Fmus?= <stephan.assmus@sap.com>

* feat(tools): support function streaming

* Adhere to new return types when using tools instead of functions

* Keep backward compatibility with function calling

* Evaluate function names in chat templates

* Disable recovery with --debug

* Correctly stream out the entire result

* Detect when llm chooses to reply and to not perform any action in SSE

* Feedback from code review

---------

Co-authored-by: =?UTF-8?q?Stephan=20A=C3=9Fmus?= <stephan.assmus@sap.com>
This commit is contained in:
Ettore Di Giacinto 2024-02-17 10:00:34 +01:00 committed by GitHub
parent 6b539a2972
commit c72808f18b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 287 additions and 93 deletions

View file

@ -33,6 +33,7 @@ type ChatMessageTemplateData struct {
SystemPrompt string
Role string
RoleName string
FunctionName string
Content string
MessageIndex int
}