Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | 2x 2x 1x 2x 1x 2x 3x 3x 1x 1x 1x 3x 3x | import { ModelRegistry } from "../../models/ModelRegistry.js";
import { PricingRegistry } from "../../models/PricingRegistry.js";
import { ModelPricing } from "../../models/types.js";
export class Capabilities {
static getCapabilities(modelId: string): string[] {
const caps = ["streaming"];
if (/deepseek-chat/.test(modelId)) {
caps.push("function_calling");
}
if (/deepseek-reasoner/.test(modelId)) {
caps.push("reasoning");
}
return caps;
}
static getContextWindow(modelId: string): number | null {
const val = ModelRegistry.getContextWindow(modelId, "deepseek");
if (val) return val;
Iif (/deepseek-(?:chat|reasoner)/.test(modelId)) {
return 128_000;
}
return 32_768;
}
static getMaxOutputTokens(modelId: string): number | null {
if (/deepseek-(?:chat|reasoner)/.test(modelId)) {
return 8_192;
}
return 4_096;
}
static supportsVision(_modelId: string): boolean {
return false;
}
static supportsTools(modelId: string): boolean {
return /deepseek-chat/.test(modelId);
}
static supportsStructuredOutput(modelId: string): boolean {
return /deepseek-(?:chat|reasoner)/.test(modelId);
}
static supportsEmbeddings(_modelId: string): boolean {
return false;
}
static supportsImageGeneration(_modelId: string): boolean {
return false;
}
static supportsTranscription(_modelId: string): boolean {
return false;
}
static supportsModeration(_modelId: string): boolean {
return false;
}
static supportsReasoning(modelId: string): boolean {
return /deepseek-reasoner/.test(modelId);
}
static getPricing(modelId: string): ModelPricing | undefined {
return PricingRegistry.getPricing(modelId, "deepseek");
}
}
|