constants.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. export const DEFAULT_CHUNK_SIZE = 200;
  2. export const MIN_CHUNK_SIZE = 50;
  3. export const MAX_CHUNK_SIZE = 8191;
  4. export const DEFAULT_CHUNK_OVERLAP = 40;
  5. export const MIN_CHUNK_OVERLAP = 25;
  6. export const DEFAULT_MAX_OVERLAP_RATIO = 0.5;
  7. export const DEFAULT_VECTOR_DIMENSIONS = 1536;
  8. // File size limit (バイト)
  9. export const MAX_FILE_SIZE = 100 * 1024 * 1024; // 100MB
  10. export const DEFAULT_MAX_BATCH_SIZE = 2048;
  11. // Supported languages
  12. const SUPPORTED_LANGUAGES = ['zh', 'en', 'ja'] as const;
  13. /**
  14. * Get the default language from the environment variable.
  15. * Fallback to 'en' (English) if not set or invalid.
  16. */
  17. function getDefaultLanguage(): (typeof SUPPORTED_LANGUAGES)[number] {
  18. const envValue = process.env.DEFAULT_LANGUAGE?.toLowerCase();
  19. // Validate: must be one of supported languages
  20. if (
  21. envValue &&
  22. SUPPORTED_LANGUAGES.includes(envValue as (typeof SUPPORTED_LANGUAGES)[number])
  23. ) {
  24. return envValue as (typeof SUPPORTED_LANGUAGES)[number];
  25. }
  26. // Fallback to English if not set or invalid
  27. return 'en';
  28. }
  29. // Default language - read from env, fallback to English
  30. export const DEFAULT_LANGUAGE = getDefaultLanguage();
  31. export const DEFAULT_LANGUAGE_FALLBACK = 'en';
  32. // システム全体の共通テナントID(シードデータetc.で使用)
  33. export const GLOBAL_TENANT_ID = '00000000-0000-0000-0000-000000000000';