Spaces:
Running
Running
JAMESPARK3
commited on
Create app.py
Browse files
app.py
CHANGED
@@ -1,28 +1,27 @@
|
|
1 |
-
import os
|
2 |
-
from huggingface_hub import InferenceClient
|
3 |
import streamlit as st
|
|
|
4 |
|
5 |
-
#
|
6 |
-
HF_TOKEN =
|
7 |
|
8 |
-
# Inference Client 설정
|
9 |
client = InferenceClient(
|
10 |
-
"
|
11 |
-
token=HF_TOKEN
|
12 |
)
|
13 |
|
14 |
-
# Streamlit
|
15 |
-
st.set_page_config(page_title="GRIN-MoE Chat", page_icon="🤖")
|
16 |
-
st.title("GRIN-MoE
|
17 |
|
18 |
-
# 채팅
|
19 |
if 'messages' not in st.session_state:
|
20 |
st.session_state.messages = []
|
21 |
|
22 |
-
# 사용자 입력
|
23 |
-
user_input = st.text_input("
|
24 |
|
25 |
-
#
|
26 |
def generate_streaming_response(prompt):
|
27 |
response_text = ""
|
28 |
for message in client.chat_completion(
|
@@ -34,22 +33,23 @@ def generate_streaming_response(prompt):
|
|
34 |
response_text += delta
|
35 |
yield delta
|
36 |
|
37 |
-
#
|
38 |
if user_input:
|
39 |
st.session_state.messages.append({"role": "user", "content": user_input})
|
40 |
|
41 |
-
#
|
42 |
-
with st.spinner('
|
43 |
response_text = ""
|
44 |
for delta in generate_streaming_response(user_input):
|
45 |
response_text += delta
|
46 |
st.write(response_text)
|
|
|
47 |
st.session_state.messages.append({"role": "assistant", "content": response_text})
|
48 |
|
49 |
-
# 이전
|
50 |
if st.session_state.messages:
|
51 |
for msg in st.session_state.messages:
|
52 |
if msg["role"] == "user":
|
53 |
st.write(f"**사용자:** {msg['content']}")
|
54 |
else:
|
55 |
-
st.write(f"**
|
|
|
|
|
|
|
1 |
import streamlit as st
|
2 |
+
from huggingface_hub import InferenceClient
|
3 |
|
4 |
+
# Hugging Face API 토큰을 secrets에서 불러옴
|
5 |
+
HF_TOKEN = st.secrets["HF_TOKEN"]
|
6 |
|
7 |
+
# Inference Client 설정 (GRIN-MoE 모델 사용)
|
8 |
client = InferenceClient(
|
9 |
+
repo_id="microsoft/GRIN-MoE",
|
10 |
+
token=HF_TOKEN
|
11 |
)
|
12 |
|
13 |
+
# Streamlit 페이지 설정
|
14 |
+
st.set_page_config(page_title="GRIN-MoE AI Chat", page_icon="🤖")
|
15 |
+
st.title("GRIN-MoE 모델과 대화해보세요!")
|
16 |
|
17 |
+
# 채팅 기록을 세션에 저장
|
18 |
if 'messages' not in st.session_state:
|
19 |
st.session_state.messages = []
|
20 |
|
21 |
+
# 사용자 입력 받기
|
22 |
+
user_input = st.text_input("질문을 입력하세요:")
|
23 |
|
24 |
+
# 스트리밍 응답 함수
|
25 |
def generate_streaming_response(prompt):
|
26 |
response_text = ""
|
27 |
for message in client.chat_completion(
|
|
|
33 |
response_text += delta
|
34 |
yield delta
|
35 |
|
36 |
+
# 대화 처리
|
37 |
if user_input:
|
38 |
st.session_state.messages.append({"role": "user", "content": user_input})
|
39 |
|
40 |
+
# AI 응답을 스트리밍 방식으로 보여줌
|
41 |
+
with st.spinner('AI가 응답하는 중...'):
|
42 |
response_text = ""
|
43 |
for delta in generate_streaming_response(user_input):
|
44 |
response_text += delta
|
45 |
st.write(response_text)
|
46 |
+
|
47 |
st.session_state.messages.append({"role": "assistant", "content": response_text})
|
48 |
|
49 |
+
# 이전 대화 기록 출력
|
50 |
if st.session_state.messages:
|
51 |
for msg in st.session_state.messages:
|
52 |
if msg["role"] == "user":
|
53 |
st.write(f"**사용자:** {msg['content']}")
|
54 |
else:
|
55 |
+
st.write(f"**AI:** {msg['content']}")
|