반응형
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
4. 여담
결혼 전에 구매했던 컴퓨터(mini pc) 에 리눅스를 올려서 홈 서버를 구축했다. nextcloud, vscode server 등 서버에 오픈소스들 올리고, 회사나 외부에서 원격으로 붙어 이것저것 해보는 중이다. 위에 만든 chatGPT app 도 기능 좀 추가하고 나만의 모델을 만들어 학습해서 써볼 생각이다.
최근 바빠서 블로그 포스팅, 알고리즘 스터디를 소홀히 하고 있다. 안그래도 바쁜데 파트 내에 함께 했던 좋은 동료들이 이직을 많이 하고 있다. ㅠㅠ .. 좋은 데이터 엔지니어 동료가 필요한 상황이다...
시간이 되면 회사에서 PoC 했던 airbyte on EKS 내용도 올리겠다.
반응형
'Data Engineer' 카테고리의 다른 글
fastapi - 컨테이너 서비스로 구성해보기 (2) (0) | 2023.09.25 |
---|---|
fastapi - 컨테이너 서비스로 구성해보기 (1) (0) | 2023.07.24 |
airbyte(에어바이트) 구축 및 실습 (0) | 2023.01.02 |
airbyte (에어바이트) 기초 (1) | 2023.01.02 |
Docker Compose를 이용하여 Apache kafka (카프카) 클러스터 구축 (0) | 2022.08.19 |