[ai-assisted] feat(ai): support vector projection umap tsne#391
Merged
[ai-assisted] feat(ai): support vector projection umap tsne#391
Conversation
Issue: - Closes #390 Why: - Vector Map needs server-side UMAP and t-SNE projection choices in addition to PCA. - The client should keep rendering stored x/y coordinates without embedding or projection calculation. What: - Add UMAP and TSNE ProjectionAlgorithm values. - Add dependency-free server-side UMAP/t-SNE-style projection generators using PCA initialization and embedding-neighbor refinement. - Register PCA/UMAP/TSNE default generator beans and preserve SPI replacement by preferring non-default same-algorithm generators. - Update vector projection docs and tests for algorithm parsing, generator output, service selection, and auto-configuration registration. Validation: - ./gradlew :studio-platform-ai:test :starter:studio-platform-starter-ai:test :starter:studio-platform-starter-ai-web:test (PASS) - ./gradlew test (PASS) - git diff --check (PASS) AI-Assisted: Yes Subagent used: Yes Delegated scope: code review for issue #390 before and after generator precedence fix
20 tasks
Issue: - #390 Why: - Review found that multiple default VectorProjectionGenerator beans could break single-type injection and that fixed-stride repulsion sampling collapsed for projection sizes divisible by 37. What: - Mark the default PCA projection generator as primary to preserve single VectorProjectionGenerator injection compatibility. - Add auto-configuration coverage for interface bean resolution and custom generator inclusion in the job service. - Use a projection-size coprime stride for repulsion sampling and add regression coverage for 37/74 item sizes. Validation: - ./gradlew :studio-platform-ai:test :starter:studio-platform-starter-ai:test :starter:studio-platform-starter-ai-web:test (PASS) - ./gradlew test (PASS) - git diff --check (PASS) AI-Assisted: Yes Subagent used: Yes Delegated scope: PR #391 blocker review and re-review
Owner
Author
|
리뷰 결과를 반영해 보완 커밋을 추가했습니다. 처리한 리뷰 지적:
검증:
재리뷰 결과: blocking finding 없음. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
UMAP,TSNEProjection을 선택할 수 있어야 합니다.x,y좌표만 렌더링해야 합니다.What
ProjectionAlgorithm에UMAP,TSNE를 추가했습니다.UmapVectorProjectionGenerator,TsneVectorProjectionGenerator를 추가했습니다.ProjectionCoordinateSupport로 분리했습니다.DefaultVectorProjectionJobService를 보강했습니다.algorithm: "UMAP",algorithm: "TSNE"를 처리하고, 미지원 알고리즘은 기존처럼 400으로 거부합니다.Related Issues
Validation
./gradlew :studio-platform-ai:test :starter:studio-platform-starter-ai:test :starter:studio-platform-starter-ai-web:test./gradlew testgit diff --checkRisk / Rollback
AI / Subagent Usage
Checklist
AI-Assistedvalue is correct