| 12345678910111213141516171819202122232425262728293031323334353637 |
- import { apiClient } from './apiClient';
- export interface ChunkConfigLimits {
- maxChunkSize: number; // Max chunk size (tokens)
- maxOverlapSize: number; // Max overlap size (tokens)
- minOverlapSize: number; // Min overlap size (tokens)
- defaultChunkSize: number; // Default chunk size
- defaultOverlapSize: number; // Default overlap size
- modelInfo: EmbeddingModelLimit; // Model info
- }
- export interface EmbeddingModelLimit {
- name: string; // Model name
- maxInputTokens: number; // Model input limit
- maxBatchSize: number; // Model batch limit
- expectedDimensions: number; // Expected vector dimensions
- }
- export const chunkConfigService = {
-
- formatLimits(limits: ChunkConfigLimits): string {
- return [
- `Model: ${limits.modelInfo.name}`,
- `Max Chunk: ${limits.maxChunkSize} tokens`,
- `Max Overlap: ${limits.maxOverlapSize} tokens`,
- `Batch Limit: ${limits.modelInfo.maxBatchSize}`,
- `Vector Dimensions: ${limits.modelInfo.expectedDimensions}`,
- ].join(' | ');
- },
- async getLimits(embeddingModelId: string, token?: string): Promise<ChunkConfigLimits> {
- const response = await apiClient.get<ChunkConfigLimits>(
- `/knowledge-bases/chunk-config/limits?embeddingModelId=${embeddingModelId}`
- );
- return response.data;
- },
- };
|