본문 바로가기

PyCharm

PyCharm gpt번역앱 (2024-06-04)

chatGPT
- OpenAI가 개발한 자연어 처리 모델로, 인간과 유사한 방식으로 대화를 나눌 수 있는 인공지능 시스템
- GPT(Generative Pre-trained Transformer) 아키텍처를 기반으로 현재는 GPT-4 버전을 사용 중
- 기본적으로 영어로 세팅 -> 다국어를 이용시 영어에 비해 느리고 정보량이 부족할 수 있음
- 상황을 구체적으로 기술할수록 좋은 결과를 기대할 수 있음
    - streamlit에 대해 설명해줘
    - 나는 AI개발자야. 직원을 교육하고 있는데, streamlit에 대해 개념을 설명하려고 해.
     해당 자료를 만들어줘
- chatGPT에게 역할을 부여할수록 좋은 결과를 기대할 수 있음
    - 신입사원에게 질문할 문항을 만들어줘
    - 너는 스타트업 개발팀장이야. 팀장처럼 행동해줘. 네가 질문을 하면 내가 대답을 할게
    첫번째 질문을 만들어줘.

chatGPT API 사용하기

 

import streamlit as st
import openai

openai.api_key = "sk-proj-GFQ0DO9J1J6mSFbp4Y6TT3BlbkFJb4apPkDTmLZcwsHGXDVK"

example = {
    "한국어": ["오늘 날씨 어때?", "딥러닝 기반의 AI기술이 인기를 끌고 있다"],
    "영어": ["How is the weather today?", "AI technology based on deep learning is gaining popularity"],
    "일본어": ["今日の天気はどう?", "ディープラーニングベースのAI技術が人気を集めている"]
}

def translate_text_chatgpt(text, src_lang, trg_lang):
    def build_fewshot(src_lang, trg_lang):
        src_examples = example[src_lang]
        trg_examples = example[trg_lang]

        fewshot_messages=[]

        for src_text, trg_text in zip(src_examples, trg_examples):
            fewshot_messages.append({"role": "user", "content": src_text})
            fewshot_messages.append({"role": "assistant", "content": trg_text})
        return fewshot_messages

    system_instruction = f"assiatant는 번역앱으로서 동작한다. {src_lang}을 {trg_lang}으로 적절하게 번역하고 번역된 텍스트만 출력한다."
    fewshot_messages = build_fewshot(src_lang=src_lang, trg_lang=trg_lang)

    messages = [{"role": "system", "content": system_instruction}, *fewshot_messages, {"role": "user", "content": text}]
    # print(messages)

    response = openai.chat.completions.create(
        model="gpt-3.5-turbo", messages=messages
    )
    print(response.choices[0].message.content)

st.title("초간단 번역 서비스앱")

text = st.text_area("번역할 내용을 입력하세요", "")
src_lang = st.selectbox("번역할 언어를 선택하세요", ["한국어", "영어", "일본어"])
trg_lang = st.selectbox("번역될 언어를 선택하세요", ["영어", "한국어", "일본어"])

if st.button("번역하기"):
    translated_text = translate_text_chatgpt(text, src_lang, trg_lang)
    st.success(translated_text)

'PyCharm' 카테고리의 다른 글

PyCharm 광고문구 서비스앱(2024-06-05)  (0) 2024.06.05
PyCharm fastAPI (2024-06-04)  (0) 2024.06.04