From 42dd99bfac9777a4ecc6700b87edf26a5c984de6 Mon Sep 17 00:00:00 2001 From: polwex Date: Wed, 23 Jul 2025 02:37:15 +0700 Subject: checkpoint --- index.ts | 47 +++++++++++++++++++++++++++++++++++------------ 1 file changed, 35 insertions(+), 12 deletions(-) (limited to 'index.ts') diff --git a/index.ts b/index.ts index c2fc78e..83545f0 100644 --- a/index.ts +++ b/index.ts @@ -1,13 +1,36 @@ -import openai from "./src/openai"; -import claude from "./src/claude"; -import gemini from "./src/gemini"; -import generic from "./src/model"; -import type { ChatMessage } from "./src/types"; +// import Openai from "./src/openai"; +import Claude from "./src/claude"; +import Gemini from "./src/gemini"; +import Generic from "./src/generic"; +import type { AIModelAPI, AIModelChoice } from "./src/types"; -export { - openai as OpenAI, - claude as Claude, - gemini as Gemini, - generic as Model, -}; -export type { ChatMessage }; +export type * from "./src/types"; +export * as NLP from "./src/nlp"; + +export default function (choice: AIModelChoice): AIModelAPI { + const api = + "other" in choice + ? new Generic(choice.other) + : choice.name === "deepseek" + ? new Generic({ + baseURL: "https://api.deepseek.com", + apiKey: Bun.env.DEEPSEEK_API_KEY!, + model: "deepseek-chat", + }) + : choice.name === "grok" + ? new Generic({ + baseURL: "https://api.x.ai/v1", + apiKey: Bun.env.GROK_API_KEY!, + model: "grok-2-latest", + }) + : choice.name === "chatgpt" + ? new Generic({ + baseURL: "https://api.openai.com/v1", + apiKey: Bun.env.OPENAI_API_KEY!, + model: "gpt-4o", + }) + : choice.name === "claude" + ? new Claude() + : new Gemini(); + return api; +} -- cgit v1.2.3