본문 바로가기
개발/파이썬 API

koGPT, openAI GPT3 사용해보기 (chat gpt3, dall-e)

by beomcoder 2023. 2. 13.
728x90
반응형

1. openAI GPT3 사용해보기

결론부터 말하면 openAI의 gpt3과 dall e는 결제를 해야해서 포기하였다.

하지만 결제하면 사용할 수 있게 코드는 공유하려고 한다.

 

먼저 openAI의 chatgpt3에 사용된 모델을 똑같이 api로 사용할 수 있다.

 

OpenAI API

OpenAI is an AI research and deployment company. Our mission is to ensure that artificial general intelligence benefits all of humanity.

openai.com

 

openAI에 들어가서 회원가입을 해준다. 구글로 회원가입하면 편하게 가입이 된다.

그다음 오른쪽 상단의 프로필을 누르고 view api keys 를 누르면 아래와 같은 화면이 나온다.

 

 

create new secet key를 누르면 키가 발급된다. 하지만 무료로 사용할 수 있는 크레딧이 0달러이다.

그래서 안되는건데 크레딧을 왜 안주는걸까? 예전엔 줬다고 한다.

충전해보고 해볼 사람은 아래 코드를 참고하면 될 것 같다.

 

 

!pip install openai

먼저 openAI를 사용할 수 있게 모듈을 설치해준다.

 

import os
import openai
import requests

# 방법 1 key값을 알고 있을때
openai.api_key = OPENAI_KEY
openai.Model.list()

# 방법 2 key값을 복사하지 못했을때 
openai.organization = "본인의 인증 ID"
openai.api_key = os.getenv("OPENAI_API_KEY")
openai.Model.list()

방법 2개 중 첫번째는 키값을 알고 있을때, 두번째는 key값을 잊어버렸을때 사용하면 된다.

두번째는 본인의 인증 ID (Organization ID)를 입력하면 된다.

 

다음부터는 파이썬으로 적용하는 방법을 못찾아서 직접 함수를 만들었으니 원하는 방법으로 만들면 될 것 같다.

 

def model_explanation(name): 
# 어떤 모델이 있는지 알려주는 api
    r = requests.get(
        'https://api.openai.com/v1/models/' + name,
        headers = {
            'Authorization': 'Bearer ' + openai.api_key
        }
    )
    
    response = json.loads(r.content)
    return response

def make_image(prompt="a coding grandfather", n=1, size="256x256"): 
# dall e를 이용하여 이미지를 만드는 api
    r = requests.post(
        'https://api.openai.com/v1/images/generations',
        headers = {
            'Authorization': 'Bearer ' + openai.api_key
        },
        json = {
            'prompt': prompt,
            'n': n,
            'size': size
        },
        
    )
    
    response = json.loads(r.content)
    return response
print(model_explanation('text-davinci-003'))

"""
{	
	'id': 'text-davinci-003', 
	'object': 'model', 
    	'created': 1669599635, 
    	'owned_by': 'openai-internal', 
    	'permission': [
    	{'id': 'modelperm-WSbqqsSZe1b0ScHgkaXQhkZT', 
        'object': 'model_permission', 
        'created': 1676066223, 
        'allow_create_engine': False, 
        'allow_sampling': True, 
        'allow_logprobs': True, 
        'allow_search_indices': False,
        'allow_view': True, 
        'allow_fine_tuning': False, 
        'organization': '*', 
        'group': None, 
        'is_blocking': False
        }], 
    'root': 'text-davinci-003', 'parent': None
}
"""

 

# openai에서 제공하는 파이썬에서 돌아가는 코드이다.
response = openai.Image.create(
  prompt="a white siamese cat",
  n=1,
  size="1024x1024"
)
image_url = response['data'][0]['url']

# 처음엔 이 파이썬에서 제공하는 코드를 보지 못해 내가 만들었다. (위의 함수 사용)
print(make_image(prompt='a coding grandfather', n=1, size='512x512'))

# 결과
# {'error': {'code': 'billing_hard_limit_reached', 'message': 'Billing hard limit has been reached', 'param': None, 'type': 'invalid_request_error'}}

 

하지만 크레딧이 한계에 도달했다는 code가 나오고 종료가 된다.

만약 크레딧을 충전했다면 정상적으로 사진이 받아 졌을 것이다.

 

