Files
aurak/server/src/types.ts
T
Developer 0a9588abb7 feat: implement QuestionBank CRUD with pagination and template query
- Add pagination support to findAll (page, limit query params)
- Add findByTemplateId method to service
- Add GET /by-template/:templateId endpoint to controller
- Service already includes CRUD for QuestionBank and QuestionBankItem
2026-04-23 17:19:11 +08:00

57 lines
1.3 KiB
TypeScript

// server/src/types.ts
export enum ModelType {
LLM = 'llm',
EMBEDDING = 'embedding',
RERANK = 'rerank',
VISION = 'vision',
}
// 1. Model Definition (The "Provider" setup)
export interface ModelConfig {
id: string;
name: string; // Display name, e.g. "My DeepSeek"
modelId: string; // The actual string ID sent to API, e.g., "deepseek-chat"
baseUrl?: string; // Base URL for OpenAI compatible API
apiKey?: string; // API key for the service
type: ModelType;
dimensions?: number;
supportsVision?: boolean;
maxInputTokens?: number;
maxBatchSize?: number;
isVectorModel?: boolean;
providerName?: string;
isEnabled?: boolean;
isDefault?: boolean;
}
// 2. Application Logic Settings (The "App" setup)
export interface AppSettings {
// References to ModelConfig IDs
selectedLLMId: string;
selectedEmbeddingId: string; // Default for new uploads, and used for query encoding
selectedRerankId: string;
// Model Hyperparameters
temperature: number;
maxTokens: number;
// Retrieval
enableRerank: boolean;
topK: number;
similarityThreshold: number;
rerankSimilarityThreshold: number;
enableFullTextSearch: boolean;
hybridVectorWeight: number;
// Search Enhancement
enableQueryExpansion: boolean;
enableHyDE: boolean;
chunkSize: number;
chunkOverlap: number;
// Language
language: string;
}