arxivgpt kim commited on
Commit
4ab3ce5
Β·
verified Β·
1 Parent(s): a98d590

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +35 -25
app.py CHANGED
@@ -1,32 +1,42 @@
1
  import gradio as gr
2
- import openai
 
 
 
3
 
4
- # OpenAI API 킀와 Assistant ID μ„€μ •
5
- OPENAI_API_KEY = "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"
6
- ASSISTANT_ID = "asst_GLnbQ7HdAoRtQL3IKiODpRFB"
 
7
 
8
- # OpenAI API ν‚€ μ„€μ •
9
- openai.api_key = OPENAI_API_KEY
 
10
 
 
 
11
 
12
- def ask_openai(prompt):
13
- response = openai.ChatCompletion.create(
14
- model="gpt-4-turbo-preview", # λ˜λŠ” μ‚¬μš© κ°€λŠ₯ν•œ λ‹€λ₯Έ λͺ¨λΈ
15
- messages=[
16
- {"role": "system", "content": "You are a helpful assistant."},
17
- {"role": "user", "content": prompt}
18
- ]
19
- )
20
- return response['choices'][0]['message']['content']
21
 
22
- # Gradio UI ꡬ성
23
- interface = gr.Interface(
24
- fn=ask_openai,
25
- inputs=gr.Textbox(lines=2, placeholder="여기에 μ§ˆλ¬Έμ„ μž…λ ₯ν•˜μ„Έμš”..."),
26
- outputs="text",
27
- title="OpenAI GPT Chat",
28
- description="OpenAI GPT λͺ¨λΈμ„ μ‚¬μš©ν•˜μ—¬ 닡변을 μ œκ³΅ν•˜λŠ” μ±—λ΄‡μž…λ‹ˆλ‹€."
29
- )
30
 
31
- # Gradio μ•± μ‹€ν–‰, 곡개 링크 생성을 원할 경우 share=True둜 μ„€μ •
32
- interface.launch(share=True)
 
 
 
 
 
 
 
 
 
1
  import gradio as gr
2
+ import os
3
+ import sys
4
+ import json
5
+ import requests
6
 
7
+ # ν™˜κ²½ λ³€μˆ˜μ—μ„œ ν•„μš”ν•œ 섀정을 λ‘œλ“œν•©λ‹ˆλ‹€.
8
+ API_URL = "https://api.openai.com/v1/completions"
9
+ OPENAI_API_KEY = "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" # 이 값은 μ˜ˆμ‹œμ΄λ©°, μ‹€μ œ 킀값을 μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.
10
+ NUM_THREADS = 5
11
 
12
+ def exception_handler(exception_type, exception, traceback):
13
+ # μ˜ˆμ™Έ λ°œμƒ μ‹œ 둜그λ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€.
14
+ print("%s: %s" % (exception_type.__name__, exception))
15
 
16
+ sys.excepthook = exception_handler
17
+ sys.tracebacklimit = 0
18
 
19
+ def predict(inputs):
20
+ # OpenAI API에 μš”μ²­μ„ 보낼 νŽ˜μ΄λ‘œλ“œλ₯Ό κ΅¬μ„±ν•©λ‹ˆλ‹€.
21
+ payload = {
22
+ "model": "gpt-4-1106-preview",
23
+ "prompt": inputs,
24
+ "temperature": 0.7,
25
+ "max_tokens": 150
26
+ }
 
27
 
28
+ headers = {
29
+ "Content-Type": "application/json",
30
+ "Authorization": f"Bearer {OPENAI_API_KEY}"
31
+ }
 
 
 
 
32
 
33
+ response = requests.post(API_URL, headers=headers, json=payload)
34
+ if response.status_code == 200:
35
+ data = response.json()
36
+ return data["choices"][0]["text"].strip()
37
+ else:
38
+ return "였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. μƒνƒœ μ½”λ“œ: {}".format(response.status_code)
39
+
40
+ # Gradio μΈν„°νŽ˜μ΄μŠ€ ꡬ성
41
+ with gr.Interface(fn=predict, inputs="text", outputs="text") as interface:
42
+ interface.launch()