Files
log10go/models/components/chatcompletionrequestmessage.go
2024-05-24 18:29:28 -07:00

139 lines
6.3 KiB
Go

// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
package components
import (
"errors"
"fmt"
"github.com/log10-io/log10go/internal/utils"
)
type ChatCompletionRequestMessageType string
const (
ChatCompletionRequestMessageTypeChatCompletionRequestSystemMessage ChatCompletionRequestMessageType = "ChatCompletionRequestSystemMessage"
ChatCompletionRequestMessageTypeChatCompletionRequestUserMessage ChatCompletionRequestMessageType = "ChatCompletionRequestUserMessage"
ChatCompletionRequestMessageTypeChatCompletionRequestAssistantMessage ChatCompletionRequestMessageType = "ChatCompletionRequestAssistantMessage"
ChatCompletionRequestMessageTypeChatCompletionRequestToolMessage ChatCompletionRequestMessageType = "ChatCompletionRequestToolMessage"
ChatCompletionRequestMessageTypeChatCompletionRequestFunctionMessage ChatCompletionRequestMessageType = "ChatCompletionRequestFunctionMessage"
)
type ChatCompletionRequestMessage struct {
ChatCompletionRequestSystemMessage *ChatCompletionRequestSystemMessage
ChatCompletionRequestUserMessage *ChatCompletionRequestUserMessage
ChatCompletionRequestAssistantMessage *ChatCompletionRequestAssistantMessage
ChatCompletionRequestToolMessage *ChatCompletionRequestToolMessage
ChatCompletionRequestFunctionMessage *ChatCompletionRequestFunctionMessage
Type ChatCompletionRequestMessageType
}
func CreateChatCompletionRequestMessageChatCompletionRequestSystemMessage(chatCompletionRequestSystemMessage ChatCompletionRequestSystemMessage) ChatCompletionRequestMessage {
typ := ChatCompletionRequestMessageTypeChatCompletionRequestSystemMessage
return ChatCompletionRequestMessage{
ChatCompletionRequestSystemMessage: &chatCompletionRequestSystemMessage,
Type: typ,
}
}
func CreateChatCompletionRequestMessageChatCompletionRequestUserMessage(chatCompletionRequestUserMessage ChatCompletionRequestUserMessage) ChatCompletionRequestMessage {
typ := ChatCompletionRequestMessageTypeChatCompletionRequestUserMessage
return ChatCompletionRequestMessage{
ChatCompletionRequestUserMessage: &chatCompletionRequestUserMessage,
Type: typ,
}
}
func CreateChatCompletionRequestMessageChatCompletionRequestAssistantMessage(chatCompletionRequestAssistantMessage ChatCompletionRequestAssistantMessage) ChatCompletionRequestMessage {
typ := ChatCompletionRequestMessageTypeChatCompletionRequestAssistantMessage
return ChatCompletionRequestMessage{
ChatCompletionRequestAssistantMessage: &chatCompletionRequestAssistantMessage,
Type: typ,
}
}
func CreateChatCompletionRequestMessageChatCompletionRequestToolMessage(chatCompletionRequestToolMessage ChatCompletionRequestToolMessage) ChatCompletionRequestMessage {
typ := ChatCompletionRequestMessageTypeChatCompletionRequestToolMessage
return ChatCompletionRequestMessage{
ChatCompletionRequestToolMessage: &chatCompletionRequestToolMessage,
Type: typ,
}
}
func CreateChatCompletionRequestMessageChatCompletionRequestFunctionMessage(chatCompletionRequestFunctionMessage ChatCompletionRequestFunctionMessage) ChatCompletionRequestMessage {
typ := ChatCompletionRequestMessageTypeChatCompletionRequestFunctionMessage
return ChatCompletionRequestMessage{
ChatCompletionRequestFunctionMessage: &chatCompletionRequestFunctionMessage,
Type: typ,
}
}
func (u *ChatCompletionRequestMessage) UnmarshalJSON(data []byte) error {
var chatCompletionRequestSystemMessage ChatCompletionRequestSystemMessage = ChatCompletionRequestSystemMessage{}
if err := utils.UnmarshalJSON(data, &chatCompletionRequestSystemMessage, "", true, true); err == nil {
u.ChatCompletionRequestSystemMessage = &chatCompletionRequestSystemMessage
u.Type = ChatCompletionRequestMessageTypeChatCompletionRequestSystemMessage
return nil
}
var chatCompletionRequestUserMessage ChatCompletionRequestUserMessage = ChatCompletionRequestUserMessage{}
if err := utils.UnmarshalJSON(data, &chatCompletionRequestUserMessage, "", true, true); err == nil {
u.ChatCompletionRequestUserMessage = &chatCompletionRequestUserMessage
u.Type = ChatCompletionRequestMessageTypeChatCompletionRequestUserMessage
return nil
}
var chatCompletionRequestToolMessage ChatCompletionRequestToolMessage = ChatCompletionRequestToolMessage{}
if err := utils.UnmarshalJSON(data, &chatCompletionRequestToolMessage, "", true, true); err == nil {
u.ChatCompletionRequestToolMessage = &chatCompletionRequestToolMessage
u.Type = ChatCompletionRequestMessageTypeChatCompletionRequestToolMessage
return nil
}
var chatCompletionRequestFunctionMessage ChatCompletionRequestFunctionMessage = ChatCompletionRequestFunctionMessage{}
if err := utils.UnmarshalJSON(data, &chatCompletionRequestFunctionMessage, "", true, true); err == nil {
u.ChatCompletionRequestFunctionMessage = &chatCompletionRequestFunctionMessage
u.Type = ChatCompletionRequestMessageTypeChatCompletionRequestFunctionMessage
return nil
}
var chatCompletionRequestAssistantMessage ChatCompletionRequestAssistantMessage = ChatCompletionRequestAssistantMessage{}
if err := utils.UnmarshalJSON(data, &chatCompletionRequestAssistantMessage, "", true, true); err == nil {
u.ChatCompletionRequestAssistantMessage = &chatCompletionRequestAssistantMessage
u.Type = ChatCompletionRequestMessageTypeChatCompletionRequestAssistantMessage
return nil
}
return fmt.Errorf("could not unmarshal `%s` into any supported union types for ChatCompletionRequestMessage", string(data))
}
func (u ChatCompletionRequestMessage) MarshalJSON() ([]byte, error) {
if u.ChatCompletionRequestSystemMessage != nil {
return utils.MarshalJSON(u.ChatCompletionRequestSystemMessage, "", true)
}
if u.ChatCompletionRequestUserMessage != nil {
return utils.MarshalJSON(u.ChatCompletionRequestUserMessage, "", true)
}
if u.ChatCompletionRequestAssistantMessage != nil {
return utils.MarshalJSON(u.ChatCompletionRequestAssistantMessage, "", true)
}
if u.ChatCompletionRequestToolMessage != nil {
return utils.MarshalJSON(u.ChatCompletionRequestToolMessage, "", true)
}
if u.ChatCompletionRequestFunctionMessage != nil {
return utils.MarshalJSON(u.ChatCompletionRequestFunctionMessage, "", true)
}
return nil, errors.New("could not marshal union type ChatCompletionRequestMessage: all fields are null")
}