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