ll7098ll commited on
Commit
5c7df9f
·
verified ·
1 Parent(s): 46ac8aa

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +50 -39
app.py CHANGED
@@ -1,49 +1,60 @@
1
- # -*- coding: utf-8 -*-
2
- """Untitled1.ipynb
3
-
4
- Automatically generated by Colab.
5
-
6
- Original file is located at
7
- https://colab.research.google.com/drive/1huUmrgIbG1wwEKxs3zsCdRNir_IY5ICf
8
- """
9
-
10
  import os
 
 
11
 
12
- from openai import OpenAI
13
- import openai
14
-
15
  openai_api_key = os.getenv("OPENAI_API_KEY")
16
 
17
- client = openai.OpenAI(api_key = openai_api_key)
18
-
19
-
20
- response = client.chat.completions.create(
21
- model="gpt-4-turbo",
22
- messages=[
23
- {
24
- "role": "system",
25
- "content": "초등학교 6학년 수준 범위 내에서 학생의 질문에 친절하게 답하는 교사 역할, 설명은 구체적인 예시를 들어서, 어려운 단어는 별도로 설명, 사진이 있으면 사진도 함께 제시, 자료들의 출처를 제시"
26
- },
27
- {
28
- "role": "user",
29
- "content": ""
30
- }
31
- ],
32
- temperature=1,
33
- max_tokens=1000,
34
- top_p=0.9,
35
- frequency_penalty=0,
36
- presence_penalty=0
37
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
 
 
 
 
39
 
40
- import gradio as gr
 
41
 
42
- with gr.Blocks() as demo:
43
- Q = gr.Textbox(label="질문", placeholder="질문을 넣어주세요.")
44
- btn = gr.Button("질문하기")
45
- A = gr.TextArea(label="AI 선생님의 설명", placeholder="AI 선생님이 답변 중 입니다.")
46
 
47
- btn.click(openai_chat, inputs=Q, outputs=A)
 
48
 
 
49
  demo.launch()
 
 
 
 
 
 
 
 
 
 
1
  import os
2
+ import gradio as gr
3
+ from openai.openai import OpenAI
4
 
5
+ # OpenAI API 키 설정 (환경 변수에서 불러오기)
 
 
6
  openai_api_key = os.getenv("OPENAI_API_KEY")
7
 
8
+ # OpenAI API 클라이언트 생성
9
+ client = OpenAI(api_key=openai_api_key)
10
+
11
+
12
+ def openai_chat(question):
13
+ """
14
+ OpenAI ChatGPT를 사용하여 질문에 답변합니다.
15
+
16
+ Args:
17
+ question (str): 사용자가 입력한 질문 문장
18
+
19
+ Returns:
20
+ str: ChatGPT의 답변 문장
21
+ """
22
+ response = client.chat.completions.create(
23
+ model="gpt-4-turbo",
24
+ messages=[
25
+ {
26
+ "role": "system",
27
+ "content": "초등학교 6학년 수준 범위 내에서 학생의 질문에 친절하게 답하는 교사 역할, 설명은 구체적인 예시를 들어서, 어려운 단어는 별도로 설명, 사진이 있으면 사진도 함께 제시, 자료들의 출처를 제시"
28
+ },
29
+ {
30
+ "role": "user",
31
+ "content": question
32
+ }
33
+ ],
34
+ temperature=1,
35
+ max_tokens=1000,
36
+ top_p=0.9,
37
+ frequency_penalty=0,
38
+ presence_penalty=0
39
+ )
40
+
41
+ # ChatGPT 응답 추출
42
+ answer = response["choices"][0]["text"]
43
+
44
+ return answer
45
 
46
+ with gr.Blocks() as demo:
47
+ # 질문 입력 텍스트 박스
48
+ Q = gr.Textbox(label="질문", placeholder="질문을 넣어주세요.")
49
 
50
+ # 질문하기 버튼
51
+ btn = gr.Button("질문하기")
52
 
53
+ # 답변 출력 텍스트 박스
54
+ A = gr.TextArea(label="AI 선생님의 설명", placeholder="AI 선생님이 답변 중 입니다.")
 
 
55
 
56
+ # 버튼 클릭 시 질문 전송 및 답변 출력
57
+ btn.click(openai_chat, inputs=Q, outputs=A)
58
 
59
+ # 웹 인터페이스 실행
60
  demo.launch()