Code owners
Assign users and groups as approvers for specific file changes. Learn more.
deepseek.ts 911 B
import { getEnv } from "@llamaindex/env";
import { OpenAI } from "./openai.js";
export const DEEPSEEK_MODELS = {
"deepseek-coder": { contextWindow: 128000 },
"deepseek-chat": { contextWindow: 128000 },
};
type DeepSeekModelName = keyof typeof DEEPSEEK_MODELS;
const DEFAULT_MODEL: DeepSeekModelName = "deepseek-coder";
export class DeepSeekLLM extends OpenAI {
constructor(init?: Partial<OpenAI> & { model?: DeepSeekModelName }) {
const {
apiKey = getEnv("DEEPSEEK_API_KEY"),
additionalSessionOptions = {},
model = DEFAULT_MODEL,
...rest
} = init ?? {};
if (!apiKey) {
throw new Error("Set DeepSeek Key in DEEPSEEK_API_KEY env variable");
}
additionalSessionOptions.baseURL =
additionalSessionOptions.baseURL ?? "https://api.deepseek.com/v1";
super({
apiKey,
additionalSessionOptions,
model,
...rest,
});
}
}