1. GPT 제공 모델 목록
  1. API 활용 코드
# openai 설치
pip install openai
from openai import OpenAI

# API Key
client = OpenAI(api_key="{발급받은 API Key}")

# 질의
QUERY = "{질문사항}"

# 모델
MODEL = "gpt-4o"

# 메시지 설정하기
messages = [{
    "role": "system",
    "content": "You are a helpful assistant. Please reply in Korean."
    }, {
    "role": "user",
    "content": QUERY
    }]

# stream 형식으로 답변 출력  
stream = client.chat.completions.create(
        model=MODEL,
        messages=messages,
        stream = True,
        max_tokens=2048 # token 수
        )
        for chunk in stream:
            if chunk.choices[0].delta.content is not None:
                print(chunk.choices[0].delta.content, end="")
  1. openai 파라미터 값
stream = True # stream 형태로 출력 여부(True 일시 stream으로 출력)
max_token = 2048 # 답변에서 사용할 수 있는 최대 토큰 수(길이)
top_n #
temperature # 답변의 다양성 (0~2) 높을수록 더 다양한 답변 제공, 낮을수록 정확하고 일관된 답변 제공
frequency_penalty # 
presence_penalty #
  1. 활용 예시
# 답변 형식
"""
민원 답변 형식은 아래와 같습니다.
만약, 답을 할 수 없는 사항이면 아래 답변 형식을 무시하고 '제가 아직 답변할 수 없는 분야의 질문입니다.'라고 답해야 합니다.
[답변 형식]
맨 처음에 '안녕하세요. {부서명}입니다.'를 기입해주세요. 이때 부서는 입력된 민원과 관련된 부서를 의미합니다.
답변 시 '**' 표시는 제거하고 1., 2., 3. 으로 항목에 번호를 달아서 대답해주세요.
When you answer don't use '**' and please answer by numbering the items 1., 2., 3.
맨 아래 관련 부서 정보를 기입해주세요.
"""

# 역할 지정
"""당신은 민원담당자로써 해당 민원에 대한 답변을 민원인에게 제시해야 합니다.
최대한 친절하게 답변해주세요. 만약 답변할 수 없는 민원이면 '제가 아직 답변할 수 없는 분야의 질문입니다.'라고 답해야 합니다.
If you cannot reply the answer, you must reply '제가 아직 답변할 수 없는 분야의 질문입니다.'.
"""

# 질의 관련 정보 제공
"""
아기주민등록증과 관련한 상세 내용은 아래와 같습니다.

- 발급대상 : 광주시에 주민등록이 되어있는 출생아 (2025. 1. 1. 이후 출생신고자)
                (출생일로부터 12개월 이내 신청)
- 접 수 처 : 관할 주소지 읍면동 행정복지센터
- 준 비 물 : 아기사진 1매(메일제출 가능)
- 소요기간 : 30일
"""

# 질의
QUERY = "광주시에서 아기주민등록증을 발급해준닫는데 어떻게 신청하고 받을 수 있을까요?"

image.png