| package dto |
|
|
| import "github.com/QuantumNous/new-api/types" |
|
|
| const ( |
| RealtimeEventTypeError = "error" |
| RealtimeEventTypeSessionUpdate = "session.update" |
| RealtimeEventTypeConversationCreate = "conversation.item.create" |
| RealtimeEventTypeResponseCreate = "response.create" |
| RealtimeEventInputAudioBufferAppend = "input_audio_buffer.append" |
| ) |
|
|
| const ( |
| RealtimeEventTypeResponseDone = "response.done" |
| RealtimeEventTypeSessionUpdated = "session.updated" |
| RealtimeEventTypeSessionCreated = "session.created" |
| RealtimeEventResponseAudioDelta = "response.audio.delta" |
| RealtimeEventResponseAudioTranscriptionDelta = "response.audio_transcript.delta" |
| RealtimeEventResponseFunctionCallArgumentsDelta = "response.function_call_arguments.delta" |
| RealtimeEventResponseFunctionCallArgumentsDone = "response.function_call_arguments.done" |
| RealtimeEventConversationItemCreated = "conversation.item.created" |
| ) |
|
|
| type RealtimeEvent struct { |
| EventId string `json:"event_id"` |
| Type string `json:"type"` |
| |
| Session *RealtimeSession `json:"session,omitempty"` |
| Item *RealtimeItem `json:"item,omitempty"` |
| Error *types.OpenAIError `json:"error,omitempty"` |
| Response *RealtimeResponse `json:"response,omitempty"` |
| Delta string `json:"delta,omitempty"` |
| Audio string `json:"audio,omitempty"` |
| } |
|
|
| type RealtimeResponse struct { |
| Usage *RealtimeUsage `json:"usage"` |
| } |
|
|
| type RealtimeUsage struct { |
| TotalTokens int `json:"total_tokens"` |
| InputTokens int `json:"input_tokens"` |
| OutputTokens int `json:"output_tokens"` |
| InputTokenDetails InputTokenDetails `json:"input_token_details"` |
| OutputTokenDetails OutputTokenDetails `json:"output_token_details"` |
| } |
|
|
| type RealtimeSession struct { |
| Modalities []string `json:"modalities"` |
| Instructions string `json:"instructions"` |
| Voice string `json:"voice"` |
| InputAudioFormat string `json:"input_audio_format"` |
| OutputAudioFormat string `json:"output_audio_format"` |
| InputAudioTranscription InputAudioTranscription `json:"input_audio_transcription"` |
| TurnDetection interface{} `json:"turn_detection"` |
| Tools []RealTimeTool `json:"tools"` |
| ToolChoice string `json:"tool_choice"` |
| Temperature float64 `json:"temperature"` |
| |
| } |
|
|
| type InputAudioTranscription struct { |
| Model string `json:"model"` |
| } |
|
|
| type RealTimeTool struct { |
| Type string `json:"type"` |
| Name string `json:"name"` |
| Description string `json:"description"` |
| Parameters any `json:"parameters"` |
| } |
|
|
| type RealtimeItem struct { |
| Id string `json:"id"` |
| Type string `json:"type"` |
| Status string `json:"status"` |
| Role string `json:"role"` |
| Content []RealtimeContent `json:"content"` |
| Name *string `json:"name,omitempty"` |
| ToolCalls any `json:"tool_calls,omitempty"` |
| CallId string `json:"call_id,omitempty"` |
| } |
| type RealtimeContent struct { |
| Type string `json:"type"` |
| Text string `json:"text,omitempty"` |
| Audio string `json:"audio,omitempty"` |
| Transcript string `json:"transcript,omitempty"` |
| } |
|
|