Skip to content

refactor: opt the bullmq setting for eval-related task#17

Draft
chanzhi82020 wants to merge 84 commits intoeval-devfrom
opt-bullmq-setting-for-eval
Draft

refactor: opt the bullmq setting for eval-related task#17
chanzhi82020 wants to merge 84 commits intoeval-devfrom
opt-bullmq-setting-for-eval

Conversation

@chanzhi82020
Copy link
Collaborator

No description provided.

@chanzhi82020 chanzhi82020 force-pushed the opt-bullmq-setting-for-eval branch 2 times, most recently from a4e4546 to b87e24c Compare September 27, 2025 15:12
1348697900a and others added 28 commits September 28, 2025 11:03
…he evaluation dataset

- Added the 'evaluation' namespace to i18n constants
- Fixed the logic for the disabled prompt in DatasetSelectModal, which now depends on dataset item status
- Adjusted the column width layout of the error modal to optimize the display space for error messages
- Added the missing i18n namespace for the evaluation dataset detail page
- Optimized the code format for status update on the file import page
- Updated the AI icon in the evaluation dataset list to a smaller version
- Added the missing 'evaluation' and 'dataset' i18n namespaces to evaluation-related pages
- Remove evalDatasetSmartGenerate job queue from QueueNames enum
- Delete smartGenerateMq.ts and smartGenerateProcessor.ts files
- Refactor smartGenerate API to process data directly in API layer:
  • Complete Q&A pairs are inserted directly to database
  • Q-only data is queued to evalDatasetDataSynthesize for AI processing
- Fix schema field references: datasetId → evalDatasetCollectionId
- Update queue cleanup in collection delete API
- Fix test mocks to use correct schema field names
- Improve performance by eliminating unnecessary queue overhead for complete data
- Update API to support creating new collections or using existing ones
- Add optional name and description parameters for new collections
- Modify frontend to handle both collection creation and selection modes
- Improve validation and error handling for collection parameters
- Rename API endpoint from fileId.ts to import.ts for better semantic clarity
- Replace JSON body parsing with form-data support using multer for multiple file uploads
- Implement dual-mode operation:
  * Mode 1: Import to existing collection (collectionId parameter)
  * Mode 2: Create new collection and import (name + description parameters)
- Add comprehensive validation for mutual exclusivity of operation modes
- Support processing multiple CSV files in a single request with aggregated validation
- Add proper file cleanup using finally block to ensure temporary files are removed
- Update type definitions to support optional parameters for dual-mode functionality
- Refactor comprehensive test suite to cover form-data handling and new dual-mode scenarios
- Maintain backward compatibility with existing quality evaluation workflows
- Separate qualityMetadata and synthesisMetadata into distinct schema fields
- Move quality results from status enum to dedicated qualityResult field
- Update database schema with proper indexes for quality-related fields
- Refactor API endpoints to support new metadata structure
- Update frontend components to handle separated quality data
- Maintain backward compatibility during schema transition
- Refactor dimension management component with new data fetching approach
- Add i18n support for built-in dimensions with localized names and descriptions
- Optimize dimension list search with client-side filtering for better performance
- Simplify selected dimension count calculation logic
- Add special display handling for built-in dimensions (hide creation time and author)
- Use MyBox component for unified loading and empty states
- Remove unnecessary pagination and scroll loading logic
…atures

- Added support for the qualityResult field in the DataListModals component
- Optimized the polling logic and error message display in the EditDataModal component
- Modified the ManuallyAddModal component to display the evaluation model selector only when auto-evaluation is enabled
- Refactored the file import page to use the new generateDataByUploadFile API
  - Supports multiple file uploads and progress display
  - Simplified file selection and processing logic
  - Removed redundant upload status management
- Added implementation of the generateDataByUploadFile API to support multiple file upload functionality
- Add qualityResult parameter support to list API for precise filtering
- Update DataList component to properly handle quality result vs status filtering
- Improve status color logic to prioritize error states over quality results
- Add comprehensive test coverage for quality result filtering scenarios
- Fix API type definitions to include qualityResult in list request body
…est logic

- Added data refresh logic when closing the edit modal
- Enhanced the retest feature to support automatic saving when data changes
- Improved the mechanism for detecting changes in evaluation status
- Unified the loading state management for the retest button
- Fixed the evaluation status reset logic when editing form data
- Optimized the interaction process for the evaluation result action buttons
- Skip active quality assessment jobs in batch operations instead of removing them
- Reject quality assessment requests when active job exists to prevent conflicts
- Update metadata schema references from metadata.qualityStatus to qualityMetadata.status
- Update test cases to reflect new behavior of not overriding active jobs
…nswer functionality

- Added the `EvaluationDatasetSelector` component for selecting evaluation datasets in the chat interface
- Integrated the evaluation dataset selection feature into the annotation answer popup
- Optimized the title display logic in the annotation answer popup to distinguish between regular and evaluation annotations
- Added relevant internationalization texts, including:
  - Options for including/excluding evaluation datasets
  - Text for the "Create Dataset" button
  - Prompt text for dataset selection
