반응형

1.ChatGPT 란?

  • GPT3.5 , GPT4 모델을 기반으로 하는 대화형 인공지능 서비스
  • 인공지능 챗봇
  • 인간의 피드백을 통한 강화학습으로 훈련
  • openAI 라는 회사가 만듦
  • 일론머스크, 샘알트만이 공동 설립.
  • 서비스는 프롬프트 + 응답의 구조

 

2.ChatGPT Simple Application 

  • open ai 의 api 를 이용하여나만의 챗봇 애플리케이션 만들기
  • 구현 내용
    • 파이썬 이용
    • streamlit 패키지를 이용하여 웹 애플리케이션으로 띄움
    • 간단한 입출력 폼 작성
    • openai 의 api 를 이용하여 서비스 로직 작성

3. code (api 호출 부분만)

from dotenv import load_dotenv
from chatgpt_logger import logger
import openai
import os



def get_openai_options():
    openai_model = os.environ.get("OPENAI_MODEL")
    openai_temperature = os.environ.get("OPENAI_TEMPERATURE")
    oepnai_max_token =os.environ.get("OPENAI_MAX_TOKEN") 

    args = {
        'model': openai_model,
        'temperature' : openai_temperature,
        'max_token' : oepnai_max_token,
    }

    return args

def load_env():

    # set environment for application
    load_dotenv()
    version = os.environ.get("VERSION")
    openai_token = os.environ.get("OPENAI_TOKEN")

    version = os.environ.get("VERSION")

    # set openai connection
    openai.api_key=openai_token

    logger.info(f"app version :  {version} \t")


def answer_from_chatgpt(query):
    #query = 'yarn cluster manager의 개념을 알려줘'
    answer = ''
    if query is None or len(query) < 1:
        answer = 'No Response..'
        return answer


    options = get_openai_options()
    response = openai.Completion.create(model=options['model'], prompt=query, temperature=float(options['temperature']),max_tokens= int(options['max_token']))
    res = response['choices'][0]['text']
    answer = res

    return answer

 전체 코드 : https://github.com/jaysooo/chatgpt_streamlit_app

 

GitHub - jaysooo/chatgpt_streamlit_app: Simple Streamlit Application of chatGPT

Simple Streamlit Application of chatGPT. Contribute to jaysooo/chatgpt_streamlit_app development by creating an account on GitHub.

github.com

 

 

 

4. 여담

결혼 전에 구매했던 컴퓨터(mini pc) 에 리눅스를 올려서 홈 서버를 구축했다. nextcloud, vscode server 등 서버에 오픈소스들 올리고, 회사나 외부에서 원격으로 붙어 이것저것 해보는 중이다. 위에 만든 chatGPT app 도 기능 좀 추가하고 나만의 모델을 만들어 학습해서 써볼 생각이다.

 

최근 바빠서 블로그 포스팅, 알고리즘 스터디를 소홀히 하고 있다. 안그래도 바쁜데 파트 내에 함께 했던 좋은 동료들이 이직을 많이 하고 있다. ㅠㅠ .. 좋은 데이터 엔지니어 동료가 필요한 상황이다...  

 

시간이 되면 회사에서 PoC 했던 airbyte on EKS 내용도 올리겠다.

 

 

반응형

+ Recent posts