code / app.py
arxivgpt kim
Update app.py
cb82e3a verified
raw
history blame
1.59 kB
import gradio as gr
import os
import sys
import json
import requests
# ν™˜κ²½ λ³€μˆ˜μ—μ„œ ν•„μš”ν•œ 섀정을 λ‘œλ“œν•©λ‹ˆλ‹€.
API_URL = "https://api.openai.com/v1/completions"
OPENAI_API_KEY = "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" # 이 값은 μ˜ˆμ‹œμ΄λ©°, μ‹€μ œ 킀값을 μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.
NUM_THREADS = 5
def exception_handler(exception_type, exception, traceback):
# μ˜ˆμ™Έ λ°œμƒ μ‹œ 둜그λ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€.
print("%s: %s" % (exception_type.__name__, exception))
sys.excepthook = exception_handler
sys.tracebacklimit = 0
def predict(inputs):
# OpenAI API에 μš”μ²­μ„ 보낼 νŽ˜μ΄λ‘œλ“œλ₯Ό κ΅¬μ„±ν•©λ‹ˆλ‹€.
payload = {
"model": "gpt-4-turbo-preview",
"prompt": inputs,
"temperature": 0.7,
"max_tokens": 150
}
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {OPENAI_API_KEY}"
}
try:
response = requests.post(API_URL, headers=headers, json=payload)
if response.status_code == 200:
data = response.json()
return data["choices"][0]["text"].strip()
elif response.status_code == 429:
return "μš”μ²­ ν•œλ„ 초과: μž μ‹œ ν›„ λ‹€μ‹œ μ‹œλ„ν•΄μ£Όμ„Έμš”."
else:
return f"였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. μƒνƒœ μ½”λ“œ: {response.status_code}"
except Exception as e:
return f"μš”μ²­ 처리 쀑 μ˜ˆμ™Έκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€: {str(e)}"
# Gradio μΈν„°νŽ˜μ΄μŠ€ ꡬ성
with gr.Interface(fn=predict, inputs="text", outputs="text") as interface:
interface.launch()