openAI의 이미지 생성과 관련한 기능은 3가지가 있다고 한다.

1.  텍스트 프롬프트를 기반으로 처음부터 이미지 생성

2. 새 텍스트 프롬프트를 기반으로 처음부터 이미지 생성

3. 기존 이미지의 변형 만들기

 

뭐 그 외에도 모델을 자기가 아웃풋을 설정하여 직접 모델을 학습시키는 방법도 있고,

chat gpt의 기능을 전부 사용할 수 있는데 결론은 유료이다.

그래서 나는 여기까지만 사용하고 추후 크레딧을 받거나, 무료가 된다면 추가로 포스팅해보겠다.

 

2. kakao koGPT사용해보기

 

 

Kakao Developers

카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.

developers.kakao.com

 

먼저 카카오디벨로퍼에 들어가서 회원가입을 한다.

회원가입을 하고 '내 애플리케이션'을 누르고 '애플리케이션 추가하기'를 누른다.

 

 

앱 이름과 사업자명을 적어준다. 그냥 공부할 목적이면 애플리케이션이 어떤 용도로 쓰일지 적어주면 된다.

그리고 체크박스에 체크하고 저장하면 된다.

 

 

저장하여 만들어진 애플리케이션을 클릭하면 앱 키를 확인 할 수 있다.

우리는 api를 사용할 것이라 REST API 키를 복사해서 사용할 것이다.

그다음 코랩을 키거나 vscode를 켜서 코드를 입력하면 된다.

나는 코랩에서 사용해서 코랩기준으로 알려주려 한다.

 

# coding=utf8
# REST API 호출에 필요한 라이브러리
import requests

# [내 애플리케이션] > [앱 키] 에서 확인한 REST API 키 값 입력
REST_API_KEY = '본인의 KAKAO_KEY'

# KoGPT API 호출을 위한 메서드 선언
# 각 파라미터 기본값으로 설정
def kogpt_api(prompt, max_tokens = 1, temperature = 1.0, top_p = 1.0, n = 1):
    r = requests.post(
        'https://api.kakaobrain.com/v1/inference/kogpt/generation',
        json = {
            'prompt': prompt,
            'max_tokens': max_tokens,
            'temperature': temperature,
            'top_p': top_p,
            'n': n
        },
        headers = {
            'Authorization': 'KakaoAK ' + REST_API_KEY,
            'Content-Type': 'application/json'
        }
    )
    # 응답 JSON 형식으로 변환
    response = json.loads(r.content)
    return response

 

먼저 koGPT를 사용하기 위해 api 함수를 작성해준다. 형식은 바뀌지 않으니 그대로 사용하면 된다.

 

# KoGPT에게 전달할 명령어 구성
prompt = '''인간처럼 생각하고, 행동하는 '지능'을 통해 인류가 이제까지 풀지 못했던'''

# 파라미터를 전달해 kogpt_api()메서드 호출
response = kogpt_api(
    prompt = prompt,
    max_tokens = 32,
    temperature = 1.0,
    top_p = 1.0,
    n = 3
)

for v in response['generations']:
    print(v['text'])

 

 

print(response)

"""
{
'id': '88091ca6-6227-479e-8883-cd65a579431b', 
'generations': [
{'text': ' 난제들에 도전해 왔다. 특히 생명공학의 발달로 부자지간에도 유전자를 공유해 같은 결과물 을 만들 수 있게 되면서 세상이', 'tokens': 32}, 
{'text': ' 의외의 수수께끼들이 일부 풀려나가고 있어. 바이올린 하나만 있으면 좌뇌와 우뇌를 동시에 사용해 연주할 수 있다는 건', 'tokens': 32}, 
{'text': ' 지능이 갖고 있는 숨겨진 힘과 놀라운 영향력 돈이 어떻게 움직이는가의 비밀은 엄청나게 복잡한 리얼리티 프로그램 시청자 여러분 중 대부분 돈에 관심', 'tokens': 32}
], 
'usage': {'prompt_tokens': 66, 'generated_tokens': 96, 'total_tokens': 162}
}
"""

 

 

