mirror of
https://github.com/coaidev/coai.git
synced 2025-05-19 13:00:14 +09:00
fix: fix tool calls required
omitempty field
Co-Authored-By: Minghan Zhang <112773885+zmh-program@users.noreply.github.com>
This commit is contained in:
parent
485066feb2
commit
78ff6a19a4
@ -3,6 +3,7 @@ package skylark
|
|||||||
import (
|
import (
|
||||||
"chat/globals"
|
"chat/globals"
|
||||||
"chat/utils"
|
"chat/utils"
|
||||||
|
|
||||||
structpb "github.com/golang/protobuf/ptypes/struct"
|
structpb "github.com/golang/protobuf/ptypes/struct"
|
||||||
"github.com/volcengine/volc-sdk-golang/service/maas/models/api"
|
"github.com/volcengine/volc-sdk-golang/service/maas/models/api"
|
||||||
)
|
)
|
||||||
@ -20,19 +21,21 @@ func getFunctionCall(calls *globals.ToolCalls) *api.FunctionCall {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func getType(p globals.ToolProperty) string {
|
func getType(p globals.ToolProperty) string {
|
||||||
if p.Type == nil {
|
t, ok := p["type"]
|
||||||
|
if !ok {
|
||||||
return "string"
|
return "string"
|
||||||
}
|
}
|
||||||
|
|
||||||
return *p.Type
|
return t.(string)
|
||||||
}
|
}
|
||||||
|
|
||||||
func getDescription(p globals.ToolProperty) string {
|
func getDescription(p globals.ToolProperty) string {
|
||||||
if p.Description == nil {
|
desc, ok := p["description"]
|
||||||
|
if !ok {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
return *p.Description
|
return desc.(string)
|
||||||
}
|
}
|
||||||
|
|
||||||
func getValue(p globals.ToolProperty) *structpb.Value {
|
func getValue(p globals.ToolProperty) *structpb.Value {
|
||||||
|
@ -16,7 +16,7 @@ type ToolFunction struct {
|
|||||||
type ToolParameters struct {
|
type ToolParameters struct {
|
||||||
Type string `json:"type"`
|
Type string `json:"type"`
|
||||||
Properties ToolProperties `json:"properties"`
|
Properties ToolProperties `json:"properties"`
|
||||||
Required []string `json:"required"`
|
Required *[]string `json:"required,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ToolProperties map[string]ToolProperty
|
type ToolProperties map[string]ToolProperty
|
||||||
@ -25,7 +25,8 @@ type ToolProperties map[string]ToolProperty
|
|||||||
|
|
||||||
type JsonSchemaType any
|
type JsonSchemaType any
|
||||||
type JSONSchemaDefinition any
|
type JSONSchemaDefinition any
|
||||||
type ToolProperty struct {
|
type ToolProperty map[string]interface{}
|
||||||
|
type DetailToolProperty struct {
|
||||||
Type *string `json:"type,omitempty"`
|
Type *string `json:"type,omitempty"`
|
||||||
Enum *[]JsonSchemaType `json:"enum,omitempty"`
|
Enum *[]JsonSchemaType `json:"enum,omitempty"`
|
||||||
Const *JsonSchemaType `json:"const,omitempty"`
|
Const *JsonSchemaType `json:"const,omitempty"`
|
||||||
|
@ -83,6 +83,10 @@ func NumTokensFromMessages(messages []globals.Message, model string, responseTyp
|
|||||||
}
|
}
|
||||||
|
|
||||||
func NumTokensFromResponse(response string, model string) int {
|
func NumTokensFromResponse(response string, model string) int {
|
||||||
|
if len(response) == 0 {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
return NumTokensFromMessages([]globals.Message{{Content: response}}, model, true)
|
return NumTokensFromMessages([]globals.Message{{Content: response}}, model, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user