픽셀 크래프터(Pixel Crafter) 제작기 - 정말 쉽게 만드는…
S
SangYeon_Lee
준비물 : ChatGPT 플러스 (유료)
GPTs
개요
유료라는 점 빼고는 가장 쉽게 만들 수 GPTs 를 사용하여
입문자들도 만들 수 있는 챗봇 소개
주요 내용
1.
GPTs로 로블록스 및 마인크래프트 이미지 만들기
2.
GPTs 사용법
3.
사용한 프롬프트
a.
기본 프롬프트
b.
보안 프롬프트
4.
한계
1.
GPTs 위치

2.
첫 화면
왼쪽 영역은 대화를 통해 무엇을 만들지 결정하면됨
우측 화면은 만든 후 테스트 할 수 있는 채팅 영역 (테스트 전 우측 상단 저장을 항상 하자!)
3.
“픽셀 크래프터(Pixel Crafter)” 만들기
4.
대화 1
a.
난 이미지를 등록하면 로블록스 또는 마인크래프트 스타일로 이미지를 변환하는 챗봇을 만들고 싶어~
5.
대화 2~3
a.
GPTs 가 물어보는 내용에 대해 답변하기
6.
대화 4
a.
로고 만들기 : 몇 번 대화를 하면 GPTs가 제목을 제안해 준다.
7.
대화 5
a.
추가할 것이지 더 있는지 확인 질문에 답변하면 우측 상단에 “Save”(저장) 버튼이 활성화 되며 저장 가능
b.
저장 후 링크를 받을 수 있음
8.
사용하기
a.
ChatGPT 메인 화면으로 가면 내가 만든 “픽셀 크래프터”가 있는 것을 확인 할 수 있다.
9.
사용한 프롬프트
a.
지시 가이드 프름프트
b.
보안 : GPTs 캠프에서 제공된 보안 관련 프롬프트를 영문으로 다듬어서 추가
c.
모든 대화를 한글만 사용하는 프롬프트
10.
GPTs 기능 확인 하기

