gitextract_cydaglf7/ ├── .dockerignore ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── feature-or-enhancement-.md │ │ └── question.md │ ├── PULL_REQUEST_TEMPLATE.md │ └── workflows/ │ └── docker-build.yml ├── .gitignore ├── .husky/ │ ├── commit-msg │ └── pre-commit ├── .npmrc ├── .prettierrc.js ├── .windsurfrules ├── AGENTS.md ├── ARCHITECTURE.md ├── Dockerfile ├── LICENSE ├── README.md ├── README.tr.md ├── README.zh-CN.md ├── app/ │ ├── api/ │ │ ├── check-update/ │ │ │ └── route.js │ │ ├── llm/ │ │ │ ├── fetch-models/ │ │ │ │ └── route.js │ │ │ ├── model/ │ │ │ │ └── route.js │ │ │ ├── ollama/ │ │ │ │ └── models/ │ │ │ │ └── route.js │ │ │ └── providers/ │ │ │ └── route.js │ │ ├── monitoring/ │ │ │ ├── logs/ │ │ │ │ └── route.js │ │ │ ├── stats/ │ │ │ │ └── route.js │ │ │ └── summary/ │ │ │ └── route.js │ │ ├── projects/ │ │ │ ├── [projectId]/ │ │ │ │ ├── batch-add-manual-ga/ │ │ │ │ │ └── route.js │ │ │ │ ├── batch-delete-files/ │ │ │ │ │ └── route.js │ │ │ │ ├── batch-generateGA/ │ │ │ │ │ └── route.js │ │ │ │ ├── blind-test-tasks/ │ │ │ │ │ ├── [taskId]/ │ │ │ │ │ │ ├── current/ │ │ │ │ │ │ │ └── route.js │ │ │ │ │ │ ├── question/ │ │ │ │ │ │ │ └── route.js │ │ │ │ │ │ ├── route.js │ │ │ │ │ │ ├── stream/ │ │ │ │ │ │ │ └── route.js │ │ │ │ │ │ ├── stream-model/ │ │ │ │ │ │ │ └── route.js │ │ │ │ │ │ └── vote/ │ │ │ │ │ │ └── route.js │ │ │ │ │ └── route.js │ │ │ │ ├── chunks/ │ │ │ │ │ ├── [chunkId]/ │ │ │ │ │ │ ├── clean/ │ │ │ │ │ │ │ └── route.js │ │ │ │ │ │ ├── eval-questions/ │ │ │ │ │ │ │ └── route.js │ │ │ │ │ │ ├── questions/ │ │ │ │ │ │ │ └── route.js │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── batch-content/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── batch-edit/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── name/ │ │ │ │ │ │ └── route.js │ │ │ │ │ └── route.js │ │ │ │ ├── config/ │ │ │ │ │ └── route.js │ │ │ │ ├── custom-prompts/ │ │ │ │ │ └── route.js │ │ │ │ ├── custom-split/ │ │ │ │ │ └── route.js │ │ │ │ ├── dataset-conversations/ │ │ │ │ │ ├── [conversationId]/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── export/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── route.js │ │ │ │ │ └── tags/ │ │ │ │ │ └── route.js │ │ │ │ ├── datasets/ │ │ │ │ │ ├── [datasetId]/ │ │ │ │ │ │ ├── copy-to-eval/ │ │ │ │ │ │ │ └── route.js │ │ │ │ │ │ ├── evaluate/ │ │ │ │ │ │ │ └── route.js │ │ │ │ │ │ ├── route.js │ │ │ │ │ │ └── token-count/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── batch-evaluate/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── export/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── generate-eval-variant/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── import/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── optimize/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── route.js │ │ │ │ │ └── tags/ │ │ │ │ │ └── route.js │ │ │ │ ├── default-prompts/ │ │ │ │ │ └── route.js │ │ │ │ ├── distill/ │ │ │ │ │ ├── questions/ │ │ │ │ │ │ ├── by-tag/ │ │ │ │ │ │ │ └── route.js │ │ │ │ │ │ └── route.js │ │ │ │ │ └── tags/ │ │ │ │ │ ├── [tagId]/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── all/ │ │ │ │ │ │ └── route.js │ │ │ │ │ └── route.js │ │ │ │ ├── eval-datasets/ │ │ │ │ │ ├── [evalId]/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── count/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── export/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── import/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── route.js │ │ │ │ │ ├── sample/ │ │ │ │ │ │ └── route.js │ │ │ │ │ └── tags/ │ │ │ │ │ └── route.js │ │ │ │ ├── eval-tasks/ │ │ │ │ │ ├── [taskId]/ │ │ │ │ │ │ └── route.js │ │ │ │ │ └── route.js │ │ │ │ ├── files/ │ │ │ │ │ ├── [fileId]/ │ │ │ │ │ │ └── ga-pairs/ │ │ │ │ │ │ └── route.js │ │ │ │ │ └── route.js │ │ │ │ ├── generate-questions/ │ │ │ │ │ └── route.js │ │ │ │ ├── huggingface/ │ │ │ │ │ └── upload/ │ │ │ │ │ └── route.js │ │ │ │ ├── image-datasets/ │ │ │ │ │ ├── [datasetId]/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── export/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── export-zip/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── route.js │ │ │ │ │ └── tags/ │ │ │ │ │ └── route.js │ │ │ │ ├── images/ │ │ │ │ │ ├── [imageId]/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── annotations/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── datasets/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── next-unanswered/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── pdf-convert/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── questions/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── route.js │ │ │ │ │ └── zip-import/ │ │ │ │ │ └── route.js │ │ │ │ ├── llamaFactory/ │ │ │ │ │ ├── checkConfig/ │ │ │ │ │ │ └── route.js │ │ │ │ │ └── generate/ │ │ │ │ │ └── route.js │ │ │ │ ├── model-config/ │ │ │ │ │ ├── [modelConfigId]/ │ │ │ │ │ │ └── route.js │ │ │ │ │ └── route.js │ │ │ │ ├── models/ │ │ │ │ │ ├── [modelId]/ │ │ │ │ │ │ └── route.js │ │ │ │ │ └── route.js │ │ │ │ ├── playground/ │ │ │ │ │ └── chat/ │ │ │ │ │ ├── route.js │ │ │ │ │ └── stream/ │ │ │ │ │ └── route.js │ │ │ │ ├── preview/ │ │ │ │ │ └── [fileId]/ │ │ │ │ │ └── route.js │ │ │ │ ├── questions/ │ │ │ │ │ ├── [questionId]/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── batch-delete/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── export/ │ │ │ │ │ │ └── route.js │ │ │ │ │ ├── route.js │ │ │ │ │ ├── templates/ │ │ │ │ │ │ ├── [templateId]/ │ │ │ │ │ │ │ └── route.js │ │ │ │ │ │ └── route.js │ │ │ │ │ └── tree/ │ │ │ │ │ └── route.js │ │ │ │ ├── route.js │ │ │ │ ├── split/ │ │ │ │ │ └── route.js │ │ │ │ ├── tags/ │ │ │ │ │ └── route.js │ │ │ │ └── tasks/ │ │ │ │ ├── [taskId]/ │ │ │ │ │ └── route.js │ │ │ │ ├── list/ │ │ │ │ │ └── route.js │ │ │ │ └── route.js │ │ │ ├── delete-directory/ │ │ │ │ └── route.js │ │ │ ├── migrate/ │ │ │ │ └── route.js │ │ │ ├── open-directory/ │ │ │ │ └── route.js │ │ │ ├── route.js │ │ │ └── unmigrated/ │ │ │ └── route.js │ │ └── update/ │ │ └── route.js │ ├── dataset-square/ │ │ └── page.js │ ├── globals.css │ ├── layout.js │ ├── monitoring/ │ │ ├── components/ │ │ │ ├── Charts.js │ │ │ ├── StatsCards.js │ │ │ └── UsageTable.js │ │ ├── hooks/ │ │ │ └── useMonitoringData.js │ │ └── page.js │ ├── page.js │ └── projects/ │ └── [projectId]/ │ ├── blind-test-tasks/ │ │ ├── [taskId]/ │ │ │ └── page.js │ │ ├── components/ │ │ │ ├── BlindTestHeader.js │ │ │ ├── BlindTestInProgress.js │ │ │ ├── BlindTestTaskCard.js │ │ │ ├── CreateBlindTestDialog.js │ │ │ ├── ResultDetailList.js │ │ │ └── ResultSummary.js │ │ ├── hooks/ │ │ │ ├── useBlindTestDetail.js │ │ │ └── useBlindTestTasks.js │ │ └── page.js │ ├── datasets/ │ │ ├── [datasetId]/ │ │ │ ├── page.js │ │ │ └── useDatasetDetails.js │ │ ├── components/ │ │ │ ├── ActionBar.js │ │ │ ├── DatasetList.js │ │ │ ├── DeleteConfirmDialog.js │ │ │ ├── FilterDialog.js │ │ │ └── SearchBar.js │ │ ├── hooks/ │ │ │ ├── useDatasetEvaluation.js │ │ │ ├── useDatasetExport.js │ │ │ └── useDatasetFilters.js │ │ └── page.js │ ├── distill/ │ │ ├── autoDistillService.js │ │ └── page.js │ ├── eval-datasets/ │ │ ├── [evalId]/ │ │ │ ├── page.js │ │ │ └── useEvalDatasetDetails.js │ │ ├── components/ │ │ │ ├── BuiltinDatasetDialog.js │ │ │ ├── EvalDatasetCard.js │ │ │ ├── EvalDatasetHeader.js │ │ │ ├── EvalDatasetList.js │ │ │ ├── EvalEditableField.js │ │ │ ├── EvalToolbar.js │ │ │ ├── EvalToolbar.styles.js │ │ │ ├── ExportEvalDialog.js │ │ │ ├── ImportDialog.js │ │ │ └── ImportDialog.styles.js │ │ ├── constants.js │ │ ├── hooks/ │ │ │ ├── useEvalDatasets.js │ │ │ └── useExportEvalDatasets.js │ │ └── page.js │ ├── eval-tasks/ │ │ ├── [taskId]/ │ │ │ ├── components/ │ │ │ │ ├── EvalHeader.js │ │ │ │ ├── EvalStats.js │ │ │ │ └── QuestionCard.js │ │ │ ├── detailStyles.js │ │ │ └── page.js │ │ ├── components/ │ │ │ ├── CreateEvalTaskDialog.js │ │ │ ├── EvalTaskCard.js │ │ │ ├── ModelSelector.js │ │ │ ├── QuestionFilter.js │ │ │ └── ScoreAnchorsForm.js │ │ ├── hooks/ │ │ │ ├── useEvalTaskDetail.js │ │ │ ├── useEvalTaskForm.js │ │ │ └── useEvalTasks.js │ │ ├── page.js │ │ └── styles.js │ ├── image-datasets/ │ │ ├── [datasetId]/ │ │ │ └── page.js │ │ ├── components/ │ │ │ ├── DatasetContent.js │ │ │ ├── DatasetSidebar.js │ │ │ ├── EmptyState.js │ │ │ ├── ExportImageDatasetDialog.js │ │ │ ├── ImageDatasetCard.js │ │ │ ├── ImageDatasetFilterDialog.js │ │ │ ├── ImageDatasetFilters.js │ │ │ ├── ImageDatasetHeader.js │ │ │ ├── MetadataEditor.js │ │ │ └── MetadataInfo.js │ │ ├── hooks/ │ │ │ ├── useImageDatasetDetail.js │ │ │ ├── useImageDatasetDetails.js │ │ │ ├── useImageDatasetExport.js │ │ │ ├── useImageDatasetFilters.js │ │ │ └── useImageDatasets.js │ │ ├── page.js │ │ └── styles/ │ │ └── imageDatasetStyles.js │ ├── images/ │ │ ├── components/ │ │ │ ├── DatasetDialog.js │ │ │ ├── ImageFilters.js │ │ │ ├── ImageGrid.js │ │ │ ├── ImageList.js │ │ │ ├── ImportDialog.js │ │ │ ├── QuestionDialog.js │ │ │ └── annotation/ │ │ │ ├── AIGenerateButton.js │ │ │ ├── AnnotationDialog.js │ │ │ ├── AnswerInput.js │ │ │ └── QuestionSelector.js │ │ ├── hooks/ │ │ │ └── useAnnotation.js │ │ ├── page.js │ │ └── styles/ │ │ └── imageStyles.js │ ├── layout.js │ ├── multi-turn/ │ │ ├── [conversationId]/ │ │ │ ├── page.js │ │ │ └── useConversationDetails.js │ │ ├── components/ │ │ │ ├── ConversationTable.js │ │ │ ├── FilterDialog.js │ │ │ ├── RatingChip.js │ │ │ └── SearchBar.js │ │ ├── hooks/ │ │ │ └── useMultiTurnData.js │ │ └── page.js │ ├── page.js │ ├── playground/ │ │ └── page.js │ ├── questions/ │ │ ├── components/ │ │ │ ├── ConfirmDialog.js │ │ │ ├── ExportQuestionsDialog.js │ │ │ ├── QuestionEditDialog.js │ │ │ ├── QuestionsFilter.js │ │ │ ├── QuestionsPageHeader.js │ │ │ ├── TemplateListView.js │ │ │ └── template/ │ │ │ ├── TemplateFormDialog.js │ │ │ └── TemplateManagementDialog.js │ │ ├── hooks/ │ │ │ ├── useQuestionDelete.js │ │ │ ├── useQuestionEdit.js │ │ │ ├── useQuestionExport.js │ │ │ ├── useQuestionGeneration.js │ │ │ ├── useQuestionTemplates.js │ │ │ └── useQuestionsFilter.js │ │ └── page.js │ ├── settings/ │ │ ├── components/ │ │ │ ├── CategoryTabs.js │ │ │ ├── PromptDetail.js │ │ │ ├── PromptEditDialog.js │ │ │ ├── PromptList.js │ │ │ ├── PromptSettings.js │ │ │ └── promptUtils.js │ │ └── page.js │ ├── tasks/ │ │ └── page.js │ └── text-split/ │ ├── page.js │ ├── useChunks.js │ ├── useDataCleaning.js │ ├── useEvalGeneration.js │ ├── useFileProcessing.js │ └── useQuestionGeneration.js ├── commitlint.config.mjs ├── components/ │ ├── ExportDatasetDialog.js │ ├── ExportProgressDialog.js │ ├── I18nProvider.js │ ├── LanguageSwitcher.js │ ├── ModelSelect.js │ ├── Navbar/ │ │ ├── ActionButtons.js │ │ ├── ContextBar.js │ │ ├── DesktopMenus.js │ │ ├── Logo.js │ │ ├── MobileDrawer.js │ │ ├── NavigationTabs.js │ │ ├── contextBarStyles.js │ │ ├── index.js │ │ └── styles.js │ ├── TaskIcon.js │ ├── ThemeRegistry.js │ ├── UpdateChecker.js │ ├── common/ │ │ └── MessageAlert.js │ ├── conversations/ │ │ ├── ConversationContent.js │ │ ├── ConversationHeader.js │ │ ├── ConversationMetadata.js │ │ └── ConversationRatingSection.js │ ├── dataset-square/ │ │ ├── DatasetSearchBar.js │ │ ├── DatasetSiteCard.js │ │ └── DatasetSiteList.js │ ├── datasets/ │ │ ├── DatasetHeader.js │ │ ├── DatasetMetadata.js │ │ ├── DatasetRatingSection.js │ │ ├── EditableField.js │ │ ├── EvalVariantDialog.js │ │ ├── ImportDatasetDialog.js │ │ ├── NoteInput.js │ │ ├── OptimizeDialog.js │ │ ├── StarRating.js │ │ ├── TagSelector.js │ │ ├── import/ │ │ │ ├── FieldMappingStep.js │ │ │ ├── FileUploadStep.js │ │ │ └── ImportProgressStep.js │ │ └── utils/ │ │ └── ratingUtils.js │ ├── distill/ │ │ ├── AutoDistillDialog.js │ │ ├── AutoDistillProgress.js │ │ ├── ConfirmDialog.js │ │ ├── DistillTreeView.js │ │ ├── QuestionGenerationDialog.js │ │ ├── QuestionListItem.js │ │ ├── TagEditDialog.js │ │ ├── TagGenerationDialog.js │ │ ├── TagMenu.js │ │ ├── TagTreeItem.js │ │ └── utils.js │ ├── export/ │ │ ├── HuggingFaceTab.js │ │ ├── LlamaFactoryTab.js │ │ └── LocalExportTab.js │ ├── home/ │ │ ├── CreateProjectDialog.js │ │ ├── HeroSection.js │ │ ├── MigrationDialog.js │ │ ├── ParticleBackground.js │ │ ├── ProjectCard.js │ │ ├── ProjectList.js │ │ └── StatsCard.js │ ├── mga/ │ │ ├── GaPairsIndicator.js │ │ └── GaPairsManager.js │ ├── playground/ │ │ ├── ChatArea.js │ │ ├── ChatMessage.js │ │ ├── MessageInput.js │ │ ├── ModelSelector.js │ │ └── PlaygroundHeader.js │ ├── questions/ │ │ ├── QuestionListView.js │ │ └── QuestionTreeView.js │ ├── settings/ │ │ ├── BasicSettings.js │ │ ├── ModelSettings.js │ │ └── TaskSettings.js │ ├── tasks/ │ │ ├── TaskActions.js │ │ ├── TaskFilters.js │ │ ├── TaskProgress.js │ │ ├── TaskStatusChip.js │ │ └── TasksTable.js │ └── text-split/ │ ├── BatchEditChunkDialog.js │ ├── ChunkBatchDeleteDialog.js │ ├── ChunkCard.js │ ├── ChunkDeleteDialog.js │ ├── ChunkFilterDialog.js │ ├── ChunkList.js │ ├── ChunkListHeader.js │ ├── ChunkViewDialog.js │ ├── DomainAnalysis.js │ ├── FileUploader.js │ ├── LoadingBackdrop.js │ ├── MarkdownViewDialog.js │ ├── PdfSettings.js │ └── components/ │ ├── DeleteConfirmDialog.js │ ├── DirectoryView.js │ ├── DomainTreeActionDialog.js │ ├── DomainTreeView.js │ ├── FileList.js │ ├── FileLoadingProgress.js │ ├── PdfProcessingDialog.js │ ├── TabPanel.js │ └── UploadArea.js ├── constant/ │ ├── index.js │ ├── model.js │ ├── setting.js │ └── sites.json ├── docker-compose.yml ├── docker-entrypoint.sh ├── electron/ │ ├── entitlements.mac.plist │ ├── loading.html │ ├── main.js │ ├── modules/ │ │ ├── cache.js │ │ ├── database.js │ │ ├── db-updater.js │ │ ├── ipc-handlers.js │ │ ├── logger.js │ │ ├── menu.js │ │ ├── server.js │ │ ├── updater.js │ │ └── window-manager.js │ ├── preload.js │ └── util.js ├── hooks/ │ ├── useDebounce.js │ ├── useFileProcessingStatus.js │ ├── useGenerateDataset.js │ ├── useModelPlayground.js │ ├── useSnackbar.js │ └── useTaskSettings.js ├── jsconfig.json ├── lib/ │ ├── api/ │ │ ├── chunk.js │ │ ├── file.js │ │ ├── index.js │ │ └── task.js │ ├── db/ │ │ ├── base.js │ │ ├── chunks.js │ │ ├── custom-prompts.js │ │ ├── dataset-conversations.js │ │ ├── datasets.js │ │ ├── evalDatasets.js │ │ ├── evalResults.js │ │ ├── fileToDb.js │ │ ├── files.js │ │ ├── ga-pairs.js │ │ ├── imageDatasets.js │ │ ├── images.js │ │ ├── index.js │ │ ├── llm-models.js │ │ ├── llm-providers.js │ │ ├── model-config.js │ │ ├── projects.js │ │ ├── questionTemplates.js │ │ ├── questions.js │ │ ├── tags.js │ │ ├── texts.js │ │ └── upload-files.js │ ├── file/ │ │ ├── file-process/ │ │ │ ├── check-file.js │ │ │ ├── epub/ │ │ │ │ └── index.js │ │ │ ├── get-content.js │ │ │ ├── index.js │ │ │ ├── pdf/ │ │ │ │ ├── default.js │ │ │ │ ├── index.js │ │ │ │ ├── mineru-local.js │ │ │ │ ├── mineru.js │ │ │ │ ├── prompt/ │ │ │ │ │ ├── optimalTitle.js │ │ │ │ │ ├── optimalTitleEn.js │ │ │ │ │ ├── pdfToMarkdown.js │ │ │ │ │ └── pdfToMarkdownEn.js │ │ │ │ ├── util.js │ │ │ │ └── vision.js │ │ │ └── utils.js │ │ ├── split-markdown/ │ │ │ ├── core/ │ │ │ │ ├── parser.js │ │ │ │ ├── splitter.js │ │ │ │ ├── summary.js │ │ │ │ └── toc.js │ │ │ ├── index.js │ │ │ ├── output/ │ │ │ │ ├── fileWriter.js │ │ │ │ └── formatter.js │ │ │ └── utils/ │ │ │ └── common.js │ │ └── text-splitter.js │ ├── i18n.js │ ├── llm/ │ │ ├── common/ │ │ │ ├── prompt-loader.js │ │ │ ├── question-template.js │ │ │ └── util.js │ │ ├── core/ │ │ │ ├── index.js │ │ │ └── providers/ │ │ │ ├── alibailian.js │ │ │ ├── base.js │ │ │ ├── ollama.js │ │ │ ├── openai.js │ │ │ ├── openrouter.js │ │ │ └── zhipu.js │ │ ├── prompts/ │ │ │ ├── addLabel.js │ │ │ ├── answer.js │ │ │ ├── dataClean.js │ │ │ ├── datasetEvaluation.js │ │ │ ├── distillQuestions.js │ │ │ ├── distillTags.js │ │ │ ├── enhancedAnswer.js │ │ │ ├── evalQuestion.js │ │ │ ├── ga-generation.js │ │ │ ├── imageAnswer.js │ │ │ ├── imageQuestion.js │ │ │ ├── label.js │ │ │ ├── labelRevise.js │ │ │ ├── llmJudge.js │ │ │ ├── modelEvaluation.js │ │ │ ├── multiTurnConversation.js │ │ │ ├── newAnswer.js │ │ │ ├── optimizeCot.js │ │ │ └── question.js │ │ └── usageLogger.js │ ├── services/ │ │ ├── clean.js │ │ ├── datasets/ │ │ │ ├── evaluation.js │ │ │ └── index.js │ │ ├── eval/ │ │ │ └── index.js │ │ ├── evaluation/ │ │ │ └── index.js │ │ ├── ga/ │ │ │ ├── ga-generation.js │ │ │ └── ga-pairs.js │ │ ├── images/ │ │ │ └── index.js │ │ ├── models.js │ │ ├── multi-turn/ │ │ │ └── index.js │ │ ├── questions/ │ │ │ ├── index.js │ │ │ └── template.js │ │ └── tasks/ │ │ ├── answer-generation.js │ │ ├── data-cleaning.js │ │ ├── data-distillation.js │ │ ├── dataset-evaluation.js │ │ ├── eval-generation.js │ │ ├── file-processing.js │ │ ├── image-dataset-generation.js │ │ ├── image-question-generation.js │ │ ├── index.js │ │ ├── model-evaluation.js │ │ ├── multi-turn-generation.js │ │ ├── question-generation.js │ │ └── recovery.js │ ├── store.js │ └── util/ │ ├── async.js │ ├── domain-tree.js │ ├── file.js │ ├── image.js │ ├── logger.js │ ├── modelIcon.js │ ├── processInParallel.js │ ├── providerLogo.js │ └── request.js ├── locales/ │ ├── en/ │ │ └── translation.json │ ├── pt-BR/ │ │ └── translation.json │ ├── tr/ │ │ └── translation.json │ └── zh-CN/ │ └── translation.json ├── next.config.js ├── package.json ├── prisma/ │ ├── generate-template.js │ ├── schema.prisma │ └── sql.json ├── public/ │ └── imgs/ │ ├── logo.icns │ └── logo_old.icns └── styles/ ├── blindTest.js ├── globals.css ├── home.js └── playground.js