박민혀기
2023 캡스톤디자인 및 AI 해커톤 경진대회(트립GAGO) 본문
ChatGPT API를 활용한 여행 추천 및 정보 제공 서비스
[메인 수익 구조]
- 광고 수익: 어플리케이션 내에 해당 여행지 관련 광고를 표시하고 광고주로부터 광고 수익을 얻는 모델. (ex. 제주도의 엑티비티 업체, 가게 홍보 등)
- 프리미엄 앱 또는 구독 모델: 어플리케이션의 기본 기능을 무료로 제공하고, 고급 기능이나 광고 제거 옵션을 유료로 제공하는 모델입니다. 또는 구독 서비스를 제공하여 매월 또는 매년 일정한 금액을 받는 방식입니다.
- → 유료로 전환 시, ChatGPT-4 사용 가능 ⇒ 보다 더 많은 기능 o
실험결과 문제점
- 직접적인 상호명 안알려줌 → 데이터 따로
- 오류 존재: 강릉에 오션월드 없음 → 로컬 주민과 매칭
- 랜덤으로 결과 값이 추출 ⇒
남자/여자로 나누어 실험하는 것은 무의미. ⇒ 이후의 추천 리스트에 반영
[기존 서비스와 차별성 및 기대 효과 —(3), (4)]
- 현지인들이 제공한 정보들 ⇒ 신뢰성 o
- 이동하는 길 위의 맛집, 볼거리 추천 기능 ⇒ 보다 알찬 여행 루트 o
- 사용자의 성향에 맞춘 계획들을 추천 → 대안들 중 사용자가 선택 .
- ⇒ 보다 사용자에 맞출 수 있어 여러 자료들을 찾아봐야 하는 시간적 부담감을 줄일 수 있게 됨.
- GPT 사용 O
- 여행자 정보 입력 받기
- 성향관련 정보
- 여행관련 정보
- 여행 코스 날짜별로 보여주기
- 코스별 이미지 보여주기
- 관련 링크 걸기
여행 시 주의사항 정리- 길찾기(프리미엄)
- 사진 입력으로 어디인지 알려주기(프리미엄)
- 여행 메이트 매칭: mbti에 따라
- 4명 메칭
- 설문조사, 여행 기간, 여행지
- 채팅 가능
- 맞춤 여행 계획 메뉴로 이동 가능
- 여행자 정보 입력 받기
- GPT 사용 X
- 여행 준비물 체크리스트 제공
여행 계획 공유 사용자 추가 기능- 로컬 주민 매칭: GPT가 짜준 계획 검토 받기
- 매칭중
- 계획 수정 부분 알려주기
- 로컬주민 평가
랜덤하게(원래는 사용자 질문 입력, 버튼으로 구현) 구문을 만들어 ChatGPT에 질문하고 답변 받는 코드
import openai
import random
openai.api_key = "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"
sex = {"남자", "여자"}
age = {"10대", "20대", "30대", "40대", "50대", "60대 이상"}
people = {"가족들이랑 ", "친구들이랑 ", "혼자 "}
date = {"1박", "2박", "3박", "4박", "5박"}
move = {"밤에", "낮에"}
style = {"여유로운", "알찬"}
end = {"서울", "부산", "인천", "대구", "대전", "광주", "울산", "세종", "수원", "고양", "용인",
"창원", "안양", "포항", "광명", "김해", "안산", "의정부", "안동", "전주"}
food = {"김치찌개", "된장찌개", "제육볶음", "순대국밥", "메밀국수", "회",
"마라탕", "뿌링클", "닭갈비", "베스킨라빈스"}
start = {"대광", "목포", "무안", "진주", "양산", "여수", "인제", "포천", "춘천", "통영", "퇴촌",
"함양", "홍성", "홍천", "화성", "화천", "화순", "횡성", "가평", "양주"}
car = {"차가 있어", "차가 없어"}
MBTI = {"ISTJ", "ISFJ", "INFJ", "INTJ", "ISTP", "ISFP", "INFP", "INTP",
"ESTP", "ESFP", "ENFP", "ENTP", "ESTJ", "ESFJ", "ENFJ", "ENTJ"}
selected_items = []
for item_set in [sex, age, people, date, move, style, end, food, start, car, MBTI]:
selected_items.append(random.choice(list(item_set)))
ques = []
content = "나는 " + selected_items[0] + "야 연령은 " + selected_items[1] + "이고 "
+ selected_items[2] + selected_items[3] + "으로 갈 거야 여행 패턴은 주로 " +
selected_items[4] + " 활동하고 " + selected_items[5] + "여행을 좋아해 이번 여행은 그냥 "
+ selected_items[6] + "으로 놀러 가는 거야 네가 여행 계획을 추천해 줘 중간에
들리거나 먹을 만한 곳도 추천해 줘 점심은 " + selected_items[7] + "을 먹을거야
참고로 내가 출발하는 위치는 " + selected_items[8] + "이야, " + "참고로 나는 " +
selected_items[9] + " 그리고 나의 MBTI는 " + selected_items[10]
print("내 질문 : " + content)
messages = []
# content = input("User: ")
messages.append({"role":"user", "content":content})
completion = openai.ChatCompletion.create(
model = "gpt-3.5-turbo",
messages=messages
# prompt="Tell me a joke:", # 사용자 입력 메시지
# max_tokens=50, # 생성된 응답의 최대 토큰 수 (선택 사항)
)
chat_response = completion.choices[0].message.content
print(f'트립가고 : {chat_response}')
messages.append({"role":"assistant", "content":chat_response})
'etc' 카테고리의 다른 글
Python 실행 파일 배포(OpenCV 등 호환) (0) | 2023.12.14 |
---|---|
한컴 설치 후 크롬, 엣지에서 pdf 열리지 않을때 (0) | 2023.10.25 |
중간 점검 (0) | 2023.09.23 |
Github Remove Folder/File (0) | 2023.08.16 |