Cran-May commited on
Commit
8096049
1 Parent(s): 88da983

Upload 4 files

Browse files
Files changed (4) hide show
  1. README.md +6 -6
  2. app.py +74 -0
  3. gitattributes.txt +35 -0
  4. requirements.txt +4 -0
README.md CHANGED
@@ -1,13 +1,13 @@
1
  ---
2
- title: YgIV
3
- emoji: 📈
4
- colorFrom: pink
5
- colorTo: gray
6
  sdk: streamlit
7
- sdk_version: 1.27.2
8
  app_file: app.py
9
  pinned: false
10
- license: apache-2.0
11
  ---
12
 
13
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: Chatglm2 6b Int4
3
+ emoji: 🚀
4
+ colorFrom: green
5
+ colorTo: red
6
  sdk: streamlit
7
+ sdk_version: 1.21.0
8
  app_file: app.py
9
  pinned: false
10
+ duplicated_from: Cran-May/yugang-chatglm2-6b-int4
11
  ---
12
 
13
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
app.py ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # https://github.com/THUDM/ChatGLM2-6B/blob/main/web_demo2.py
2
+
3
+ from transformers import AutoModel, AutoTokenizer
4
+ import streamlit as st
5
+ from streamlit_chat import message
6
+
7
+
8
+ st.set_page_config(
9
+ page_title="ChatGLM2-6b 演示",
10
+ page_icon=":robot:",
11
+ layout='wide'
12
+ )
13
+
14
+
15
+ @st.cache_resource
16
+ def get_model():
17
+ tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm2-6b-int4", trust_remote_code=True)
18
+ model = AutoModel.from_pretrained("THUDM/chatglm2-6b-int4", trust_remote_code=True).float()
19
+ model = model.eval()
20
+ return tokenizer, model
21
+
22
+
23
+ MAX_TURNS = 20
24
+ MAX_BOXES = MAX_TURNS * 2
25
+
26
+
27
+ def predict(input, max_length, top_p, temperature, history=None):
28
+ tokenizer, model = get_model()
29
+ if history is None:
30
+ history = []
31
+
32
+ with container:
33
+ if len(history) > 0:
34
+ if len(history)>MAX_BOXES:
35
+ history = history[-MAX_TURNS:]
36
+ for i, (query, response) in enumerate(history):
37
+ message(query, avatar_style="big-smile", key=str(i) + "_user")
38
+ message(response, avatar_style="bottts", key=str(i))
39
+
40
+ message(input, avatar_style="big-smile", key=str(len(history)) + "_user")
41
+ st.write("AI正在回复:")
42
+ with st.empty():
43
+ for response, history in model.stream_chat(tokenizer, input, history, max_length=max_length, top_p=top_p,
44
+ temperature=temperature):
45
+ query, response = history[-1]
46
+ st.write(response)
47
+
48
+ return history
49
+
50
+
51
+ container = st.container()
52
+
53
+ # create a prompt text for the text generation
54
+ prompt_text = st.text_area(label="用户命令输入",
55
+ height = 100,
56
+ placeholder="请在这儿输入您的命令")
57
+
58
+ max_length = st.sidebar.slider(
59
+ 'max_length', 0, 32768, 8192, step=1
60
+ )
61
+ top_p = st.sidebar.slider(
62
+ 'top_p', 0.0, 1.0, 0.8, step=0.01
63
+ )
64
+ temperature = st.sidebar.slider(
65
+ 'temperature', 0.0, 1.0, 0.95, step=0.01
66
+ )
67
+
68
+ if 'state' not in st.session_state:
69
+ st.session_state['state'] = []
70
+
71
+ if st.button("发送", key="predict"):
72
+ with st.spinner("AI正在思考,请稍等........"):
73
+ # text generation
74
+ st.session_state["state"] = predict(prompt_text, max_length, top_p, temperature, st.session_state["state"])
gitattributes.txt ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ torch>=2.0
2
+ transformers==4.30.2
3
+ sentencepiece
4
+ streamlit_chat