변수명 타입 설명 필요여부
prompt String KoGPT에게 전달할 제시어인 프롬프트 한국어만 지원 구현 예제를 참고해
수행 과제에 적합한 내용으로 구성
O
max_tokens Integer KoGPT가 생성할 결과의 최대 토큰 수
KoGPT는 지정된 최대 토큰 수 이하 길이의 결과만 반환
결과 토큰 수가 최대 토큰 수보다 적으면, 결과 생성 종료를 알리는 [EOS]까지의 결과만 반환
O
temperature Double 온도 설정 ( 0 초과 1 이하의 실수 값 사용 가능 )
temperature 수치가 높을수록 더 창의적인 결과가 생성됨 (기본값: 1)
X
top_p Double 상위 확률 설정 (0 이상 1 이하의 실수 값 사용 가능)
top_p 수치가 높을수록 더 창의적인 결과가 생성됨 (기본값: 1)
X
n Integer KoGPT가 생성할 결과 수 (설정값 만큼 요청을 처리하고 쿼터를 차감함, 최대: 16, 기본값: 1) X

 

여기서 이제 프롬프트는 자신이 koGPT에게 전달할 내용이다.

최대 글자수는 나와 있지 않은걸로 보아 제한되어있지 않은 것 같다.

한글만 적어야 된다고 써져있다.

 

max_tokens는 쉽게 말해 답을 몇글자까지 받을 지 적는 것이다. 이 값을 크게 적어도 꽉 채워서 오거나 하지는 않는다.

적절한 값을 적는 것이 좋다. 이 값이 커질수록 우리의 무료 토큰사용량이 줄어든다.

나머지는 설명글을 읽어보면 이해가 갈 것으로 생각해 적지 않겠다.

 

koGPT의 기능은 7가지나 된다. 하지만 써보니 잘 되지는 않아 좋은지는 모르겠다.

 

첫번째로 위에서 보여준 예시이다.

글을 적당히 쓰고 나면 그 뒤에 나올말들을 예측해서 적어서 답변해준다.

일기를 써준다거나, 소설을 쓰고 할때 사용하면 좋을 것 같지만 답이 시원찮다.

 

# KoGPT에게 전달할 명령어 구성
prompt = '''저희 모임을 소개하려고 합니다. 저희 모임은 50대로 구성된 모임입니다. 관심사는 골프이며 '''

# 파라미터를 전달해 kogpt_api()메서드 호출
response = kogpt_api(
    prompt = prompt,
    max_tokens = 256,
    temperature = 1.0,
    top_p = 1.0,
    n = 3
)

for v in response['generations']:
    print(v['text'])

 

우리 회사는 모임 어플을 제공하는 회사라서 혹시나 모임 소개글을 먼저 작성해주고

거기서 고치게하면 좋을 것같다는 취지에서 이 API를 생각해본 것인데 결과는 처참했다.

 

