작성자: 이소윤
1. 오늘의 목표 (Plan)
- [x] 현재 구현 상태를 README에 반영 후 발표 준비
- [x] 배경 프롬프트와 스타일 레퍼런스를 리밸런싱해 주방/다이닝 배경 품질을 높인다.
- [x] 배경에 같은 카테고리 소품이 다시 생성되는 문제를 더 줄인다.
- [x] flat 상품의 각도/배치 안정성을 높인다.
- [x] Langfuse 연결하여 worker 추적성과 timeout 안정성을 보강한다.
- [x] 팀 발표 후 주제 확정하기
2. 오늘 내가 한 일 (Work Done)
- [개인 작업]
- [dd96c48] flat 상품이 테이블 면과 더 평행하게 놓이도록 배치와 각도 보정을 조정했다. 근거: 트레이/접시류가 테이블 위에 자연스럽게 안착하는 것이 오늘 핵심 목표 중 하나였음.
- [5e76d1f] 대표 1장 + 보조 최대 2장의 멀티뷰 입력을 추가하고, worker가 보조 이미지를 실제 선택해 쓰도록 연결했다. 단일 이미지와 dev seed 경로는 그대로 유지했다. 근거: 상품 방향성과 상면 정보를 더 잘 활용하기 위해 멀티뷰 입력 지원이 필요했음.
- [5ee8b67] README를 현재 생성 파이프라인, 입력 구조, worker 구조, 실행 방법 기준으로 전면 갱신했다. 근거: 최근 구현 상태와 문서가 많이 어긋나 있었음.
- [bb82e8c] kitchen 배경 제약과 상품 배치 품질을 전반적으로 보강했다. 주방/다이닝 배경 강제와 배치 품질 쪽을 함께 다뤘다. 근거: 배경이 서비스 도메인과 어긋나는 문제가 반복되었음.
- [feda450] worker timeout을 100초 기준으로 늘리고, depth 기반 조건부 refinement 경로를 추가했다. 근거: 생성 안정성을 확보하면서 품질 향상 여지도 함께 확보하려는 목적이었음.
- [bb8c736] 모든 비율에서 배경 프롬프트가 더 선명하고 비어 있는 공간을 만들도록 조정했다. 근거: 상품이 올라갈 빈 tabletop zone이 잘 안 생기는 문제가 있었음.
- [43f15ee] flat 상품의 테이블 배치와 각도 보정을 한 번 더 안정화했다. 근거: 회귀성 배치 오류가 남아 있었음.
- [f4c9ee5] README에 최신 image worker 동작과 최근 변경 사항을 추가 반영했다. 근거: worker 쪽 동작 방식이 하루 동안 빠르게 바뀌었음.
- [0a63373] flat 합성 회귀와 배경 프롬프트 충돌을 완화했다. 근거: 상품 각도 보정을 강화하면서 일부 프롬프트와 합성 품질이 다시 어긋나는 현상이 발생했음.
- [b3c9288] 배경 품질 중심으로 프롬프트와 스타일 레퍼런스 가중을 다시 조정했다. 근거: 레퍼런스가 스타일뿐 아니라 공간까지 끌고 가는 문제를 줄이려 했음.
- [7f839d8] Langfuse 구간별 추적과 image worker trace 연동을 추가했다. 추천/생성/worker 단계를 더 잘 관찰할 수 있도록 관측성을 강화했다. 근거: fallback, timeout, worker latency 원인을 더 정확히 추적할 필요가 있었음.
- [팀 주제 확정 후 작업]
- [비커밋 성과] 프로젝트 구조를 확인해 HUGGINGFACE_API_KEY가 Hugging Face Inference Router 호출에 쓰인다는 점과, OpenAI 키가 함께 필요하다는 점을 정리했다. 근거: services/image_service.py, config/settings.py, README.md 확인
- [비커밋 성과] Hugging Face 토큰 권한 범위를 확인해 모델별 신규 토큰이 아니라 inference 호출 가능한 사용자 토큰이면 된다는 점, gated/public 모델에 따라 필요한 범위가 달라진다는 점을 설명했다. 근거: 토큰 설정 화면 검토 및 공식 문서 기준 확인
- [비커밋 성과] 텍스트 생성 → 이미지 생성 → 히스토리 저장 흐름을 코드 기준으로 정리하고, 실제 스모크 테스트로 텍스트/이미지 생성 및 DB 저장까지 성공 여부를 검증했다. 근거: app.py, services/text_service.py, services/image_service.py, services/history_service.py 확인 및 통합 테스트 실행
- [비커밋 성과] 기존 venv, .venv가 모두 Python 3.9인 상태를 확인하고, Python 3.12 기반 venv를 새로 만든 뒤 Streamlit 기동까지 확인했다. 근거: TypeError: unsupported operand type(s) for | 오류 재현 후 환경 재구성
- [비커밋 성과] 제품 이미지 업로드 후 발생한 생성 실패 로그를 분석해, 실제 원인이 이미지 자체가 아니라 OpenAI 텍스트 생성 단계의 30초 타임아웃임을 확인했다. 근거: services.text_service.py, utils/prompt_builder.py, 로그 타임라인 확인
- [비커밋 성과] 동일 조건에서 이미지 결과가 달라지는 이유를 분석하고, 현재 구조에서 랜덤성이 들어오는 지점과 일관성 개선 방법(seed, 고정 파라미터, 프롬프트 재사용 등)을 정리했다. 근거: services/image_service.py, app.py 흐름 분석
🌟 오늘 팀에 기여한 부분
- 각자 개인 작업물 발표 후 주제 확정에 대한 의견을 적극적으로 제시하였다.
3. 오늘의 인사이트 / 배운 점 (Insights)
- 멀티뷰 입력은 단순 업로드 개수 증가가 아니라, worker가 상품군별로 실제로 어떤 뷰를 선택해 배치에 쓸지까지 연결돼야 의미가 있다.
- 배경 품질 개선은 프롬프트만의 문제가 아니라 스타일 레퍼런스의 공간 영향, 빈 tabletop zone 확보, 상품 배치 안정성까지 함께 다뤄야 효과가 난다.
- 업로드 이미지가 있다고 해서 바로 멀티모달 입력이 되는 것은 아니다. 현재 구현처럼 텍스트 힌트만 넣는 구조라면 사용자는 “이미지를 반영했다”고 느껴도 실제 모델 입력은 다를 수 있다.