- Fixed the data quality status display issue on the evaluation dataset details page
- Optimized the style of the back button on the file import page
- Added internationalization texts for confirmation and editing title popups related to evaluation datasets
- Add checkEvalDatasetDataQualityJobInactive function to detect completed/failed jobs
- Enhance delete API to handle both active and inactive quality jobs with proper logging
- Fix quality assessment to properly reset metadata fields using $unset operations
- Update test expectations to match actual implementation logging parameters
- Add BasicInfo component for evaluation task details display
- Add GradientBorderBox component for UI enhancement
- Implement NavBar component with data classification and action buttons
- Create ScoreBar component for dimension scoring display
- Develop ScoreDashboard component for overall score visualization
- Update i18n files with new interface translations
- Optimize evaluation dimension name translation consistency
- Auto-recommend built-in evaluation dimensions based on node types
- Add "Answer Accuracy" dimension by default for chat nodes
- Add "Faithfulness" and "Context Recall" dimensions by default for retrieval nodes
- Auto-fill default evaluation and embedding models
- Add function to get app's recently used datasets
- Update refresh button icon to "common/confirm/restoreTip"
- Optimize refresh button icon in dimension management interface
- Add `autoFilterOverSize` prop to FileSelector component to enable automatic file size filtering
- Implement file size validation in useSelectFile hook with warning toast for oversized files
- Apply auto size filtering to evaluation dataset file import interface
- Format and clean up styling in FileSelector component
- Add file size formatting utility for displaying size limits in warnings
- Add listv2 API endpoint for efficient collection listing with minimal data
- Extract shared filter logic to buildEvalDatasetCollectionFilter utility
- Support optional pagination with pageSize/pageNum/offset parameters
- Return only essential fields: _id, name, createTime for better performance
- Add comprehensive test coverage for new API endpoint
- Refactor existing list.ts to use shared filter utility
hellostronger and others added 29 commits September 28, 2025 11:03
…timize change detection handling

- Fixed type definition and execution method of the beforeSubmit callback function in the FormBottomButtons component
- Refactored change detection logic in the useDataBaseConfig hook, merging the handling processes for edit mode and create mode
- Optimized the UI transformation logic for table change data, adding default settings for tables/columns to be in the disabled state
- Improved the calculation and setting method for change summary information, enhancing code readability and maintainability
…nationalization support

- Enhanced database address validation logic with stricter IP format checks
- Added new internationalization fields for database address validation error messages
- Removed unnecessary embedding model references, using LLM model as the default value
- Fixed internationalization namespace configuration on the dataset details page
- Optimized the disable logic for the submit button in the database connection form
- Cleaned up console log outputs and removed redundant code
- Update evaluation summary card component to support regenerating summaries by dimension
- Add regenerate summary link button and interaction logic
- Optimize i18n text, remove redundant "click to retry" text
- Refactor component code, use useCallback for performance optimization
- Fix Traditional Chinese translation text
- Add API support for regenerating summaries for specific dimensions
…fications

Fixed the issue with error message display during database connection detection
Optimized the internationalization text and display format for database table change notifications
Added a merge notification feature for database table changes
Fixed the loading status display during database connection testing
Optimized the submission logic of the database configuration form
Updated related internationalization translation files
Fixed the default value setting issue during database model generation
- Add comprehensive file upload validation with size/count/type checks
- Fix quality evaluation status to use queuing state
- Fix data list sorting to match ascending order
- Improve CSV import error handling and logging
- Add Bullmq HealthCheck for api stability
- Add new i18n key "no_data_in_database" for empty database state
- Update EmptyCollectionTip to use handleOpenConfigPage for database configuration
- Modify ConnectDatabaseForm to support conditional navigation after success
- Enhance DataBaseConfig with proper empty state UI and disabled confirm button
- Refactor FormBottomButtons to:
  - Support conditional success callback
  - Show success toast for pool size changes
  - Simplify connection logic
  - Improve connection message display
- Fix connection message reset on form change
…iguration form

Modified the column index lookup logic in the DataBaseConfig component to use form values instead of current table data
Adjusted the table data synchronization logic in the useDataBaseConfig hook to no longer filter out deleted columns
Filtered out deleted columns in the transformUIToBackend utility function to ensure data integrity for the backend
…synchronized when importing the dataset.

- Add a filtering condition for tables with a status of 'delete' when converting UI data to backend format.
- Ensure that tables marked as deleted are not included in the synchronization process.
…page

- Add applicationId and chatId parameter support to QuoteList component
- Optimize WholeResponseModal and ResponseBox components to support appId and chatId parameters
- Improve intelligent polling refresh logic for evaluation task details to reduce unnecessary data loading
- Adjust evaluation status display logic to show different status columns based on evaluator count
- Optimize delete button UI interaction by removing redundant Tooltip
- Unify red link color to red.500 with hover state at red.600
- Add polling cancellation logic in TaskPageContext to prevent memory leaks
@chanzhi82020 chanzhi82020 force-pushed the opt-bullmq-setting-for-eval branch from b87e24c to 16d3ef7 Compare September 28, 2025 03:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants