Merge pull request #1214 from tcriess/perplexity

add ai-sdk/perplexity provider
This commit is contained in:
Daniel
2025-10-04 03:52:06 -04:00
committed by GitHub
5 changed files with 15 additions and 3 deletions

View File

@@ -68,6 +68,10 @@ ANTHROPIC_MODEL=
OPENROUTER_API_KEY=
OPENROUTER_MODEL=
# https://ai-sdk.dev/providers/ai-sdk-providers/perplexity
PERPLEXITY_API_KEY=
PERPLEXITY_MODEL=
# MeiliSearch Settings
MEILI_HOST=
MEILI_MASTER_KEY=

View File

@@ -11,7 +11,8 @@ export const getEnvData = () => {
process.env.OPENAI_API_KEY ||
process.env.AZURE_API_KEY ||
process.env.ANTHROPIC_API_KEY ||
process.env.OPENROUTER_API_KEY
process.env.OPENROUTER_API_KEY ||
process.env.PERPLEXITY_API_KEY
);
return {

View File

@@ -46,7 +46,8 @@ export default async function archiveHandler(
process.env.OPENAI_API_KEY ||
process.env.AZURE_API_KEY ||
process.env.ANTHROPIC_API_KEY ||
process.env.OPENROUTER_API_KEY)
process.env.OPENROUTER_API_KEY ||
process.env.PERPLEXITY_API_KEY)
? true
: undefined,
},
@@ -152,7 +153,8 @@ export default async function archiveHandler(
process.env.OPENAI_API_KEY ||
process.env.AZURE_API_KEY ||
process.env.ANTHROPIC_API_KEY ||
process.env.OPENROUTER_API_KEY)
process.env.OPENROUTER_API_KEY ||
process.env.PERPLEXITY_API_KEY)
) {
await autoTagLink(user, link.id, metaDescription);
}

View File

@@ -10,6 +10,7 @@ import {
createOpenAICompatible,
OpenAICompatibleProviderSettings,
} from "@ai-sdk/openai-compatible";
import { perplexity } from "@ai-sdk/perplexity";
import { azure } from "@ai-sdk/azure";
import { z } from "zod";
import { anthropic } from "@ai-sdk/anthropic";
@@ -61,6 +62,9 @@ const getAIModel = (): LanguageModelV1 => {
return openrouter(process.env.OPENROUTER_MODEL) as LanguageModelV1;
}
if (process.env.PERPLEXITY_API_KEY) {
return perplexity(process.env.PERPLEXITY_MODEL || "sonar-pro");
}
throw new Error("No AI provider configured");
};

View File

@@ -12,6 +12,7 @@
"@ai-sdk/anthropic": "1.1.5",
"@ai-sdk/azure": "1.1.5",
"@ai-sdk/openai-compatible": "^0.2.13",
"@ai-sdk/perplexity": "1.1.9",
"@linkwarden/filesystem": "*",
"@linkwarden/lib": "*",
"@linkwarden/prisma": "*",