42 lines
1.5 KiB
Go
42 lines
1.5 KiB
Go
package openai
|
|
|
|
type AIResponse struct {
|
|
ID string `json:"id"`
|
|
Object string `json:"object"`
|
|
Created int64 `json:"created"`
|
|
Model string `json:"model"`
|
|
Choices []Choice `json:"choices"`
|
|
Usage Usage `json:"usage"`
|
|
ServiceTier string `json:"service_tier"`
|
|
}
|
|
type Choice struct {
|
|
Index int64 `json:"index"`
|
|
Message Message `json:"message"`
|
|
Delta Message `json:"delta"`
|
|
Logprobs interface{} `json:"logprobs"`
|
|
FinishReason string `json:"finish_reason"`
|
|
}
|
|
type Message struct {
|
|
Role string `json:"role"`
|
|
Content string `json:"content"`
|
|
Refusal interface{} `json:"refusal"`
|
|
Annotations []interface{} `json:"annotations"`
|
|
}
|
|
type Usage struct {
|
|
PromptTokens int64 `json:"prompt_tokens"`
|
|
CompletionTokens int64 `json:"completion_tokens"`
|
|
TotalTokens int64 `json:"total_tokens"`
|
|
PromptTokensDetails PromptTokensDetails `json:"prompt_tokens_details"`
|
|
CompletionTokensDetails CompletionTokensDetails `json:"completion_tokens_details"`
|
|
}
|
|
type CompletionTokensDetails struct {
|
|
ReasoningTokens int64 `json:"reasoning_tokens"`
|
|
AudioTokens int64 `json:"audio_tokens"`
|
|
AcceptedPredictionTokens int64 `json:"accepted_prediction_tokens"`
|
|
RejectedPredictionTokens int64 `json:"rejected_prediction_tokens"`
|
|
}
|
|
type PromptTokensDetails struct {
|
|
CachedTokens int64 `json:"cached_tokens"`
|
|
AudioTokens int64 `json:"audio_tokens"`
|
|
}
|