add ollama support

This commit is contained in:
Ramnique Singh 2025-11-19 01:03:43 +05:30
parent 51e29af12e
commit 13955b6829
5 changed files with 55 additions and 6 deletions

View file

@ -1,9 +1,10 @@
import { createOpenAI, OpenAIProvider } from "@ai-sdk/openai";
import { createGoogleGenerativeAI, GoogleGenerativeAIProvider } from "@ai-sdk/google";
import { AnthropicProvider, createAnthropic } from "@ai-sdk/anthropic";
import { OllamaProvider, createOllama } from "ollama-ai-provider-v2";
import { ModelConfig } from "../config/config.js";
const providerMap: Record<string, OpenAIProvider | GoogleGenerativeAIProvider | AnthropicProvider> = {};
const providerMap: Record<string, OpenAIProvider | GoogleGenerativeAIProvider | AnthropicProvider | OllamaProvider> = {};
export function getProvider(name: string = "") {
if (!name) {
@ -21,18 +22,27 @@ export function getProvider(name: string = "") {
providerMap[name] = createOpenAI({
apiKey: providerConfig.apiKey,
baseURL: providerConfig.baseURL,
headers: providerConfig.headers,
});
break;
case "anthropic":
providerMap[name] = createAnthropic({
apiKey: providerConfig.apiKey,
baseURL: providerConfig.baseURL,
headers: providerConfig.headers,
});
break;
case "google":
providerMap[name] = createGoogleGenerativeAI({
apiKey: providerConfig.apiKey,
baseURL: providerConfig.baseURL,
headers: providerConfig.headers,
});
break;
case "ollama":
providerMap[name] = createOllama({
baseURL: providerConfig.baseURL,
headers: providerConfig.headers,
});
break;
}