반응형
블로그 이미지
개발자로서 현장에서 일하면서 새로 접하는 기술들이나 알게된 정보 등을 정리하기 위한 블로그입니다. 운 좋게 미국에서 큰 회사들의 프로젝트에서 컬설턴트로 일하고 있어서 새로운 기술들을 접할 기회가 많이 있습니다. 미국의 IT 프로젝트에서 사용되는 툴들에 대해 많은 분들과 정보를 공유하고 싶습니다.
솔웅

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

카테고리


반응형

OpenAI API 를 사용하기 위해서는 OpenAI 를 로컬에 깔아야 하고 이 OpenAI API를 사용해서 어플리케이션을 만들 언어도 깔아야 합니다.

 

저는 파이썬을 깔겠습니다.

 

파이썬은 이곳에서 다운 받아서 인스톨 하면 됩니다.

 

https://www.python.org/downloads/

 

Download Python

The official home of the Python Programming Language

www.python.org

다 깐 다음에는 아래 명령어로 버전을 확인 하고 최신버전으로 업그레이드도 합니다.

python --version

pip install pip --upgrade

 

 

그 pip을 이용해서 openAI를 인스톨 합니다.

 

pip install openai

pip install openai --upgrade

 

여기까지 하면 openai API로 어플리케이션을 개발 할 수 있습니다.

 

저는 참고로 소스 관리를 위해 github 세팅을 했고 편집 툴로 notepad++를 깔았습니다.

 

https://github.com/

 

GitHub: Let’s build from here

GitHub is where over 94 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat...

github.com

https://notepad-plus-plus.org/downloads/

 

Downloads | Notepad++

 

notepad-plus-plus.org

 

이제 첫번째 파일을 한번 만들어 보죠. (저는 notepad ++를 사용해서 만들었습니다.)

 

import openai

def open_file(filepath) :
    with open(filepath, 'r', encoding='utf-8') as infile :
        return infile.read()
        

openai.api_key=open_file('openaiapikey.txt')

def gpt3_completion(prompt, engine='text-davinci-002', temp=0.7, top_p = 1.0, tokens =400, freq_pen=0.0, pres_pen=0.0, stop=['<<END>>']) :
    prompt = prompt.encode(encoding='ASCII', errors='ignore').decode()
    response = openai.Completion.create(
        engine=engine,
        prompt=prompt,
        temperature=temp,
        max_tokens=tokens,
        top_p=top_p,
        frequency_penalty=freq_pen,
        presence_penalty=pres_pen,
        stop=stop)
    text = response['choices'][0]['text'].strip()
    return text
  
if __name__ == '__main__' :
    prompt = 'When will South Korea and North Korea be unified?:'
    response = gpt3_completion(prompt)
    print(response)

 

이렇게 만들었습니다.

소스 코드 설명은 아래 카테고리에 있는 글들을 참고하세요.

https://coronasdk.tistory.com/category/Open%20AI

 

'Open AI' 카테고리의 글 목록

개발자로서 현장에서 일하면서 새로 접하는 기술들이나 알게된 정보 등을 정리하기 위한 블로그입니다. 운 좋게 미국에서 큰 회사들의 프로젝트에서 컬설턴트로 일하고 있어서 새로운 기술들

coronasdk.tistory.com

참고로 8번째 줄의 openaiapikey.txt 는 같은 폴더에 이 파일을 만들고 그 안에 OpenAI로부터 받은 API Key를 넣으면 됩니다.

 

Open AI 에 던진 질문은 남한과 북한은 언제 통일이 될까? 입니다.

When will South Korea and North Korea be unified?:

 

이제 이것을 실행하고 그 답을 볼까요?

실행은 아래와 같이 합니다.

python hello_world.py

 

응답은 이렇게 나왔네요.

 

한국말로 번역하면

"한반도와 지역 전체의 정치적 상황을 포함한 여러 요인에 따라 변동성이 크기 때문에 남북한이 언제 통일될지 예측할 수 없습니다."

 

이렇게 나왔습니다.

 

한번 더 질문을 해 보겠습니다.

 

"확실한 답은 없지만 많은 전문가들은 가까운 미래에 통일이 이루어질 가능성은 낮다고 보고 있습니다."

첫번째와는 조금 다르게 나왔는데요. 뭐 크게 다르지는 않네요.

 

한번만 더 해보죠.

 

"통일 시기는 북한의 비핵화, 경제 발전, 남북 관계 등 여러 요인에 따라 달라지기 때문에 정해진 날짜는 없다."

 

표현은 약간 다르지만 대충 언제 통일 될지는 알 수 없고 여러 대내외적 요인에 따라 달라질 수 있으며 가까운 미래에 통일될 가능성은 낮다는 내용입니다.

 

이로서 로컬에 개발 환경 세팅하고 OpenAI API 와 처음으로 소통해 봤습니다.

 

성공~~~~~~

 

P.S.

참고로 이 API를 이용하는 것은 유료입니다.

위와 같이 세번 이용한 금액은 0.00262 달러 입니다.

원화로 하면 3.23원 쯤 됩니다. 그러니까 저런 간단한 질문 하나 하면 1원 쯤 지불 해야 하네요.

이렇게 작업한 내용은 아래와 같이 github repository에 저장합니다.

 

git add . ==> 업데이트되거나 새로 생성된 파일을 추가한다.

git status

git commit -am "initial commit"

git push

 

이러면 내 소스파일을 github에 저장할 수 있습니다.

 

 

그럼....

반응형