inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지

메인코드 작성하기

오류가 왜 뜨는 지 모르겠어요

207

gimgirl

작성한 질문수 6

0

import openai
import streamlit as st

def askGpt_mart(prompt):
    messages_prompt = [{"role": "system", "content": "친절하고 과학에 대해 깊게 알고 있는 다정한 과학자야. 그래서 답변할 때 다정하고 구체적으로 답변하고 단어가 어려우면 단어의 대체언어도 같이 나태내줘"},{"role":"user","content": f"{prompt}에 대한 실험 도구와 재료를 알려줘"}]
    response = openai.ChatCompletion.create(model='gpt-4o-mini', messages=messages_prompt)
    gptResponse = response["choices"][0]["message"]["content"]
    return gptResponse

def askGpt_method(prompt):
    messages_prompt = [{"role": "system", "content": "너는 똑똑하고 친절한 과학자야. 그래서 실험 방법을 구체적으로 쉽게 설명해주고 어려운 단어는 쓰지 않아."},{"role":"user","content": f"{prompt}에 대한 실험 방법을 알려줘"}]
    response = openai.ChatCompletion.create(model='gpt-4o-mini', messages=messages_prompt)
    gptResponse = response["choices"][0]["message"]["content"]
    return gptResponse

def askGpt_dev(prompt,prompt1,prompt2,prompt3):
    messages_prompt = [{"role": "system", "content": "너는 똑똑하고 친절하고 섬세한 과학자야. 원래 실험 방법에서 사용자의 환경을 고려하여 적절하게 실험 방법을 바꿔서 구체적이고 세세하게 알려주는 과학자야."},{"role":"user","content": f"나는 {prompt}에 대한 실험을 할거야. 하지만 나는 {prompt1}이 없어. 그래서 {prompt1}은 쓰지 못해. {prompt1}을 사용하는 실험 방법을 바꾸되 성공하게 하는 실험 방법을 알려줘 나는 {prompt2}에서 실험을 진행할 거야. 상황과 환경에 맞는 실험 방법을 부탁해. 또 {prompt3}(이)라는 추가적인 환경과 조건이 있으니까 이 모두를 적절히 고려해서 완전히 구체적이고 세부적이고 자세한 실험 방법을 알려줘" }]
    response = openai.ChatCompletion.create(model='gpt-4o-mini', messages=messages_prompt)
    gptResponse = response["choices"][0]["message"]["content"]
    return gptResponse

def askGpt(prompt):
    messages_prompt = [{"role": "system", "content": "너는 청자가 이 실험을 처음 하는 사람인 것을 알아서 이 실험이 실패할 수 있는 일을 구체적이고 자세하게 설명하면서 그러지 않기 위해서 어떻게 해야하는지 답하는 과학자야"},{"role" : "user", "content":f"{prompt}에 대한 실험 주의사항을 구체적으로 알려줘"}]
    response = openai.ChatCompletion.create(model='gpt-3.5-turbo', messages=messages_prompt)
    gptResponse = response["choices"][0]["message"]["content"]
    return gptResponse


def main():

    with st.sidebar:
        # Open AI API 키 입력받기
        open_apikey = st.text_input(label='OPENAI API 키', placeholder='Enter Your API Key', value='',type='password')
        # 입력받은 API 키 표시
        if open_apikey:
            openai.api_key  = open_apikey 
        st.markdown('---')

    st.header("AI 실험 도우미 ⚗️")
    st.markdown("---")

    ex_name = st.text_input("실험 이름",placeholder="거울 구리 실험, 나트륨 폭발 실험, 코끼리 실험...")

    co1,co2 = st.columns(2)
    with co1:
        if st.button("실험 도구 및 재료 안내"):
            prompt = ex_name
            st.info(askGpt_mart(prompt))

    with co2:
        if st.button("실험 방법 안내"):
            prompt = ex_name
            st.info(askGpt_method(prompt))

    st.markdown("===")

    col1,col2,col3 = st.columns(3)
    with col1:
        no_mar = st.text_input("없는 준비물",placeholder="유리막대, 비이커, 전자현미경...")

    with col2:
        where = st.text_input("장소",placeholder="집, 학교 실험실, 대학 생명과학 실험실...")

    with col3:
        add = st.text_input("추가 정보",placeholder="습도를 바꾸지 못함, 기온이 20도 이상으로 올라가지 않음...")

    if st.button("AI 실험 도우미"):
        prompt,prompt1,prompt2,prompt3 = ex_name,no_mar,where,add
        st.info(askGpt_dev(prompt,prompt1,prompt2,prompt3))

    if st.button("주의사항"):
        prompt = ex_name
        st.info(askGpt(prompt))

