일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 자바스크립트
- 디버깅
- 컴퓨터구조
- 자바 실습
- 혼공머신
- 자바
- 데이터분석
- 중학수학
- 머신러닝
- JSP
- 딥러닝
- 개발일기
- 파이썬
- ChatGPT
- 정보처리기사필기
- SQL
- 데이터베이스
- 컴퓨터비전
- 상속
- rnn
- 순환신경망
- JSP/Servlet
- 연습문제
- CSS
- 정보처리기사실기
- 자바스크립트심화
- html/css
- JDBC
- 중학1-1
- c언어
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
프롬프트 엔지니어링을 통한 옷 추천 앱 완성 4 - 옷 추천 앱 완성하기 본문
늦은 저녁을 먹고 이제 다시 저녁 공부를 시작해 본다. 저녁에 할 공부는 별로 많지 않다. 하지만 실습 문제가 만만치 않으니 차근차근 풀어보겠다.
실습 2 - 프롬프트 엔지니어링을 통한 옷 추천 앱 완성
1. 폴더 열기
이렇게 폴더를 열었다. 두 개의 파이썬 파일이 들어있는데 main에는 지난번에 작성했던 것과 같은 것이고, colors에는 색상 선택과 관련된 내용이 들어있다.
2. colors.py 파일 살펴보기
정규표현식으로 해당 색상이 숫자와 함께 나와있다.
3. main.py 코드 살펴보기
앞부분은 지난번과 같지만 여기는 조금 달라졌다. 색상을 찾아서 컬러 팔레트에 담는 부분이 추가되었다. 그리고 system_prompt의 내용도 많이 추가되었다.
4. 코드 실행하기
이렇게 답변을 해주었다. 이번에는 프롬프트를 코드에 추가해서 답변이 어떻게 달라지는지 보겠다.
5. 두번째 프롬프트 추가하기
1번 프롬프트
You are a helpful AI assistant, responding to user requests in a polite yet attentive manner. The user will request advice for fashion coordination. Make sure your response is relevant to the context, specific enough to be helpful, and at some point, creative.
사용자 요청에 정중하면서도 세심한 방식으로 응답하는 유용한 AI 어시스턴트입니다. 사용자는 패션 코디에 대한 조언을 요청할 것입니다. 사용자의 응답이 맥락과 관련이 있고, 도움이 될 만큼 구체적이며, 언젠가는 창의적이어야 합니다.
2번 프롬프트
When providing your advice, always add color recommendations to help the users visualize your suggestion.
조언을 제공할 때는 항상 사용자가 제안을 시각화할 수 있도록 색상 추천을 추가하세요.
이번에는 색상에 대한 이야기가 많이 추가되었다. 파란색과 파스텔톤으로 입으라고 한다.
6. 세번째 프롬프트 추가하기
세 번째 프롬프트
Give 3 complete recommendations. You can be as creative and adventurous aspossible with the last suggestion.
3가지 완전한 추천을 하세요. 마지막 추천으로 최대한 창의적이고 모험적으로 할 수 있습니다.
프롬프트를 추가하니 이전보다 훨씬 길게 추천해 주었다. 세부적으로 알려주니 처음보다 훨씬 더 뭔가 잡히고 눈에 그려진다. 추천하는 옷도 점점 마음에 들었다.
7. 네번째 프롬프트 추가하기
네 번째 프롬프트
[example]\nuser: 화창한 봄날 소풍 나갈 때 입을 옷 추천 부탁해!\nassistant: 꽃이 피어나는 봄날 야외 소풍에 어울리는 코디 3가지 추천드릴게요. \n1. 댄디한 코디\n- 셔츠 (하늘색), 슬랙스 (회색), 로퍼 (진한 갈색)\n2. 귀여운 코디\n- 카디건 (베이지색), 티셔츠 (흰색), 청바지 (파란색), 컨버스화 (검정색)\n3. 편안한 코디\n- 후드 (회색), 조거 팬츠 (검정색), 스니커즈 (흰색)
예시 중심으로 단답식으로 대답해줬다. 하지만 색상은 불러오지 못해서 이 코드를 수정하는데 30분도 넘게 시간을 보냈다.
ValueError: need at least one array to concatenate라는 에러는 np.vstack() 함수에서 전달된 배열이 비어 있을 때 발생한다. 이 문제는 color_list가 비어 있어서 생긴 것이다.
color_list가 비어 있는 이유를 분석해 보면
- extract_color_names 함수가 반환한 색상 이름이 colors 딕셔너리에 없을 가능성이 높다.
- 응답에서 색상 이름을 정확히 추출하지 못했을 수도 있다.
8. 색상 코드 추가하기
이렇게 색상을 정의했지만 이렇게 나왔다.
그다음에도 코드를 여러 번 수정한 결과 이처럼 나왔다.
너무 안되서 정말 포기하고 싶었지만 다시 한번 코드를 수정해 보았다.
9. 코드 다시 수정하기
colors 파일에서 코드를 이처럼 추가했다.
그랬더니 이처럼 처음으로 색깔이 나왔다. 그리고 이 색이 내가 쓴 색 그대로 나오나 싶어 다음과 같이 수정해 보았다.
정말 쓴 대로 나오고 있었다. 자신이 원하는 색을 추가해야 그 색이 나오는 모양이다.
학습을 마치고
색깔이 나오게 하는 부분은 정말 어려웠다. 이것만 1시간 넘게 코드를 수정하며 고치고 또 고쳤다. 아마 15번은 고친 것 같다. 하지만 그러면서 많은 것들을 배울 수 있었다. 빨리 이 단원을 마치고 다른 걸 하고 싶었는데 벌써 취침할 시간이 되었다. 정말 어려웠지만 이렇게 시행착오를 겪으면서 배울 때 기억에도 남는다.
수업 영상을 아무리 돌려보고 또 돌려봐도 이 내용은 나오지 않았다. 그래도 자료를 찾아가며 물어가며 마침내 해결할 수 있어서 감사했다.
'인공지능 > 프롬프트 엔지니어링 & 생성형 AI' 카테고리의 다른 글
생성 AI란? 1 - AI와 생성형 AI란? (0) | 2024.12.26 |
---|---|
애플리케이션 개발을 위한 프롬프트 엔지니어링 - 테스트 문제 풀기 (0) | 2024.12.22 |
프롬프트 엔지니어링을 통한 옷 추천 앱 완성 3 - 할루시네이션, 프롬프트 인젝션 (0) | 2024.12.22 |
프롬프트 엔지니어링을 통한 옷 추천 앱 완성 2 - 프롬프트 평가 및 프롬프트 개선하기 (0) | 2024.12.22 |
프롬프트 엔지니어링을 통한 옷 추천 앱 완성 1 - 프롬프트 작성 (0) | 2024.12.22 |