Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
kardolus
GitHub Repository: kardolus/chatgpt-cli
Path: blob/main/api/responses.go
2649 views
1
package api
2
3
type ResponsesRequest struct {
4
Model string `json:"model"`
5
Input []Message `json:"input"`
6
MaxOutputTokens int `json:"max_output_tokens"`
7
Reasoning Reasoning `json:"reasoning"`
8
Stream bool `json:"stream"`
9
Temperature float64 `json:"temperature,omitempty"`
10
TopP float64 `json:"top_p,omitempty"`
11
}
12
13
type Reasoning struct {
14
Effort string `json:"effort"`
15
}
16
17
type ResponsesResponse struct {
18
ID string `json:"id"`
19
Object string `json:"object"`
20
CreatedAt int `json:"created_at"`
21
Status string `json:"status"`
22
Error any `json:"error"`
23
IncompleteDetails any `json:"incomplete_details"`
24
Instructions any `json:"instructions"`
25
MaxOutputTokens int `json:"max_output_tokens"`
26
Model string `json:"model"`
27
Output []Output `json:"output"`
28
ParallelToolCalls bool `json:"parallel_tool_calls"`
29
PreviousResponseID any `json:"previous_response_id"`
30
Reasoning struct {
31
Effort string `json:"effort"`
32
GenerateSummary any `json:"generate_summary"`
33
} `json:"reasoning"`
34
Store bool `json:"store"`
35
Temperature float64 `json:"temperature"`
36
Text struct {
37
Format struct {
38
Type string `json:"type"`
39
} `json:"format"`
40
} `json:"text"`
41
ToolChoice string `json:"tool_choice"`
42
Tools []any `json:"tools"`
43
TopP float64 `json:"top_p"`
44
Truncation string `json:"truncation"`
45
Usage TokenUsage `json:"usage"`
46
User any `json:"user"`
47
Metadata struct {
48
} `json:"metadata"`
49
}
50
51
type TokenUsage struct {
52
InputTokens int `json:"input_tokens"`
53
InputTokensDetails struct {
54
CachedTokens int `json:"cached_tokens"`
55
} `json:"input_tokens_details"`
56
OutputTokens int `json:"output_tokens"`
57
OutputTokensDetails struct {
58
ReasoningTokens int `json:"reasoning_tokens"`
59
} `json:"output_tokens_details"`
60
TotalTokens int `json:"total_tokens"`
61
}
62
63
type Output struct {
64
ID string `json:"id"`
65
Type string `json:"type"`
66
Summary []any `json:"summary,omitempty"`
67
Status string `json:"status,omitempty"`
68
Content []Content `json:"content,omitempty"`
69
Role string `json:"role,omitempty"`
70
}
71
72
type Content struct {
73
Type string `json:"type"`
74
Annotations []any `json:"annotations"`
75
Text string `json:"text"`
76
}
77
78