@lobehub/chat
Version:
Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.
48 lines (39 loc) • 1.38 kB
text/typescript
import { ModelProvider } from 'model-bank';
import {
OpenAICompatibleFactoryOptions,
createOpenAICompatibleRuntime,
} from '../../core/openaiCompatibleFactory';
import { processMultiProviderModelList } from '../../utils/modelParse';
const THINKING_MODELS = new Set(['deepseek-ai/deepseek-v3.1', 'deepseek-ai/deepseek-v3.1-terminus']);
export interface NvidiaModelCard {
id: string;
}
export const params = {
baseURL: 'https://integrate.api.nvidia.com/v1',
chatCompletion: {
handlePayload: (payload) => {
const { model, thinking, ...rest } = payload;
const thinkingFlag =
thinking?.type === 'enabled' ? true : thinking?.type === 'disabled' ? false : undefined;
return {
...rest,
model,
...(THINKING_MODELS.has(model)
? {
chat_template_kwargs: { thinking: thinkingFlag },
}
: {}),
} as any;
},
},
debug: {
chatCompletion: () => process.env.DEBUG_NVIDIA_CHAT_COMPLETION === '1',
},
models: async ({ client }) => {
const modelsPage = (await client.models.list()) as any;
const modelList: NvidiaModelCard[] = modelsPage.data;
return processMultiProviderModelList(modelList, 'nvidia');
},
provider: ModelProvider.Nvidia,
} satisfies OpenAICompatibleFactoryOptions;
export const LobeNvidiaAI = createOpenAICompatibleRuntime(params);