if __name__=='__main__':
    main()

python 챗봇 streamlit openai chatgpt

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. gimgirl님!

‘RateLimitError’는 OpenAI API가 사용자의 현재 할당량을 초과했음을 알려주는 메시지입니다. 이는 주로 API 호출이 과도하게 발생했을 때 발생하는데, 이런 경우 일반적으로 다음과 같은 원인과 해결 방법이 있을 수 있습니다:

  1. API 할당량 확인: OpenAI에서 제공하는 API는 일반적으로 무료로 일정 용량까지 사용할 수 있으며, 이후에는 과금제 계획이 적용됩니다. 할당량을 초과했다면 API의 사용량 할당량을 확인하고 필요시 업그레이드해야 할 수 있습니다. 자세한 내용은 OpenAI의 사용자 문서를 참조하세요.

  2. 신용카드 정보 확인: 서비스 이용자가 자신이 구독하고 있는 요금제를 초과하게 되면 요금제에 따라 과금될 수 있습니다. 이 경우 OpenAI 대시보드에서 신용카드를 등록하고 요금제를 확인함으로써 문제를 해결할 수 있습니다.

  3. 과도한 호출 제한: 만약 짧은 시간 안에 너무 많은 API 요청이 발생했다면, 이를 제한하는 것도 문제 해결의 한 방법입니다. API 호출 간에 딜레이를 두는 방법으로 초과를 방지할 수 있습니다.

아래 유사한 질문이 있는 URL들도 참고하시면 도움이 될 수 있습니다:
- You exceeded your current quota, please check your plan and billing details.
- openapi 키 발급 후 코드를 작성하였더니 오류가 뜹니다

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

쭌랩

안녕하세요 쭌랩입니다.

 

최근에 API 사용에 대한 정책이 선불제로 바뀌었습니다. 일정량의 크래딧을 충전하셔야만 사용이 가능합니다! API 크래딧 충전 후 사요하시면 아마 잘 되실 것 같아요!

 

감사합니다.

화면이 보이지 않아요

0

31

1

터미널프로세스 시작오류

0

54

1

vscode에서 select interpreter 가상환경 안보님

0

184

2

제미니

0

120

1

맥os환경에서 아무리해도 인터프리터가 보이지 않아요.

0

127

1

실습코드다운로드

0

155

1

가상환경 종료

0

251

1

파파고 api

0

179

1

googletrans 에러

0

165

1

가상환경 활성화 에러 발생

1

333

4

그래프 그리기 오류

0

183

1

ipykernal 설치 실패

0

153

1

streamlit을 주피터 노트북에서 사용 불가 한가요??

0

492

1

Streamlit run 이 안 돼요ㅠㅠㅠ

0

1203

1

Streamlit 설치가 안 되요

0

592

1

Bard API 실행 오류

0

202

1

스트림릿 클라우드 배포시 외부접근 질문드립니다.

0

347

1

카카오톡 챗봇연결 테스트(aws)

0

332

1

new terminal 생성

0

311

2

카카오톡 테스트 오류

0

378

2

기본 질문하기 오류 해결 방법 알려주세요

0

388

1

Kernel 설정

0

317

2

ipykernel 패키지 설치 실패

0

524

1

카카오톡 채널 및 챗봇 생성하기 1분 30초에서 진행하고 있는데요

0

358

2