2차원으로 가는 열쇠

Kyu hyunSung·2024년 8월 19일

open Ai Assistant를 사용해봤다.

똑같은 Instruction을 붙여 넣어봤지만 오히려 뭔가 이상하게 나와서 프롬프팅하느라 조금 고생했다.

확실히 GPTS랑은 다르게 디테일한것들을 적용시킬 수 있어 좀 더 세심한 작업이 필요한 것 같다.

아 참고로, GPTS만드는거랑 다르게 PDF파일이 적용이 안될 수도 있는데 그럴땐 PDF를 Markdown으로 변환하여 TXT파일로 붙여넣어보자.

https://community.openai.com/t/assistant-api-cant-read-my-pdf-how-come/807919

하여간 어시스턴트에는 많은 기능들이 있지만 차차 알아 가보도록 하고,

우리는 오늘 API라는 것을 이용해 2차원으로 가는 열쇠를 만들어보자.


1. API 키를 발급받자.

당연하게도 오늘 글은 유료로 진행되니 부담되는 사람은 읽기만 하자.

우선 금액충전을 해주도록 하자 참고로 Add to credit balance를 누르면

뭐 이런식으로 뜨는데 필자느 처음에 자동결제 금액 조절 뭐 이런건줄 알았다.

근데 Continue 누르면 저거 10달러 그대로 나가니 뭐가 됐건 돈 관련된 문제는 꼼꼼히 알아보자

(실제로 막누르다가 원치도 않은 25달러 충전됨)

그러면 다시 Dashboard로 돌아와서

Create new secret key 라는 버튼이 있다 눌러서 발급받자.

(참고로 API키는 한번밖에 안보여주기 때문에 잘 저장해놔야한다.)

API 키를 발급받았다면 여러분들은 이 세계로 갈 준비가 된것이다. 이제 그 열쇠들을 다양하게 사용해보자

2. API키와 Assistant 사용해보기

이제 여러분들이 준비한 API키와 Assistant 봇이 있을것이다.

아래 코드를 사용해보자

우선 우리는 파이썬을 사용해 볼 것이기 때문에 파이썬을 깔아놨다는 전제 하에 설명한다.

각자의 콘솔창(Window라면 cmd)를 켜서 아래 명령어를 쳐보자

(맥북과 다른 운영체제에서는 다른 방법일 것이다. 구글링해보자.)

pip install openai

그러면 어쩌구 저쩌구가 진행 될 것이다.

다 끝나서 다시 콘솔창이 제대로 돌아오면

파이썬 파일 하나를 만들어보자

import time

from openai import OpenAI
import re


client = OpenAI(
  api_key='여러분의 개인 API키 입력'
)
assistant = client.beta.assistants.retrieve(
    assistant_id='여러분이 만든 Assistant의 id입력.'
)
thread = client.beta.threads.create()

def wait_on_run(run, thread):
    while run.status == "queued" or run.status == "in_progress":
        run = client.beta.threads.runs.retrieve(
            thread_id=thread.id,
            run_id=run.id,
        )
        time.sleep(0.5)
    return run

while True:
    content = input('Enter your message:')
    message = client.beta.threads.messages.create(
        thread_id=thread.id,
        role='user',
        content=content
    )

    # Execute our run
    run = client.beta.threads.runs.create(
        thread_id=thread.id,
        assistant_id=assistant.id,
    )

    # Wait for completion
    wait_on_run(run, thread)
    # Retrieve all the messages added after our last user message
    messages = client.beta.threads.messages.list(
        thread_id=thread.id, order="asc", after=message.id
    )
    response_text = ""
    for message in messages:
        for c in message.content:
            response_text += c.text.value
    clean_text = re.sub('【.*?】', '', response_text)
    print(clean_text)

여러분의 API키와 Assistant의 ID

노란색으로 칠한 요녀석이다. 잘 입력해주고 저장해주자

파일경로는 cmd의 기본 경로에 저장해주는게 제일 귀찮지않고 좋은 방법이다.

필자는 C:\Users\user 디렉토리에 저장해놨다.

그다음 다시 cmd 창을 켜 코드를 실행시켜보자

python 파일이름.py

라고 치면 된다.

그러면 이런식으로 메세지를 칠 수 있고 API가 응답하여 그대로 대답을 해준다.

참고로 Assistant에 설정해놓은 GPT 모델에 따라 금액이 달라지니 조심하도록 하자.

(토큰의 개념이라 적당히 테스트 했으면 종료하도록 하자.)

3.Open AI 공식문서

Python을 대표적인 예시로 들었으나 OpenAi API 공식문서에는 다양한 언어들과 라이브러리가 존재한다.

이것저것 다른 내용들도 많으니 공부해 보길 바란다.


profile
디지털 치매 예방

0개의 댓글