| 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): |
| |
| 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)}" |
|
|
| |
| with gr.Interface(fn=predict, inputs="text", outputs="text") as interface: |
| interface.launch() |
|
|