일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- firebase#message#메세지#플러터#안드로이드
- 커피#그라인더#통돌이 오픈 #로스팅#드립커피#생두#원두
- PDF검색#PDF검색챗봇#NEXTJS#스터디#스타트업#랭체이#langchain#prisma#sqlite#
- 쇼핑몰관리시스템#매입관리#시트메타#매입채널#엑셀업로드
- 마이봇#문서챗봇#PDF#TEXT#유투브#챗봇만들기#랭체인# langchain#벡터데이터#자료검색#챗GPT#GPT4#챗지피티
- 마이봇#핸드폰대체#
- 임대사업자#리걸테크#legaltech#마이봇#챗봇#법률챗봇#임대사업자챗봇#chatgpt#
- 로우코드#ERP#관리시스템#상품관리#선택박스#자동화프로그램
- figma#flutter#dhwise#피그마#플러터#피그마 to 플러터 #figma to flutter
- 마이봇#챗봇
- 광동온더그린#프랜즈#가상CC#스크린골프#
- 마이봇#API 설정
- fcm#메세지전송#안드로이드메세지#플러터메세지전송
- 펫버틀러#서버연동#프로필등록#로그인서버연동#이미지#동영상#업로드용 화면#앱개발#플러터#반려생활#로딩바#loading bar#
- 플러터#sms#mms#문자보내기
- 마이봇#pdf챗봇#상담챗봇#faq챗봇#chatgpt#랭체인#llm
- flutter#채팅창@메모창#url링크#날짜추가
- PDF#챗봇검색#서비스#GPT4#PGT3.5#GPT#랭체인#챗봇#CHATBOT#LLM#문서검색
- 마이봇#아이폰#아이폰심사#IT고시#
- flutter#ios#앱개발#마이봇#
- 마이봇#chatgpt#ai#인공지능
- mediasaop#webrtc#미디어서버#
- flutter#sqlite#chatGPT#
- flutterfire configure#파이어베이스#플러터
- 로우코드#lowcode#erp#관리시스템#시트메이트#시트메타#엑셀업로드#엑셀다운로드#그리드#데이터관리#생산관리시스템#로그관리#히스토리#입력체크
- 시트메타#관리시스템#테이블연동#품목관리
- ax5#tree#grid#단계별 펼치기# depth #시트메타
- #창작#SNS#스포츠#반려동물#연애#과제#레시피#활동#건강#운세#글쓰기#비즈니스 #AI비서#챗GPT#CHATGPT
- postgres#vector
- 플러터#
- Today
- Total
혼자서 앱 만드는 개발자 함께하는 AI 세상
슬롯, 인텐트, GPT, RAG가 함께 작동하는 방식 본문
How Slots, Intents, GPT, and RAG Work Together
1. Intent 인식:
사용자가 메시지를 보내면 시스템은 먼저 해당 메시지 뒤에 숨은 의도를 식별합니다.
예를 들어:
User: "다음 주에 도쿄행 비행기를 예약하고 싶어요."
인식된 의도: book_flight
2.슬롯 식별:
의도가 식별되면 시스템은 어느 슬롯을 채워야 하는지 알게 됩니다.
book_flight 인텐트용 슬롯에는 다음이 포함될 수 있습니다.
- destination
- departure_date
- number_of_passengers
3. GPT로 슬롯 값 채우기:
시스템은 GPT를 사용하여 사용자 입력에서 슬롯 값을 추출하고 채웁니다.
GPT는 사용자의 텍스트에서 관련 정보를 찾으라는 메시지를 표시할 수 있습니다.
사용자: "다음 주 수요일에 두 사람이 도쿄로 가는 비행기가 필요해요."
GPT 추출물:
- destination: 도쿄
- departure_date: 다음 수요일(필요한 경우 실제 날짜로 변환)
- number_of_passengers: 2
4. 추가 컨텍스트 또는 검증을 위해 RAG 사용:
특정 정보가 누락되거나 모호한 경우 시스템은 RAG를 사용하여 외부 기술 자료나 데이터베이스에 쿼리할 수 있습니다.
이는 다음에 도움이 됩니다:
추출된 정보 확인(예: 이용 가능한 항공편 일정 확인)
최신 지식이나 전문 지식을 바탕으로 보다 자세한 답변을 제공합니다.
예:
사용자가 "도쿄를 방문하기 가장 좋은 시기는 언제인가요?"라고 묻는 경우 시스템은 여행 가이드에서 최신 데이터를 검색하여 보다 정확한 답변을 제공할 수 있습니다.
GPT를 사용한 동적 슬롯 채우기:
5. GPT가 누락된 슬롯을 식별하면 사용자에게 동적으로 메시지를 표시할 수 있습니다.
bot(GPT 제공): "언제 출발하시겠습니까?"
User: "다음 주 수요일 아침."
GPT는 departure_date 슬롯을 '다음 주 수요일 오전'으로 채웁니다.
GPT 및 RAG를 사용한 슬롯 채우기 흐름 예시
다음은 Python의 개념적 구현입니다.
from datetime import datetime
import openai
# Sample slot structure
slots = {
'intent': None,
'destination': None,
'departure_date': None,
'number_of_passengers': None
}
def detect_intent(user_input):
# Intent detection logic (simplified)
if "flight" in user_input:
return "book_flight"
return "general_query"
def fill_slots_with_gpt(user_input):
# OpenAI GPT prompt to extract slot values
prompt = f"""
Extract the following information:
- Destination
- Departure Date
- Number of Passengers
User Input: "{user_input}"
Provide the details in JSON format.
"""
response = openai.Completion.create(
engine="gpt-4",
prompt=prompt,
max_tokens=50,
temperature=0.5
)
# Parse GPT's response (assuming a JSON-like output)
slot_values = response.choices[0].text.strip()
return eval(slot_values) # Convert the string to a dictionary
def handle_user_input(user_input):
# Step 1: Detect Intent
slots['intent'] = detect_intent(user_input)
# Step 2: Use GPT to fill slot values
gpt_filled_slots = fill_slots_with_gpt(user_input)
# Step 3: Update slot dictionary with extracted values
slots.update(gpt_filled_slots)
# Step 4: Check if any slot is still missing
for slot, value in slots.items():
if slot != 'intent' and value is None:
prompt_user_for_missing_slot(slot)
return
# Step 5: Optionally use RAG for further refinement or confirmation
if slots['intent'] == 'book_flight' and not slots['departure_date']:
retrieve_additional_info("flight_schedule")
# Final Response
generate_response(f"Flight booked to {slots['destination']} on {slots['departure_date']} for {slots['number_of_passengers']} passengers.")
# Example user input
user_input = "Book a flight to Tokyo next Wednesday for 2 people"
handle_user_input(user_input)
- GPT 및 RAG로 슬롯 채우기의 주요 이점
자연어 이해: GPT는 미묘하고 복잡한 사용자 입력을 처리하여 정보가 구조화되지 않은 방식으로 표시되는 경우에도 슬롯 값을 추출할 수 있습니다. - 상황 인식:GPT와 RAG의 조합을 통해 챗봇은 상황을 더 잘 이해하고 필요한 경우 추가 정보를 검색할 수 있습니다.
동적 슬롯 관리:GPT는 사용자에게 자연어로 메시지를 표시하여 누락된 슬롯을 적응적으로 처리할 수 있으므로 상호 작용이 더욱 유연하고 덜 엄격해집니다. - 정확도 향상:RAG를 사용하면 시스템에서 추출된 데이터를 확인하여 봇의 응답이 정확하고 최신인지 확인할 수 있습니다.
- 결론
예, GPT를 사용하여 슬롯 값을 채울 수 있으며 상황 인식 응답을 위해 RAG를 사용하여 이 프로세스를 향상시킬 수 있습니다. 의도 감지, GPT 기반 슬롯 채우기 및 RAG의 통합으로 더욱 강력하고 유연하며 지능적인 대화 환경이 보장됩니다.
이 접근 방식을 통해 챗봇은 사용자 의도를 원활하게 이해하고 필요한 세부 정보를 추출하며 관련성이 높고 개인화되었으며 정확한 응답을 제공할 수 있습니다.
'마이봇 chat GPT 오픈 프로젝트' 카테고리의 다른 글
입력 메시지에 대해 Llama 모델을 사용하여 인텐트를 도출 (6) | 2024.11.15 |
---|---|
Chatgpt slot Rag intent 관리 (5) | 2024.11.12 |
firebase php 메세지 보내기 키값생성하고 소스 수정 (3) | 2024.11.03 |
청소닷 앱 일정등록 수정 메인화면 변경 (0) | 2024.09.30 |
플러터 안드로이드 버전 문제 해결 (0) | 2024.09.30 |