1package models
2
3const (
4 ProviderCopilot ModelProvider = "copilot"
5
6 // GitHub Copilot models
7 CopilotGTP35Turbo ModelID = "copilot.gpt-3.5-turbo"
8 CopilotGPT4o ModelID = "copilot.gpt-4o"
9 CopilotGPT4oMini ModelID = "copilot.gpt-4o-mini"
10 CopilotGPT41 ModelID = "copilot.gpt-4.1"
11 CopilotClaude35 ModelID = "copilot.claude-3.5-sonnet"
12 CopilotClaude37 ModelID = "copilot.claude-3.7-sonnet"
13 CopilotClaude4 ModelID = "copilot.claude-sonnet-4"
14 CopilotO1 ModelID = "copilot.o1"
15 CopilotO3Mini ModelID = "copilot.o3-mini"
16 CopilotO4Mini ModelID = "copilot.o4-mini"
17 CopilotGemini20 ModelID = "copilot.gemini-2.0-flash"
18 CopilotGemini25 ModelID = "copilot.gemini-2.5-pro"
19 CopilotGPT4 ModelID = "copilot.gpt-4"
20 CopilotClaude37Thought ModelID = "copilot.claude-3.7-sonnet-thought"
21)
22
23var CopilotAnthropicModels = []ModelID{
24 CopilotClaude35,
25 CopilotClaude37,
26 CopilotClaude37Thought,
27 CopilotClaude4,
28}
29
30// GitHub Copilot models available through GitHub's API
31var CopilotModels = map[ModelID]Model{
32 CopilotGTP35Turbo: {
33 ID: CopilotGTP35Turbo,
34 Name: "GitHub Copilot GPT-3.5-turbo",
35 Provider: ProviderCopilot,
36 APIModel: "gpt-3.5-turbo",
37 CostPer1MIn: 0.0, // Included in GitHub Copilot subscription
38 CostPer1MInCached: 0.0,
39 CostPer1MOutCached: 0.0,
40 CostPer1MOut: 0.0,
41 ContextWindow: 16_384,
42 DefaultMaxTokens: 4096,
43 SupportsAttachments: true,
44 },
45 CopilotGPT4o: {
46 ID: CopilotGPT4o,
47 Name: "GitHub Copilot GPT-4o",
48 Provider: ProviderCopilot,
49 APIModel: "gpt-4o",
50 CostPer1MIn: 0.0, // Included in GitHub Copilot subscription
51 CostPer1MInCached: 0.0,
52 CostPer1MOutCached: 0.0,
53 CostPer1MOut: 0.0,
54 ContextWindow: 128_000,
55 DefaultMaxTokens: 16384,
56 SupportsAttachments: true,
57 },
58 CopilotGPT4oMini: {
59 ID: CopilotGPT4oMini,
60 Name: "GitHub Copilot GPT-4o Mini",
61 Provider: ProviderCopilot,
62 APIModel: "gpt-4o-mini",
63 CostPer1MIn: 0.0, // Included in GitHub Copilot subscription
64 CostPer1MInCached: 0.0,
65 CostPer1MOutCached: 0.0,
66 CostPer1MOut: 0.0,
67 ContextWindow: 128_000,
68 DefaultMaxTokens: 4096,
69 SupportsAttachments: true,
70 },
71 CopilotGPT41: {
72 ID: CopilotGPT41,
73 Name: "GitHub Copilot GPT-4.1",
74 Provider: ProviderCopilot,
75 APIModel: "gpt-4.1",
76 CostPer1MIn: 0.0, // Included in GitHub Copilot subscription
77 CostPer1MInCached: 0.0,
78 CostPer1MOutCached: 0.0,
79 CostPer1MOut: 0.0,
80 ContextWindow: 128_000,
81 DefaultMaxTokens: 16384,
82 CanReason: true,
83 SupportsAttachments: true,
84 },
85 CopilotClaude35: {
86 ID: CopilotClaude35,
87 Name: "GitHub Copilot Claude 3.5 Sonnet",
88 Provider: ProviderCopilot,
89 APIModel: "claude-3.5-sonnet",
90 CostPer1MIn: 0.0, // Included in GitHub Copilot subscription
91 CostPer1MInCached: 0.0,
92 CostPer1MOutCached: 0.0,
93 CostPer1MOut: 0.0,
94 ContextWindow: 90_000,
95 DefaultMaxTokens: 8192,
96 SupportsAttachments: true,
97 },
98 CopilotClaude37: {
99 ID: CopilotClaude37,
100 Name: "GitHub Copilot Claude 3.7 Sonnet",
101 Provider: ProviderCopilot,
102 APIModel: "claude-3.7-sonnet",
103 CostPer1MIn: 0.0, // Included in GitHub Copilot subscription
104 CostPer1MInCached: 0.0,
105 CostPer1MOutCached: 0.0,
106 CostPer1MOut: 0.0,
107 ContextWindow: 200_000,
108 DefaultMaxTokens: 16384,
109 SupportsAttachments: true,
110 },
111 CopilotClaude4: {
112 ID: CopilotClaude4,
113 Name: "GitHub Copilot Claude Sonnet 4",
114 Provider: ProviderCopilot,
115 APIModel: "claude-sonnet-4",
116 CostPer1MIn: 0.0, // Included in GitHub Copilot subscription
117 CostPer1MInCached: 0.0,
118 CostPer1MOutCached: 0.0,
119 CostPer1MOut: 0.0,
120 ContextWindow: 128_000,
121 DefaultMaxTokens: 16000,
122 SupportsAttachments: true,
123 },
124 CopilotO1: {
125 ID: CopilotO1,
126 Name: "GitHub Copilot o1",
127 Provider: ProviderCopilot,
128 APIModel: "o1",
129 CostPer1MIn: 0.0, // Included in GitHub Copilot subscription
130 CostPer1MInCached: 0.0,
131 CostPer1MOutCached: 0.0,
132 CostPer1MOut: 0.0,
133 ContextWindow: 200_000,
134 DefaultMaxTokens: 100_000,
135 CanReason: true,
136 SupportsAttachments: false,
137 },
138 CopilotO3Mini: {
139 ID: CopilotO3Mini,
140 Name: "GitHub Copilot o3-mini",
141 Provider: ProviderCopilot,
142 APIModel: "o3-mini",
143 CostPer1MIn: 0.0, // Included in GitHub Copilot subscription
144 CostPer1MInCached: 0.0,
145 CostPer1MOutCached: 0.0,
146 CostPer1MOut: 0.0,
147 ContextWindow: 200_000,
148 DefaultMaxTokens: 100_000,
149 CanReason: true,
150 SupportsAttachments: false,
151 },
152 CopilotO4Mini: {
153 ID: CopilotO4Mini,
154 Name: "GitHub Copilot o4-mini",
155 Provider: ProviderCopilot,
156 APIModel: "o4-mini",
157 CostPer1MIn: 0.0, // Included in GitHub Copilot subscription
158 CostPer1MInCached: 0.0,
159 CostPer1MOutCached: 0.0,
160 CostPer1MOut: 0.0,
161 ContextWindow: 128_000,
162 DefaultMaxTokens: 16_384,
163 CanReason: true,
164 SupportsAttachments: true,
165 },
166 CopilotGemini20: {
167 ID: CopilotGemini20,
168 Name: "GitHub Copilot Gemini 2.0 Flash",
169 Provider: ProviderCopilot,
170 APIModel: "gemini-2.0-flash-001",
171 CostPer1MIn: 0.0, // Included in GitHub Copilot subscription
172 CostPer1MInCached: 0.0,
173 CostPer1MOutCached: 0.0,
174 CostPer1MOut: 0.0,
175 ContextWindow: 1_000_000,
176 DefaultMaxTokens: 8192,
177 SupportsAttachments: true,
178 },
179 CopilotGemini25: {
180 ID: CopilotGemini25,
181 Name: "GitHub Copilot Gemini 2.5 Pro",
182 Provider: ProviderCopilot,
183 APIModel: "gemini-2.5-pro",
184 CostPer1MIn: 0.0, // Included in GitHub Copilot subscription
185 CostPer1MInCached: 0.0,
186 CostPer1MOutCached: 0.0,
187 CostPer1MOut: 0.0,
188 ContextWindow: 128_000,
189 DefaultMaxTokens: 64000,
190 SupportsAttachments: true,
191 },
192 CopilotGPT4: {
193 ID: CopilotGPT4,
194 Name: "GitHub Copilot GPT-4",
195 Provider: ProviderCopilot,
196 APIModel: "gpt-4",
197 CostPer1MIn: 0.0, // Included in GitHub Copilot subscription
198 CostPer1MInCached: 0.0,
199 CostPer1MOutCached: 0.0,
200 CostPer1MOut: 0.0,
201 ContextWindow: 32_768,
202 DefaultMaxTokens: 4096,
203 SupportsAttachments: true,
204 },
205 CopilotClaude37Thought: {
206 ID: CopilotClaude37Thought,
207 Name: "GitHub Copilot Claude 3.7 Sonnet Thinking",
208 Provider: ProviderCopilot,
209 APIModel: "claude-3.7-sonnet-thought",
210 CostPer1MIn: 0.0, // Included in GitHub Copilot subscription
211 CostPer1MInCached: 0.0,
212 CostPer1MOutCached: 0.0,
213 CostPer1MOut: 0.0,
214 ContextWindow: 200_000,
215 DefaultMaxTokens: 16384,
216 CanReason: true,
217 SupportsAttachments: true,
218 },
219}