Edit GPT: 개선 또는 편집할 수 있다.
Copy link: 외부에 링크 공유시 사용
1.
사용 결과 물
a.
이미지를 등록하여 질문에 답변하면 된다.
한계
실제 내 사진 같이 초상권이 걸려 있는 경우 이미지 그리기 거부 할 수 있음
👍😀😍
4
/velugadoc
Subscribe
RAG + Graph DB를 이용하여 추천 시스템 만들기에 대한 고민
안녕하세요, 이번 글에서는 벨루가에서 최근 시작하게 된 추천 시스템 프로젝트에 대해 소개하려 합니다. 추천 시스템은 이제 우리 일상 속에 깊숙이 자리잡았습니다. 쇼핑몰에서 상품을 추천받기도 하고, 음악 스트리밍 서비스에서 새로운 아티스트를 발견하기도 하죠. 이런 추천 시스템은 크게 두 가지 상황에서 사용 될 수 있다고 보았습니다. 첫째는 사용자가 직접 추천을 요청하는 경우이고, 둘째는 사용자의 행동과 상황을 분석하여 자동으로 추천하는 경우입니다. 개인적으로는 후자에 더 관심이 있는데요, 사용자의 니즈를 예측하여 능동적으로 추천하는 시스템을 만들고 싶었습니다. 그리고 우리 벨루가에서 탬플릿화 또는 솔루션화 될 수 있게 설계를 하면 좋겠다고도 생각했습니다. 나아가 수많은 카페24, 고도몰, 네이버 스마트 스토어와 연결하여 사용할 수 있겠다는 생각도 해봅니다. 하지만 막상 프로젝트를 시작하려니 고민이 많이 됐습니다. 사용성을 이해하고 신용카드 관련 도메인 지식이 가지고 있는게 아니거든요. 이럴 때는 어떻게 해야 할까요? 저희는 데이터에서 힌트를 찾기로 했습니다. 데이터 확보가 용이한 것 부터 생각해보기로. 아니면 약간의 상상으로 데이터를 만들 수 있다면 최소한의 검증을 할 수 있다고 생각했죠. 그리고 당현히 벨루가 팀은 RAG(Retrieval-Augmented Generation)와 Graph DB를 활용하기로 했습니다. RAG는 정보 검색과 생성을 결합하여 정확한 답변을 만들어내는 강력한 도구입니다. 여기에 Graph DB를 결합하면 데이터 간의 복잡한 관계성을 더 잘 활용할 수 있죠. 물론 Graph DB를 사용하는 데는 비용과 성능 이슈가 있습니다. 그리고 GPT, Claude, Gemini, Llama 3, Cohere 등과 같은 언어 모델 API를 사용하는 것도 속도와 비용 면에서 부담이 될 수 있죠. 하지만 개인화된 추천의 가치를 생각한다면 이 정도 투자는 충분히 의미 있다고 생각했습니다. 그리고 앞으로 더욱더 개인화는 세계적인 흐름이 될 것이라 생각 하고 있습니다. 또 한 가지 고민은 Graph DB의 엔티티를 어떻게 구분할 것인가였습니다. 사람이 일일이 정의하는 것도 방법이지만, 언어 모델을 활용한 자동화도 생각해 볼 만합니다. 이를 통해 시스템의 효율성을 한층 높일 수 있을 것 같았죠. 벨루가팀은 이 프로젝트를 통해 신용카드 맛집 추천 시스템을 만들어 보려 합니다. 사용자의 위치 정보, 신용카드 정보, 맛집 정보 등을 종합하여 가장 혜택을 많이 받을 수 있는 맛집을 추천하는 거죠. 이를 통해 신용카드 사용률도 높이고, 사용자 경험도 개선할 수 있을 것이라 기대하고 있습니다. 사실 저 자신은 추천 시스템을 잘 활용하지 않는 편인데요, 그 이유는 추천이 제 취향과 잘 맞지 않기 때문이었습니다. 하지만 이번 프로젝트를 통해 진정으로 개인화된 추천 시스템을 만들어 본다면, 저 같은 사용자들의 만족도도 크게 향상시킬 수 있지 않을까요? 물론 이 여정이 순탄치만은 않을 것입니다. 주어진 시간은 3~4주 정도, 시행착오도 있을 테고, 예상치 못한 어려움도 만날 수 있죠. 하지만 그 과정에서 배우고 성장하는 것, 그것이 이 프로젝트의 가장 큰 의미라고 생각합니다. 작은 성공부터 하나씩 쌓아가다 보면, 분명 값진 결실을 맺을 수 있을 거예요. 프로젝트가 완성되는 그 날까지, 벨루가는 계속해서 도전하겠습니다. 이 블로그를 통해 그 여정을 여러분과 함께 나누고 싶네요. 앞으로의 이야기가 기대되시나요? 저도 마찬가지랍니다. 여러분도 각자의 분야에서 새로운 도전을 시작해 보시는 건 어떨까요? 언제나 여러분의 도전을 응원하겠습니다. 다음 글에서 다시 만나요, 감사합니다! 예상 되는 설계 방향 데이터(예상) 사용자 프로필 (필수): UserID (고유 식별자) 나이 성별 선호 음식 카테고리 (한식, 중식, 일식, 양식 등) 선호 가격대 (저렴한, 보통, 고급) 식사 시간대 (아침, 점심, 저녁, 야식) 알레르기 정보 (땅콩, 갑각류, 유제품 등) 사용자 프로필 (선택): 직업 결혼 여부 가족 구성원 수 소득 수준 주거 지역 사용자 위치 데이터 (필수): 실시간 GPS 좌표 위치 업데이트 시간 사용자 카드 정보 (필수): 카드 발급사 카드 종류 (신용카드, 체크카드) 카드 등급 (일반, 골드, 플래티넘 등) 카드별 혜택 (할인율, 적립률, 무이자 할부 등) 맛집 데이터 (필수): 맛집 ID (고유 식별자) 맛집 이름 맛집 위치 (GPS 좌표) 음식 카테고리 (한식, 중식, 일식, 양식 등) 가격대 (저렴한, 보통, 고급) 영업 시간 전화번호 메뉴 정보 카드 혜택 (할인율, 적립률 등) 맛집 데이터 (선택): 평점 리뷰 개수 리뷰 내용 대표 메뉴 주차 가능 여부 예약 가능 여부 웨이팅 시간 식당 사진 카드사 제휴 데이터 (필수): 제휴 맛집 ID 제휴 카드사 제휴 카드 종류 제휴 혜택 (할인율, 적립률 등) 제휴 기간 개략적인 설계 우리 개발자분이 작업 중인 그래프 DB 모습
SangYeon_Lee
벨루가의 맛집 추천 채널 (단답형 QnA 템플릿 사용)
우리 서버 개발자분의 아이디어를 토대로 만든 맛집 추천 채널 벨루가에서 단답형 QnA 템플릿 사용 이유는 배고 픈데 대화할 시간이 없어서, 물으면 바로 답하게 하려고 제작 이유: 평소 벨루가 팀은 뭘 먹을지 참 어렵게 정해서 + 이미지 링클를 활용한 채팅 UI 노출 테스 뭔가 추천에 적절한 템플릿도 만들려고 양질의 데이터 보여주는 힘 요즘들어 더욱 느끼지만 양질의 데이터가 얼마나 중요한지 되세기에 적절한 케이스 여기 사용된 데이터는 크롤링으로 꽤 많은 양과 (개략 몇천개는 되는듯) 정형화 된 데이터를 수 너무 많아서 데이터 올리는데만 30분은 넘게 쓴것 같음 데이터 전체 약 38만 곳 데이터 구조 주소 | 장소 | 카테고리 |이미지 | 키워드 | 이름 |연략처 | 추천 | 리뷰 | 점수 | 리뷰내용 우리 개발자 분이 딱 필요하다고 생각하는 요소를 잘 정리해 주심 고급 설정을 사용 아래와 같이 기본 값 적용 Temperature(온도) 1.0 —> 0 으로 변경 Top P: 1.0 Maximum Length(최대 토큰) 2048 Top K: 6 지난 메세지: 1 모델: haiku와 gpt 3.5 turbo 만 사용 (주의) 사실 주소와 관련해서 할루시네이션 발생함 gpt 4 turbo 이상 쓰면 대부분 해결됨. 2차 수정에서 할루시네이션 꽤 제거함 시스템 프롬프트 (귀차니즘으로 그냥 했으니 절대 학습용을 보시지는 마세요!) 유저 프롬프트 (귀차니즘으로 그냥 했으니 절대 학습용을 보시지는 마세요!) 뭐 나쁘진 않게 나옴 보완점 자신의 위치를 넣는 API를 붙이면 정말 편할듯 데이터 양이 많아서 편하게 올리고 업데이트 할 수 있는 방법이 절실 어디랑 제휴를 해야할 듯
SangYeon_Lee
QnA 프롬프트 체인 기본 개념
프롬프트 체인? 대규모 언어 모델 관련 일들은 저글링과 같다고 생각할 수 있습니다. 한 번의 프롬프트에서 처리해야 하는 작업이 많을수록 무언가를 놓치거나 단일 작업을 제대로 수행하지 못할 가능성이 높아집니다. 따라서 여러 단계 또는 하위 작업이 필요한 복잡한 작업의 경우 이러한 작업을 하위 작업으로 나누고 프롬프트를 연결하여 모든 단계에서 최고 품질의 성능을 보장하는 것이 좋습니다. 프롬프트 체이닝이란 무엇인가요? 프롬프트 체이닝은 한 프롬프트의 출력을 다른 프롬프트의 입력으로 사용하는 것을 말합니다. 프롬프트를 서로 연결함으로써 관리하기 쉬운 일련의 작은 작업을 통해 궁극적으로 복잡한 목표를 달성할 수 있습니다. 프롬프트 연쇄에는 몇 가지 장점이 있습니다: 각 개별 단계에서 생성되는 출력의 정확성과 일관성 향상 특히 오류가 발생하기 쉽거나 처리하기 어려운 특정 하위 작업을 분리하여 문제 해결이 더 쉬워집니다. 어떤 경우 사용하나요? 다음과 같은 시나리오에서 프롬프트 체이닝을 사용하는 것이 좋습니다: 다단계 작업: 주제 조사, 문서 개요 작성, 문서 작성, 문서 서식 지정 등 여러 단계를 거쳐야 하는 작업의 경우 시나리오 기반의 챗봇 에이전트 같은 다양한 일을 처리하는 경우 프롬프트를 연결하면 각 단계에 집중하여 높은 수준의 작업을 수행할 수 있습니다. 복잡한 지시 사항: 하나의 프롬프트에 너무 많은 지침이나 세부 사항이 포함되어 있으면 일관성 있게 따라가는 데 어려움을 겪을 수 있습니다. 작업을 일련의 연쇄적인 하위 작업으로 나누면 각 하위 작업의 성능을 향상시킬 수 있습니다. 실제 예시 보기 구분선 안의 내용 전체가 하나의 프롬프트 입니다. 1. 질문 처리 및 초기 검색 지침: 사용자가 질문을 제출하면 시작. 질문이 영어가 아닌 다른 언어로 작성된 경우 정확성을 위해 번역합니다. 질문이 모호하거나 넓거나 구체적인 정보가 부족한 경우 추가 세부 정보나 명확한 설명을 요청합니다. 번역 및 명확화된 사용자 질문과 관련된 정보를 데이터베이스에서 철저히 검색합니다. 입력: user_question 출력: 검색 결과 또는 추가 세부 정보 요청 JSON 형식: 2. 결과 평가 및 개선 지시사항: 검색 결과의 관련성과 품질을 평가하세요. 관련이 없거나 일부 관련이 있는 결과가 여러 개인 경우, 관련성을 개선하세요. 관련된 데이터를 찾지 못한 경우, 해당 주제와 일반적인 정보를 제공하거나 사용자로부터 더 구체적이거나 다른 질문을 요청하세요. 입력: search_results 출력: 개선된 결과 또는 새로운 입력을 요청합니다. JSON 형식: 3. 사용자 상호작용 및 피드백 통합 지시사항: 이해할 수 있는 형식으로 개선된 정보를 사용자에게 제시하세요. 정보의 관련성과 포괄성에 대한 사용자의 피드백을 요청하세요. 사용자 피드백을 기반으로 검색 및 개선 과정을 조정하세요. 이는 추가 세부 정보, 설명 또는 쿼리에 대한 새로운 방향을 포함할 수 있습니다. 입력: refined_results, user_feedback 출력: 피드백에 기반한 업데이트된 정보입니다. JSON 형식: 4. 최종 응답 지침: 명확하고 간결하며 사용자의 질문과 피드백을 직접적으로 다루는 최종 답변을 작성하세요. 응답이 사용자가 이해할 수 있는 언어로 되어 있는지 확인하세요. 응답이 복잡한 주제와 관련된 경우 추가 자료를 위해 단순화하거나 추가 리소스를 제공하는 것을 고려하십시오. 입력: updated_information 출력: 사용자에 대한 최종 답변 또는 응답. JSON 형식: 5. 종료 및 지속적인 개선 지침: 사용자에게 응답에 만족하는지 또는 추가 질문이 있는지 묻습니다. 후속 질문에 답하거나 새로운 질문에 대한 프로세스를 반복할 준비를 하십시오. 시스템의 정확성과 사용자 경험을 향상시키기 위해 분석을 위해 전체 상호 작용을 기록합니다. 입력: final_response, additional_user_feedback 출력: 사용자 만족도 확인 또는 추가 질의 처리. JSON 형식:
SangYeon_Lee