강남CGV 전용관인 씨네파크에서 매월 넷째 주 일요일마다 스크린골프를 하고 있습니다. 모이게 된지가 2년정도 되어 모임의 인원도 여러분들이 알아야 할만합니다.. [아래 자세한 사항은 네이버카페에 올리겠음] 등산모임하고 자총(자율 절약동맹)과 다른 점? 한마디로 말해서 절약의 단위가 다릅니다 이유인즉슨 자신 스스로 목표치를 정하기 때문이지요 현재 은행이자의 1-2% 은행저축율 시대라고 보시면 됩니다 은행에도 학제그룹으로 junk bank 에 따라 개인별 신용등급과 해당항목별로 배점되었다고 생각하시면 정확할 듯 싶네요 하여 보다,,, 무의미하면서도 생활비 쓴다면 보통사람으로서 모으는데 어려움 없으실겁니다 다만~ 좀더 빨리 경제적 자립하기 위함이시라면 지금 모두 채워두셔야 나중산당히 돈벌 성향이 확고하여 너~~무 레버리지 해대고야 견뎌유지 못함니다 과욕도 부가 지출이 많으면 언젠간 누적됩니다 <ᅲ ᅮ 바로 정답 역시 절약밖에없습니다 방법을 안내드립니다 부부의 경우 공동명의든 명의를 한개 갖게끔 부부간 의사합의 대체로 집담보 대출받아주심 기가막힐 겁니다 사실 우리나라 무 모기지론대출 사채처리 몰라도
년 걸쳐서 4번 라운딩하고 필드 전문 투어&골퍼 라이프북 우사장님과 함께 머리병원되어 시니까1증님의 집에서 자고 1박2일 월요일 토요일 낮3시에 각각출동하여 수도권 72홀 이상가능 심장수술전문가 1분과 골리타이거우즈도 하루반에 치료완료와 48시간안치유채취지켜 볼수없음(15인 드클렉스 떨림틀림 당나옴등) 추석 마일리지 인정 또한 꿈꾸시죠 다른업보다 열심히 열심히 오래공 계속 이용 가능토록 최선 다할열심으로 생각 Calamia 1도움받고도 이동 폴대막았지만 그래도 최선 ᅳᆞᅮ 2019년 3월31까지 다음cafe 제주벙개 최강데이비드 맞춤이벤트행사 상품평 작성 안하면14만패배 신경꺼라 ~~ 부킹참깨~ 한번웃으면영원한것 ****** 나랑 함께 뛰면 최고골방 신모든번개우승자 강신성운회원임 정확정직 엔터효능 및 홍보에 관심있으신분 내통장을 전기능활성 나폴나폴구름당기면서 신명꿈꾸소서 라이온보물 회원 34000명사진 숨겨진멤버 바로 한명씩 추천^^ 임종석 2백명 회원 중 눈에 띄는점들은 골다방운영용양박프로플러스
1960년대부터 느낀 자본주의의 문제에 대해 현재 50대가 가지고 있는 시각과 미래를 준비하기 위한 액션플랜責任,垂範 이런 것들을 함께 해보자는 취지로 시작 되었습니다. 저의 처음 출발이력(?)은 한겨레 신문 10년 기자에서 논설위원 1년 다닌 후 회사에서 쫓겨 났네요 퇴직자 연금 일만해도 고률 비쌉니다. 2004년도에 3D업종까지 마다 앉아하던 원래 저의 직장 월급보다 삼분의 이정도 늘어났으니 큰 어려움 없이 지내온 차~암 복이 많았지요. 그래서 골프는 단순 취미생활정도 저와 다른 게 없었지만 고민 하지 않았스빈다 지금생각하면 제가 고급승용차타고 다니느라오펜들이 줄어 가잖아요..운동하느라고 가입자격: 60세이상 지역별로 회장님 계신다. 회비:없으요 우리모임은 골프장 파3위주 운동권으로표출되어 5월말이나 6월중 정기모임은 결정할 예정이다 산행과 산악회 위주도 생각해봤는데 시간 맞추기도 쉽지않아 다음학기 개강 전에 그냥 부담없이 어울려 생각하는것만이라도 실천하기위해 연습삼기라운드 하곤 했다 그래서 연령대가 자연스럽게 모이다보니 회장

 

무슨 이야기를 하는지도 모르겠다.

 

두번째 기능은 문장 분류하기이다. 

 

주어진 프롬프트의 분류 예시를 참고해 마지막 문장을 같은 기준으로 분류(Classification)합니다.

분류 대상인 마지막 문장은 예시의 각 문장과 같은 형식으로 입력해야 합니다.

아래는 상품평을 긍정 또는 부정으로 분류 요청하는 예제입니다. 결과가 "긍정" 또는 "부정"이어야 하므로

max_tokens은 1로 지정해 요청합니다.

prompt='''상품 후기를 긍정 또는 부정으로 분류합니다.
가격대비좀 부족한게많은듯=부정
재구매 친구들이 좋은 향 난다고 해요=긍정
ㅠㅠ약간 후회가 됩니다..=부정
이전에 먹고 만족해서 재구매합니다=긍정
튼튼하고 잘 쓸수 있을 것 같습니다. 이 가격에 이 퀄리티면 훌륭하죠='''
response = kogpt_api(prompt, max_tokens=1, temperature=0.4)

라고 예시가 나와 있었다.

 

그래서 나는 게시글이 광고글인지 아닌지 분류해보려 했다.

prompt='''게시글을 광고 또는 정상으로 분류합니다.
이거 꼭 사보세요=광고
재구매 친구들이 좋은 향 난다고 해요=광고
ㅠㅠ약간 후회가 됩니다..=정상
이전에 먹고 만족해서 재구매합니다=광고
우리 모임 꼭 참여해보세요=정상
배 싸게 팔아요='''

