Ridealist commited on
Commit
623e590
·
1 Parent(s): 2872c06

Delete unused files

Browse files
Files changed (2) hide show
  1. README copy.md +0 -173
  2. README.md +1 -1
README copy.md DELETED
@@ -1,173 +0,0 @@
1
-
2
-
3
- <h2 align="center">
4
- Streamlit Chatbot
5
- </h2>
6
-
7
- <div align="center">
8
- <img src="https://img.shields.io/badge/python-v3.9.16-blue.svg"/>
9
- <img src="https://img.shields.io/badge/streamlit-v1.20.0-blue.svg"/>
10
- <img src="https://img.shields.io/badge/streamlit_chat-v0.0.2.2-blue.svg"/>
11
- </div>
12
-
13
- **streamlit-chat**은 Streamlit을 이용하여 실시간 대화형 Web 애플리케이션을 쉽게 만들 수 있는 패키지입니다. 만드는 방법은 매우 간단하며 [예제](https://share.streamlit.io/ai-yash/st-chat/main/examples/chatbot.py) 확인도 가능합니다.
14
-
15
-
16
-
17
- <div align="center">
18
- <img src="https://blog.kakaocdn.net/dn/cACrfC/btr65p6tNGQ/kPoXKMh4LAmUtsuhGXOHOk/img.gif" width="70%">
19
- </div>
20
-
21
- streamlit-chat으로 Hugging Face에서 제공하는 Facebook AI BlenderBot과 OpenAI의 GPT-3 모델로 챗봇 프로그램을 만들어 보겠습니다.
22
-
23
- ------
24
-
25
- ### 1. 설치 (Installation)
26
-
27
- streamlit과 streamlit-chat 패키지 설치는 pip 명령어를 이용하여 설치할 수 있습니다.
28
-
29
- ```bash
30
- pip install streamlit
31
- pip install streamlit-chat
32
- ```
33
-
34
- streamlit 설치와 관련된 내용은 이전 글을 참고하시기 바랍니다.
35
-
36
- [Streamlit 시작하기 (설치방법)](https://yunwoong.tistory.com/226)
37
-
38
- ### 2. BlenderBot 챗봇
39
-
40
- BlenderBot은 Hugging Face의 Transformers 라이브러리를 이용하여 쉽게 사용할 수 있습니다. 먼저 Hugging Face Inference API Key 발급을 진행합니다. 아래 글을 참고하세요.
41
-
42
- [Hugging Face Inference API Key 발급](https://yunwoong.tistory.com/225)
43
-
44
- Python 파일 blenderbot_app.py 을 생성하고 아래와 같이 작성합니다. API_TOKEN은 자신의 Hugging Face Inference API Key 를 입력합니다. (예: hf_xxxxxxxxxxxxxxxxxxxxx)
45
-
46
- ```python
47
- import streamlit as st
48
- from streamlit_chat import message
49
- import requests
50
-
51
- API_URL = "https://api-inference.huggingface.co/models/facebook/blenderbot-400M-distill"
52
- API_TOKEN = "YOUR API TOKEN HERE"
53
- headers = {"Authorization": f"Bearer {API_TOKEN}"}
54
-
55
- st.header("🤖Yunwoong's BlenderBot (Demo)")
56
- st.markdown("[Be Original](https://yunwoong.tistory.com/)")
57
-
58
- if 'generated' not in st.session_state:
59
- st.session_state['generated'] = []
60
-
61
- if 'past' not in st.session_state:
62
- st.session_state['past'] = []
63
-
64
- def query(payload):
65
- response = requests.post(API_URL, headers=headers, json=payload)
66
- return response.json()
67
-
68
-
69
- with st.form('form', clear_on_submit=True):
70
- user_input = st.text_input('You: ', '', key='input')
71
- submitted = st.form_submit_button('Send')
72
-
73
- if submitted and user_input:
74
- output = query({
75
- "inputs": {
76
- "past_user_inputs": st.session_state.past,
77
- "generated_responses": st.session_state.generated,
78
- "text": user_input,
79
- },
80
- "parameters": {"repetition_penalty": 1.33},
81
- })
82
-
83
- st.session_state.past.append(user_input)
84
- st.session_state.generated.append(output["generated_text"])
85
-
86
- if st.session_state['generated']:
87
- for i in range(len(st.session_state['generated'])-1, -1, -1):
88
- message(st.session_state['past'][i], is_user=True, key=str(i) + '_user')
89
- message(st.session_state["generated"][i], key=str(i))
90
- ```
91
-
92
- 터미널에서 아래와 같이 입력하면 Streamlit 앱을 실행합니다.
93
-
94
- ```bash
95
- streamlit run blenderbot_app.py
96
- ```
97
-
98
- <div align="center">
99
- <img src="https://blog.kakaocdn.net/dn/nwBzi/btr7cISnZwI/JK6JWPNCeEUNtBGRShOGFK/img.gif" width="70%">
100
- </div>
101
-
102
- ### 3. GPT-3 챗봇
103
-
104
- 다음으로 OpenAI API를 이용한 GPT-3 챗봇을 만들도록 하겠습니다.
105
-
106
- 먼저 OpenAI API를 사용하기 위해 API 키 발급이 필요합니다. 먼저 [OpenAI API 사이트](https://platform.openai.com/)로 이동합니다. OpenAI 계정이 필요하며 계정이 없다면 계정 생성이 필요합니다. 간단히 Google이나 Microsoft 계정을 연동 할 수 있습니다. 이미 계정이 있다면 로그인 후 진행하시면 됩니다.
107
-
108
- 로그인이 되었다면 우측 상단 Personal -> [ View API Keys ] 를 클릭합니다.
109
-
110
- ![img](https://blog.kakaocdn.net/dn/xKSqg/btr62GPoKvC/OF7uLj6YZhmv1VkVyDOJN0/img.png)
111
-
112
- [ + Create new secret key ] 를 클릭하여 API Key를 생성합니다. API key generated 창이 활성화되면 Key 를 반드시 복사하여 두시기 바랍니다. 창을 닫으면 다시 확인할 수 없습니다. (만약 복사하지 못했다면 다시 Create new secret key 버튼을 눌러 생성하면 되니 걱정하지 않으셔도 됩니다.)
113
-
114
- Python 파일 chatgpt_app.py 을 생성하고 아래와 같이 작성합니다. openai.api_key는 자신의 OpenAI API Key를 입력합니다. (예: sk-xxxxxxxxxxxxxxxxxxxxx)
115
-
116
- ```python
117
- import openai
118
- import streamlit as st
119
- from streamlit_chat import message
120
-
121
- openai.api_key = 'YOUR API KEY HERE'
122
-
123
- def generate_response(prompt):
124
- completions = openai.Completion.create (
125
- engine="text-davinci-003",
126
- prompt=prompt,
127
- max_tokens=1024,
128
- stop=None,
129
- temperature=0,
130
- top_p=1,
131
- )
132
-
133
- message = completions["choices"][0]["text"].replace("\n", "")
134
- return message
135
-
136
-
137
- st.header("🤖Yunwoong's ChatGPT-3 (Demo)")
138
- st.markdown("[Be Original](https://yunwoong.tistory.com/)")
139
-
140
- if 'generated' not in st.session_state:
141
- st.session_state['generated'] = []
142
-
143
- if 'past' not in st.session_state:
144
- st.session_state['past'] = []
145
-
146
- with st.form('form', clear_on_submit=True):
147
- user_input = st.text_input('You: ', '', key='input')
148
- submitted = st.form_submit_button('Send')
149
-
150
- if submitted and user_input:
151
- output = generate_response(user_input)
152
- st.session_state.past.append(user_input)
153
- st.session_state.generated.append(output)
154
-
155
- if st.session_state['generated']:
156
- for i in range(len(st.session_state['generated'])-1, -1, -1):
157
- message(st.session_state['past'][i], is_user=True, key=str(i) + '_user')
158
- message(st.session_state["generated"][i], key=str(i))
159
- ```
160
-
161
- 터미널에서 아래와 같이 입력하면 Streamlit 앱을 실행합니다.
162
-
163
- ```bash
164
- streamlit run chatgpt_app.py
165
- ```
166
-
167
- <div align="center">
168
- <img src="https://blog.kakaocdn.net/dn/bceZgF/btr7cdZnqLq/FpszCkE2k72fsQrlS8FSrk/img.gif" width="70%">
169
- </div>
170
-
171
- ------
172
-
173
- 매우 간단하게 Web 애플리케이션을 만들어 시뮬레이션이 가능합니다. 만일 개발자가 아닌 데이터 과학자나 AI 모델러인 경우 시뮬레이터를 구축하려면 시간과 노력이 많이 들 수 있지만 Streamlit을 이용한다면 이 과정을 단순화하고 시간을 절약할 수 있을 것 같습니다.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
README.md CHANGED
@@ -5,7 +5,7 @@ colorFrom: yellow
5
  colorTo: green
6
  sdk: streamlit
7
  sdk_version: 1.28.0
8
- app_file: app.py
9
  pinned: false
10
  license: openrail
11
  ---
 
5
  colorTo: green
6
  sdk: streamlit
7
  sdk_version: 1.28.0
8
+ app_file: chatgpt_app.py
9
  pinned: false
10
  license: openrail
11
  ---