카테고리 없음

[chat GPT API] 나만의 번역기 웹앱 제작

찌니쿤 2024. 2. 12. 12:15

1. chat gpt API 사이트 접속한다

https://platform.openai.com/

 

2. API Keys 접근 - Create new secret key - Name 지정 후 create secret key - 링크 복사

*key는 외부에 노출시키면 안됩니다. 타인이 쓰는만큼 결제 본인이 해야함.

 

3. 복사한 key 값을 코드 텍스트 문서에 붙여넣는다

 

코드 설명

 

import streamlit as st
import openai

streamlit과 openai를 import해준다.

 

if "messages" not in st.session_state:
    st.session_state.messages = []
with st.chat_message("assistant"):
	st.write("안녕하세요! 무엇이든 제가 영어로 번역해드릴게요!")

session_state는 이전 대화값을 기억하는 함수이다.

 

with open("private") as f:
    api_key = f.read().strip()
openai.api_key = api_key # API Key

문서에 저장해둔 API 키를 불러와 openai.api_key로 받아준다. 

 

prompt = st.chat_input("번역할 문장")
if prompt:
    completion = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=[{"role": "user", "content": f"{prompt}\n위 문장을 영어로 변역해줄 수 있니?"}]
    )
    st.session_state.messages.append((prompt,completion["choices"][0]["message"]["content"]))

프롬프트 내용을 결과값을 받아 session state messates로 넘겨준다.

 

for prompt, answer in st.session_state.messages:
    with st.chat_message("user"):
        st.write(prompt)
    with st.chat_message("assistant"):
        st.write(answer)

프롬프트 메시지를 받아 시각화한다.

 

>> 실행해보며 제대로 구현되는지 확인한다.