response = kogpt_api(prompt, max_tokens=1, temperature=0.4)
print(response)


"""
{'id': 'fb0a568d-f26f-451d-b592-e2b33cf672c6',
 'generations': [{'text': '광고', 'tokens': 1}],
 'usage': {'prompt_tokens': 68, 'generated_tokens': 1, 'total_tokens': 69}}
"""

이 기능은 꽤 잘 되는 것 같다.

이걸 원래 하려면 이진분류로 모델을 학습시켜서 했었는데

몇글자로 간단히 학습을 시켜 가능한 것 보니 이건 쓸 수 있는 부분같다.

 

세번째는 뉴스 한 줄 요약하기이다.

이건 논문이나 뉴스를 한줄로 요약하는 인공지능이 많이 있는데 그 기능과 유사한 듯 싶다.

사용해보니 이건 절대 못쓸것 같다. 개똥이다.

 

prompt='''스페인어인 ‘비바라비다‘는 ’인생이여! 만세! 란 의미다.
이런 의미를 살려 개발한 ‘오이 (https://oe-app.com)’ 는 말 그대로 ‘오십대들의 이야기’이다.
국내 유일의 중장년층을 주력 고객으로 선정한 취미 기반 소셜 플랫폼으로, 중장년층이라면 누구나 무료로 APP을 다운받아 사용할 수 있다.
자신이 좋아하는 취미를 다양한 사람들과 나눌 수 있고, 음성으로 소통할 수 있는 메타버스 공간에서 서로 소통할 수 있는 소셜 플랫폼이다.
중장년층의 스마트폰 사용률은 이미 98%를 넘었으나, 아직 이들을 위한 커뮤니티조차 없는 것이 현실이다. 특히 거의 대부분의 소셜 플랫폼들은 MZ세대들이 주 사용층을 이루고 있어, 중장년층들의 경우 관심이 있어도 쉽게 다가갈 수 없는 어려움이 있다.
“이런 점에 착안해 주력 고객이 중장년층인 서비스를 만들게 되었다“는 것이 마석완 대표의 소개다.
‘오이’는 중장년들만의 커뮤니티여서 그다지 어렵지 않게 기존 회원들과 융화되는 특징이 있다.
또 ‘오이’에는 채팅보다 음성으로 이야기하는 것이 더 익숙한 중장년층을 위해 ‘음성 소통 메타버스 서비스’를 개발했다. 선뜻 낯선 모임에 가입하기 어려워하는 회원들도 기존 모임원들과 음성으로 이야기를 나누며 유대감을 쌓을 수 있다.
실제 음성 소통 메타버스 기능 도입 이후, 앱을 사용하고 있으나 온라인으로 모임에 가입하는 것이 낯설어 지켜만 보고 있던 ‘샤이 유저’ 60% 이상이 메타버스 속에서 다양한 사람들과 이야기를 나누고, 모임에 가입하거나 새로운 모임을 개설하는 등 장벽을 낮추고 있다.
”지금의 중장년층들은 대한민국을 개발도상국에서 선진국 반열에 올려놓았으며 아마도 치열한 경쟁 속에서 숨 돌릴 틈 없이 열심히 달려오셨을 것입니다. 이제 아이들도 다 분가하고, 여유가 생겨 자신을 돌아보려 해도, 무엇을 어떻게 지내야 행복한지 모르는 경우가 많은 것 같습니다. 사실 제 부모님이 딱 이런 케이스였습니다. 부모님이 ‘이제는 자신을 위해 더 즐기시고, 더 행복했으면 좋겠다’라는 생각에서 중장년층을 위한 플랫폼을 만들게 되었습니다.“ 마 대표의 말이다.
국내 시니어 산업 규모는 125조 원으로 연 평균 14% 이상 성장하고 있다. 특히 MZ세대를 대상으로 하고 있는 관심사 기반 커뮤니티 ‘문토’의 경우 포스트 코로나 이후 300배 성장했다고 밝히는 등 취미 기반의 소셜 플랫폼들이 빠르게 성장하고 있는 추세다. 이같은 성장에도 불구하고, 아직 중장년층을 대상으로 하는 취미 기반 플랫폼 마켓리더가 없는 상태다.
마 대표는 “‘오이’가 초기 시장 점유율을 선점하여 5년 이내 중장년층을 위한 새로운 취미 문화를 만들어 나가고자 한다”는 포부를 밝혔다.
마 대표는 코트라 뉴델리 무역관에서 수출 지원 업무를 하던 경험을 살려 2020년 ‘K-Fashion 오픈마켓 수출 플랫폼’으로 사업을 시작했다가 여의치 않아 새로운 아이템으로 변경했다.
첫 번째 아이템에 실패하면서 가장 크게 깨달았던 것은 “철저하게 ‘고객’이 원하는 제품을 만들어야 된다”는 깨달음이다. 현재는 사용자들의 데이터와 피드백을 바탕으로 고객들이 원하는 기능을 만들고 있다.
고객들이 온라인 모임에 참여할 때 가장 많이 신경을 쓰는 ‘모임 평점/후기’ 기능과 매너가 좋은 사람을 판별할 수 있는 ‘매너 오이’ 기능, 음성으로 소통할 수 있는 ‘메타버스’ 기능 등을 갖추게 됐다. 추가적으로 각 지역에 있는 취미 관련 클래스들과 연계하는 기능도 준비 중이다.

한줄요약:'''
response = kogpt_api(prompt, max_tokens=256, top_p=0.7)

 

 

