JAMESPARK3 commited on
Commit
0b46e80
·
verified ·
1 Parent(s): da2134a

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -19
app.py CHANGED
@@ -1,28 +1,27 @@
1
- import os
2
- from huggingface_hub import InferenceClient
3
  import streamlit as st
 
4
 
5
- # 환경 변수에서 Hugging Face 토큰 가져오기
6
- HF_TOKEN = os.getenv("HF_TOKEN")
7
 
8
- # Inference Client 설정
9
  client = InferenceClient(
10
- "https://<your-endpoint-url>", # Inference Endpoint URL
11
- token=HF_TOKEN # Hugging Face 토큰을 환경 변수에서 불러옴
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
- # Stream을 처리하는 함수
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
- # Streamlit에서 채팅을 출력하는 영역
42
- with st.spinner('GRIN-MoE가 응답하는 중...'):
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"**GRIN-MoE:** {msg['content']}")
 
 
 
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']}")