Conversation
- Add getFileUrl() method to GigaChatApi for constructing image URLs - Update GigaChatImageModel to handle both base64 and URL response formats - Remove default system prompt for ImageModel - Update README files with image generation examples and links - Remove unnecessary spring-web dependency from pom.xml Signed-off-by: Linar Abzaltdinov <abzaltdinov@gmail.com>
spring-ai-gigachat/src/main/java/chat/giga/springai/image/GigaChatImageModel.java
Outdated
Show resolved
Hide resolved
spring-ai-gigachat/src/main/java/chat/giga/springai/image/GigaChatImageOptions.java
Outdated
Show resolved
Hide resolved
spring-ai-gigachat/src/main/java/chat/giga/springai/image/GigaChatImageModel.java
Outdated
Show resolved
Hide resolved
spring-ai-gigachat/src/main/java/chat/giga/springai/image/GigaChatImageOptions.java
Outdated
Show resolved
Hide resolved
Замечания по PRНайдено несколько проблем, требующих внимания. Критично: style = null -> null-контент в системном сообщении После удаления @Setter на уровне класса в GigaChatImageOptions Lombok-аннотация Wildcard-импорт в GigaChatImageModel
normalizePrompt — антипаттерн тестирования Метод стал package-private ради unit-тестов. Лучше тестировать через публичный Неточность в документации (docs/image-model.md, строка 69) «Необходимо получить fileId...» — fileId доступен через метаданные в обоих форматах ответа, не только в URL. |
- Replaced import org.springframework.ai.image.*; with explicit imports
2. Removed `@Setter` annotation (GigaChatImageOptions.java)
- Removed class-level @Setter that broke builder pattern encapsulation
- Added @Builder.Default for the style field with null value
3. Made `normalizePrompt` method private (GigaChatImageModel.java)
- Changed from package-private back to private
- Removed tests that directly called this method
4. Fixed documentation about `fileId` (docs/image-model.md)
- Removed misleading statement that fileId is only available for URL format
- Added clarifying comments that fileId is available in metadata for both formats
- Updated "When to use URL" section with accurate use cases
5. Fixed potential null style issue (GigaChatImageModel.java)
- Added null check in buildCompletionRequest() method
- System message is now only added when style != null
6. Updated tests (GigaChatImageModelTest.java)
- Removed 4 tests that directly tested the private normalizePrompt method
- Kept tests that verify behavior through the public call() method
Signed-off-by: Linar Abzaltdinov <abzaltdinov@gmail.com>
|
@claude review pr once again |
|
Claude finished @linarkou's task in 2m 6s —— View job Повторный обзор PR
Статус прежних замечанийВсе замечания из предыдущего review устранены:
Новые / оставшиеся замечания1. Wildcard-импорт в
|
|
Claude finished @linarkou's task in 2m 15s —— View job Обзор PR✅ Исправленные замечанияВсе критичные замечания из предыдущего ревью устранены:
|
Signed-off-by: Linar Abzaltdinov <abzaltdinov@gmail.com>
Signed-off-by: Linar Abzaltdinov <abzaltdinov@gmail.com>
|
@claude я исправил минорные замечания |
|
Claude finished @linarkou's task in 48s —— View job Проверка исправлений
Итог проверки✅ Все минорные замечания исправлены
|
|
Claude finished @linarkou's task in 1m 17s —— View job Результаты проверки исправлений
Статус замечаний
Детали1. Wildcard-импорт — Заменён на явные импорты: 2. Недостижимый код — 3. Документация URL + аутентификация — В 4. ИтогPR в отличном состоянии. Все критичные и минорные замечания устранены. Единственное оставшееся — тривиальная косметика с |
Resolves #76