response

'''
{'id': '40b994a6-8f1f-4814-9581-e5a533d559ea',
 'generations': [{'text': "'○ ○유저여러분께 인사드립니다'는 이번에 새롭게 런칭한 고령자를 주요 고객층으로 한 기능 및 시스템을 설명하는 것입니다. 
 '입니다그리고'는 브랜드의 네이밍으로 앞으로 진행될 앱 및 서비스에 대한 콘셉트와 비전을 담고 있습니다.
 \n앱 화면입니다. 1단계에서 회원가입을 하면 됩니다. 2단계에서는 '○요일'에 대해 설정을 할 수 있는데, 3단계부터는 10개의 모임 중 하나를 선택해서 들어가 볼 수 있습니다.
 \n주소록입니다. 알림을 꺼놓으면 1분마다 소식이 전달됩니다.\n방명록입니다. 글자가 모두 지워진 편지함을 확인할 수 있습니다. 
 개인적으로 마음에 드는 부분입니다.\n채팅기능입니다. 상대방과의 대화창에 글자가 표시됩니다. 내 글자는 상대방의 글자와 같습니다.
 상대방이 하는 말을 들을 수도 있습니다.\n음성통역시스템입니다. 한글자막보기, 영어번역, 일본어번역 등 언어 번역 기능을 제공합니다.
 \n분류 기능입니다. 같은 종류의 방끼리 모아볼 수 있습니다. 카테고리 별로 모아볼 수 있기 때문에 원하는 정보를 찾기 편합니다.",
   'tokens': 256}],
 'usage': {'prompt_tokens': 857,
  'generated_tokens': 256,
  'total_tokens': 1113}}
  '''

 

요약을 하라고 했는데 어디서 비슷한 앱 관련 뉴스글을 가지고 온듯하다.

이 부분은 학습이 많이 필요해보인다.

영어로 논문 축약하는 인공지능은 상당히 잘 요약하던데

아직 한국의 매일 나오는 '게섯거라 gpt3'은 먼 것 같다.

 

네번째는 chat gpt처럼 질문에 답변하는 기능이다.

 

이제 기능을 소개하기도 민망할 지경이다.

prompt='''웹사이트의 도메인은 어떻게 만들 수 있어?:'''
response = kogpt_api(prompt, max_tokens=128, temperature=0.2)

"""
{'id': '33cad0de-73c2-457a-a4c0-5045874400f7',
 'generations': [{'text': ' 웹사이트를 만드는 방법\n홈페이지를 만드는 방법에 대해 설명해 주세요.\n[답] 웹사이트를 만드는 방법',
   'tokens': 29}],
 'usage': {'prompt_tokens': 12, 'generated_tokens': 29, 'total_tokens': 41}}
"""

물어보니까 제대로 알려주는 게 없어서 이게 맞나? 싶어서 한번더 예시를 읽어보았는데 가관이다.미리 정보를 알려주고 물어보면 답을 알려준단다.내가 이미 다 찾았는데 뭐하러 또 물어보는지 모르겠다.

 

# 카카오의 예시이다.

