Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- ollama
- langchain
- Security as a Service
- Homomorphic Encryption
- 애플인텔리전스
- apple intelligence
- SwiftUI
- Ventura
- pipelines
- Llama
- finetuning
- MAC
- AI
- LLM
- swift
- Xcode
- php
- VirtualBox
- IOS
- error outputting keys and certificates
- FastAPI
- provisioning file path
- HTTP
- app intents
- 정보관리기술사
- 앱 인텐트
- apache
- 동형 암호
- persona
- OSX
Archives
- Today
- Total
Project Jo
Role과 Content의 개념 본문
[{"role": "system", "content": "너는 과학자야. 간단하고 명확하게 답변해."},
{'role': 'user', 'content': '왜 하늘은 푸른색 인가?'},
{'role': 'assistant', 'content': '하늘이 푸른 색인 이유는 해양 산소(gas) 때문입니다. 어쩌구저쩌구~'},
{'role': 'user', 'content': '산소(gas) 때문이라면 어떤 절차로 우리 눈에 푸르게 보이게 되는건가?'},
{'role': 'assistant', 'content': '하늘이 푸른색으로 보이는 이유는 다음과 같은 과정을 거쳐 일어나는 현상입니다. 어쩌구저쩌구~'},
{'role': 'user', 'content': '여전히 잘 모르겠다. 화학식이나 주파수등 조금더 자세히 알려줘.'},
{'role': 'assistant', 'content': '해양 산소(gas)는 실질적으로는 물과 함께 존재하는 이산화탄소 어쩌구저쩌구~'}]
1. role의 종류 (일반적인 3가지 역할)
system (시스템 메시지)
설명
- 모델의 행동 방식을 정의하는 역할
- 모델이 어떤 태도를 가져야 하는지, 어떤 방식으로 응답해야 하는지 설정
사용 목적
- LLM이 특정 스타일이나 컨텍스트를 유지하도록 유도
- 답변 톤, 말투, 정보 범위를 조정
{"role": "system", "content": "너는 과학자야. 간단하고 명확하게 답변해."}
user (사용자 메시지)
설명
- 사용자가 직접 입력하는 질문 또는 요청
- 모델이 답변을 생성하는 트리거 역할을 함
사용 목적
- 사용자의 질문이나 요청을 모델에게 전달
{'role': 'user', 'content': '왜 하늘은 푸른색 인가?'}
assistant (AI의 응답 메시지)
설명
- AI (모델)가 생성한 응답을 저장하는 역할
- 이전 대화를 기억하고 맥락을 유지하는 데 필요
사용 목적
- LLM의 응답을 기록하여 대화의 연속성 유지
- 사용자와 자연스러운 대화 흐름을 만들 수 있음
{'role': 'assistant', 'content': '하늘이 푸른 색인 이유는 해양 산소(gas) 때문입니다. 어쩌구저쩌구~'}
2. role을 활용한 대화 관리 전략
system을 활용해 모델의 행동 방향 설정
- 챗봇: "system": "너는 친절한 고객 지원 AI야."
- 법률 AI: "system": "너는 법률 상담 AI이며 법적인 조언을 제공해."
대화 이력을 저장하여 맥락 유지
- "user"와 "assistant" 메시지를 함께 저장하면 긴 대화도 유지 가능
롤(role)을 조합하여 대화 컨트롤
- 사용자 질문("user") + AI 응답("assistant")을 반복하여 대화 흐름 유지
LLM(예: Ollama, OpenAI, Claude, etc.)과 대화할 때는 이전 대화 내용을 모두 함께 넘겨줘야 모델이 맥락을 이해하고 자연스럽게 응답할 수 있습니다.
3. 주의할 점: 메시지 길이 제한
모델마다 context length (문맥 길이) 제한이 있습니다.
예:
- LLaMA 3.1 8B → 약 8k tokens (한글 기준 약 4,000~6,000자 정도)
- GPT-4-128k → 128k tokens
너무 많은 메시지를 계속 넘기면 context limit을 초과해서 일부가 잘리거나 에러가 납니다.
4. 실전 팁: 대화 기록 관리 방법
- 사용자와의 대화는 순차적으로 저장 (role, content)
- 대화가 길어지면 요약(summarize) 해서 이전 대화를 줄이기
- 또는 중요한 정보만 뽑아 system 메시지로 축약해서 넣기
{"role": "system", "content": "하늘은 왜 푸른색으로 보이는가에 대한 설명입니다. 어쩌구저쩌구~"},
{"role": "user", "content": "광간섭은 무었인가?"}
5. 정리
모든 메시지 저장 필요? | ✅ 예 |
응답 받을 때 전부 넘겨야 하나? | ✅ 예 |
메시지 길이에 제한이 있음 | ⚠️ 예 |
해결책 | ✅ 요약 or 중요한 메시지만 유지 |
'Developer > LLM' 카테고리의 다른 글
Python 서버 만들기 (0) | 2025.04.15 |
---|---|
페르소나(Persona) (0) | 2025.04.14 |
FineTuning (0) | 2025.04.14 |
Ollama 외부 접근 on Mac (0) | 2025.04.04 |
Llama 3.1 on Mac (0) | 2024.09.08 |