|
109 | 109 | provider-config (get-in config [:providers provider]) |
110 | 110 | model-config (get-in provider-config [:models model]) |
111 | 111 | extra-payload (:extraPayload model-config) |
112 | | - provider-api-key (provider-api-key provider provider-auth config) |
113 | | - provider-api-url (provider-api-url provider config) |
| 112 | + api-key (provider-api-key provider provider-auth config) |
| 113 | + api-url (provider-api-url provider config) |
114 | 114 | provider-auth-type (:type provider-auth) |
115 | 115 | callbacks {:on-message-received on-message-received-wrapper |
116 | 116 | :on-error on-error-wrapper |
|
119 | 119 | :on-reason on-reason-wrapper |
120 | 120 | :on-usage-updated on-usage-updated}] |
121 | 121 | (try |
| 122 | + (when-not api-url (throw (ex-info (format "API url not found.\nMake sure you have provider '%s' configured properly." provider) {}))) |
122 | 123 | (cond |
123 | 124 | (= "openai" provider) |
124 | 125 | (llm-providers.openai/completion! |
|
131 | 132 | :tools tools |
132 | 133 | :web-search web-search |
133 | 134 | :extra-payload extra-payload |
134 | | - :api-url provider-api-url |
135 | | - :api-key provider-api-key} |
| 135 | + :api-url api-url |
| 136 | + :api-key api-key} |
136 | 137 | callbacks) |
137 | 138 |
|
138 | 139 | (= "anthropic" provider) |
|
146 | 147 | :tools tools |
147 | 148 | :web-search web-search |
148 | 149 | :extra-payload extra-payload |
149 | | - :api-url provider-api-url |
150 | | - :api-key provider-api-key |
| 150 | + :api-url api-url |
| 151 | + :api-key api-key |
151 | 152 | :auth-type provider-auth-type} |
152 | 153 | callbacks) |
153 | 154 |
|
|
161 | 162 | :past-messages past-messages |
162 | 163 | :tools tools |
163 | 164 | :extra-payload extra-payload |
164 | | - :api-url provider-api-url |
165 | | - :api-key provider-api-key |
| 165 | + :api-url api-url |
| 166 | + :api-key api-key |
166 | 167 | :extra-headers {"openai-intent" "conversation-panel" |
167 | 168 | "x-request-id" (str (random-uuid)) |
168 | 169 | "vscode-sessionid" "" |
|
172 | 173 |
|
173 | 174 | (= "ollama" provider) |
174 | 175 | (llm-providers.ollama/completion! |
175 | | - {:api-url provider-api-url |
| 176 | + {:api-url api-url |
176 | 177 | :reason? (:reason? model-capabilities) |
177 | 178 | :model model |
178 | 179 | :instructions instructions |
|
200 | 201 | :tools tools |
201 | 202 | :extra-payload extra-payload |
202 | 203 | :url-relative-path url-relative-path |
203 | | - :api-url provider-api-url |
204 | | - :api-key provider-api-key} |
| 204 | + :api-url api-url |
| 205 | + :api-key api-key} |
205 | 206 | callbacks)) |
206 | 207 |
|
207 | 208 | :else |
|
0 commit comments