prompt='''의료 스타트업으로 구성된 원격의료산업협의회가 10월부터 열리는 국정감사 시기에 맞춰 국회와 정부에 비대면 진료법 근거 마련을 촉구하는 정책제안서를 제출한다. 코로나19 사태에 비대면 진료의 한시 허용으로 원격 진료, 의약품 배송 등 서비스가 속속 등장하는 가운데 제도화 논의를 서둘러야 한다는 목소리가 높아질 것으로 전망된다. 코리아스타트업포럼 산하 원격의료산업협의회는 '위드(with) 코로나' 방역 체계 전환을 염두에 두고 비대면 진료 제도화 촉구를 위한 공동 대응 작업을 추진하고 있다. 협의회는 닥터나우, 엠디스퀘어, SH바이오, 메디버디 등 의료 스타트업 13개사로 구성됐다. 협의회는 국정감사 시기를 겨냥해 국회와 주무 부처인 보건복지부에 비대면 진료의 법적 근거 마련을 촉구할 방침이다. 이를 위해 주요 의원실과 관련 의견을 교환하고 있다. 협의회는 궁극적으로 의료법과 약사법 개정이 필요하지만 의료법 테두리 안에서 시행령 개정 등으로도 비대면 진료 가능성과 대상·의료기관 등을 구체화할 수 있다는 복안이다. 복지부 장관령으로 비대면 진료 기간을 명시하는 방안 등을 통해 사업 리스크도 줄일 수 있다. 올해 안에 국내 방역체계 패러다임이 바뀔 것으로 예상되는 점도 비대면 진료 제도화의 필요성을 높이고 있다. 최근 코로나19 백신 접종이 속도를 내면서 방역 당국은 위드 코로나 방역체계 전환을 고려하고 있다. 인구 대비 백신 접종 완료율이 70%가 되는 오는 10월 말에는 전환 논의가 수면 위로 뜰 것으로 보인다.
정책제안서를 제출하는 시기는 언제인가?:'''
response = kogpt_api(prompt, max_tokens=128, temperature=0.2)

# 답
"""
{
    'id': '0bacf513-ec4d-40e8-a747-8852ad982e19', 
    'generations': [
        {
            'text': ' 10월[EOS]', 
            'tokens': 3
        }
    ], 
    'usage': {
        'prompt_tokens': 348, 
        'generated_tokens': 3, 
        'total_tokens': 351
    }
}
"""

 

뭐 그래도 한번 써보란대로 써보자 하고 해봤는데도 제대로 된 답변은 없다.

 

prompt = '''05. 도메인 구매하기

일단 자신의 웹사이트를 위한 도메인명을 선택했다면 서둘러 먼저 선점하는 것이 좋습니다. Wix에서 도메인명을 등록하는 방법은 다음과 같습니다.


 도메인 검색 페이지로 이동합니다.

원하는 도메인명을 입력하고 ‘검색(Search)’을 클릭합니다.

선택한 것을 사용할 수 있는 경우, ‘구매(Get It Now)’를 클릭하여 진행합니다. 하지만 이미 다른 사람이 사용하고 있는 경우, Wix에서 제공하는 추가적인 아이디어를 찾아보거나 검색창에 다른 옵션을 입력해 봅니다. 

자신의 웹사이트에 맞는 이름을 찾았다면 ‘구매’를 클릭합니다. 

다음으로 도메인 등록 기간을 1~3년 중 하나를 선택합니다. 기간을 길게 설정할수록 해당 비용을 매년 절약할 수 있습니다. 기간을 정했다면 ‘다음’을 클릭하고 결제를 진행합니다. 

도메인을 사이트에 연결하여 친구, 가족뿐만 아니라 타깃 고객과 공유해 보세요.

웹사이트에서 도메인을 만드는 방법은?:'''

response = kogpt_api(prompt, max_tokens=128, temperature=0.2)

"""
{'id': '82d3d1f5-0959-45f0-adcc-552aff4a9960',
 'generations': [{'text': ' http://www.wix.com/dns-services/\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n',
   'tokens': 128}],
 'usage': {'prompt_tokens': 247, 'generated_tokens': 128, 'total_tokens': 375}}
"""

 

이정도면 '그만 알아보자'를 외쳐야 할 듯 싶다.

 

