@@ -193,6 +193,8 @@ export function ChatNode({ id, data: initialData }: NodeProps) {
193
193
}
194
194
195
195
return selectedModel . provider === "openai" ? "https://api.openai.com/v1" :
196
+ selectedModel . provider === "deepseek" ? "https://api.deepseek.com/v1" :
197
+ selectedModel . provider === "perplexity" ? "https://api.perplexity.ai" :
196
198
selectedModel . provider === "xai" ? "https://api.x.ai/v1" :
197
199
selectedModel . provider === "groq" ? "https://api.groq.com/openai/v1" :
198
200
selectedModel . provider === "openrouter" ? "https://openrouter.ai/api/v1" :
@@ -243,6 +245,25 @@ export function ChatNode({ id, data: initialData }: NodeProps) {
243
245
return filteredSettings ;
244
246
}
245
247
248
+ function filterPerplexityAISettings ( settings : Partial < AISettings > ) {
249
+ const filteredSettings : Record < string , any > = { } ;
250
+
251
+ if ( settings . temperature !== DEFAULT_AI_SETTINGS . temperature ) {
252
+ filteredSettings . temperature = settings . temperature ;
253
+ }
254
+
255
+ if ( settings . top_p !== DEFAULT_AI_SETTINGS . top_p ) {
256
+ filteredSettings . top_p = settings . top_p ;
257
+ }
258
+
259
+ if ( settings . frequency_penalty !== DEFAULT_AI_SETTINGS . frequency_penalty ) {
260
+ filteredSettings . frequency_penalty = settings . frequency_penalty || 0.1 ;
261
+ }
262
+
263
+
264
+ return filteredSettings ;
265
+ }
266
+
246
267
const getApiKeyForModel = ( selectedModel : AIModel | CustomModel ) => {
247
268
if ( 'endpoint' in selectedModel ) {
248
269
// For custom models (like Ollama), check if auth is required
@@ -258,6 +279,8 @@ export function ChatNode({ id, data: initialData }: NodeProps) {
258
279
}
259
280
260
281
return selectedModel . provider === "xai" ? settings . xai ?. apiKey || "" :
282
+ selectedModel . provider === "perplexity" ? settings . perplexity ?. apiKey || "" :
283
+ selectedModel . provider === "deepseek" ? settings . deepseek ?. apiKey || "" :
261
284
selectedModel . provider === "groq" ? settings . groq ?. apiKey || "" :
262
285
selectedModel . provider === "openrouter" ? settings . openrouter ?. apiKey || "" :
263
286
selectedModel . provider === "anthropic" ? settings . anthropic ?. apiKey || "" :
@@ -356,7 +379,7 @@ export function ChatNode({ id, data: initialData }: NodeProps) {
356
379
357
380
let response ;
358
381
let result : any ;
359
-
382
+
360
383
if ( selectedModel . provider === "anthropic" ) {
361
384
const anthropic = new Anthropic ( {
362
385
apiKey : apiKey ,
0 commit comments