나머지 기능들도 있지만 마지막으로 하나만 소개하고 그만하려고 한다.

어차피 되지도 않는거 적는 손이 아프다.

 

마지막 기능은 말투 바꾸기이다.

말투를 바꿔주는건데 예제는 반말 문장을 존댓말로 바꾸는 것이다.

 

prompt='''주어진 문장을 존댓말 문장으로 바꿔주세요.

문장:하지마!
존댓말:하지 말아주세요.

문장:나랑 같이 놀러가자
존댓말:저랑 같이 놀러가지 않으실래요?

문장:배고파 밥줘
존댓말:배가고픈데 밥을 먹어도 될까요?

문장:그거 재밌어?
존댓말:그것은 재미 있나요?

문장:뭐하는거야 지금
존댓말:지금 무엇을 하시는 건가요?

문장:당장 제자리에 돌려놔
존댓말:'''
response = kogpt_api(prompt, max_tokens=10, temperature=0.7)

"""
{
    'id': 'ab6014fe-fea1-45ca-8792-647f809906f7', 
    'generations': [
        {
            'text': '당장 제자리에 돌려 놓으세요.\n\n문장', 
            'tokens': 10
        }
    ], 
    'usage': {
        'prompt_tokens': 123, 
        'generated_tokens': 10, 
        'total_tokens': 133
    }
}
"""

예제를 보고 그러면 다른 말투로 바꿔주는게 될까 싶어서 해보았다. 

# KoGPT에게 전달할 명령어 구성
prompt = ''' 주어진 문장을 다른 말투로 바꿔주세요.

저희 모임을 소개하려고 합니다. 저희 모임은 50대로 구성된 모임입니다. 관심사는 골프이며 일주일에 한번씩 만나서 골프를 치고 있습니다. 편하게 와서 이야기해요.
다른 문장:'''

# 파라미터를 전달해 kogpt_api()메서드 호출
response = kogpt_api(
    prompt = prompt,
    max_tokens = 1024,
    temperature = 1.0,
    top_p = 1.0,
    n = 1
)

for v in response['generations']:
    print(v['text'])
    
"""
파티 로베르타베렐 화혜 저자 김은아 출판 샨티 발매 2020.07.30.
"""

 

뭐라는 건지 전혀 학습이 안되었다.

혹시 예제대로 안해서 그런건가 싶어서 조금더 귀찮지만 자세히 써주었다.

 

# KoGPT에게 전달할 명령어 구성
prompt = ''' 주어진 문장을 다른문장으로 바꿔주세요.

문장:저희 모임을 소개하려고 합니다. 저희 모임은 50대로 구성된 모임입니다. 관심사는 골프이며 일주일에 한번씩 만나서 골프를 치고 있습니다. 편하게 와서 이야기해요.
다른문장:저희 모임은 50대로 구성된 모임입니다. 관심사는 골프이고, 한달에 한번씩 만나서 골프를 치고 뒤풀이를 진행하고 있습니다. 자세한건 가입하셔서 채팅으로 해요!

문장:모임소개를 하고 싶습니다. 모임은 독서모임이고, 일주일에 한번씩 책 읽은 내용을 게시글을 적는 것입니다.
다른문장:모임소개를 하겠습니다. 저희 모임은 독서모임이고 한달에 한번씩 책을 읽고 느낀점을 적는 모임입니다.

문장:컴퓨터를 사랑하는 모임입니다. 저희는 한달에 한번씩 하고싶었던 내용을 공부해와서 소개하는 모임입니다.
다른 문장:'''

# 파라미터를 전달해 kogpt_api()메서드 호출
response = kogpt_api(
    prompt = prompt,
    max_tokens = 1024,
    temperature = 1.0,
    top_p = 1.0,
    n = 1
)

for v in response['generations']:
    print(v['text'])
    

"""
겨울스포츠라는 서로의 소망차이?나 이번달의 다짐같습니다^^(어~이 저희 이번달까지만할꺼예요..활동히가네요 ᄏ2기에 오지마요;;)이후부터 각자 쓰시면 돼요이제 알았어요.
"""

 

무료 토큰을 다쓰면 유료로 쓰는 API임에도 이렇게 제대로 안되면 문제가 있는듯 싶다.

아직은 gpt3을 따라가지는 못하는 것 같다.

728x90
반응형

댓글