ceibal mrolando commited on
Commit
2459c1f
·
0 Parent(s):

Duplicate from mrolando/chat

Browse files

Co-authored-by: Matias Rolando <mrolando@users.noreply.huggingface.co>

Files changed (6) hide show
  1. .gitattributes +35 -0
  2. .gitignore +2 -0
  3. Iso_Logotipo_Ceibal.png +0 -0
  4. README.md +13 -0
  5. app.py +123 -0
  6. requirements.txt +5 -0
.gitattributes 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
.gitignore ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ .env
2
+ env
Iso_Logotipo_Ceibal.png ADDED
README.md ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Chat
3
+ emoji: 📊
4
+ colorFrom: green
5
+ colorTo: yellow
6
+ sdk: gradio
7
+ sdk_version: 3.42.0
8
+ app_file: app.py
9
+ pinned: false
10
+ duplicated_from: mrolando/chat
11
+ ---
12
+
13
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
app.py ADDED
@@ -0,0 +1,123 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from transformers import pipeline, Conversation
2
+ import gradio as gr
3
+
4
+ from dotenv import load_dotenv
5
+
6
+ # Load environment variables from the .env file de forma local
7
+ load_dotenv()
8
+ import base64
9
+
10
+ with open("Iso_Logotipo_Ceibal.png", "rb") as image_file:
11
+ encoded_image = base64.b64encode(image_file.read()).decode()
12
+
13
+
14
+
15
+ # chatbot = pipeline(model="microsoft/DialoGPT-medium")
16
+ # conversation = Conversation("Hi")
17
+ # response = chatbot(conversation)
18
+ # #conversation.mark_processed()
19
+ # #conversation.append_response(response)
20
+ # conversation.add_user_input("How old are you?")
21
+
22
+ # conversation2 = chatbot(conversation)
23
+ # print(conversation2)
24
+
25
+ # def respond(text, conversation):
26
+ # chatbot = pipeline(model="microsoft/DialoGPT-medium")
27
+
28
+ # if len(conversation)==0:
29
+ # conversation = Conversation(text)
30
+ # conversation = chatbot(conversation)
31
+ # print(conversation.iter_texts())
32
+ # # test = []
33
+ # # for user,text in conversation.iter_texts():
34
+
35
+
36
+ # return text, conversation.iter_texts()
37
+ # else:
38
+ # conversation.add_user_input(text)
39
+ # conversation = chatbot(conversation)
40
+ # return text, conversation.iter_texts()
41
+
42
+ import os
43
+ import openai
44
+
45
+ openai.api_key = os.environ['OPENAI_API_KEY']
46
+
47
+ def clear_chat(message, chat_history):
48
+ return "", []
49
+
50
+ def add_new_message(message,chat_history):
51
+ new_chat = []
52
+ for turn in chat_history:
53
+ user, bot = turn
54
+ new_chat.append({"role": "user", "content": user})
55
+ new_chat.append({"role": "assistant","content":bot})
56
+ new_chat.append({"role": "user","content":message})
57
+ return new_chat
58
+
59
+
60
+
61
+ def respond(message, chat_history):
62
+ prompt = add_new_message(message, chat_history)
63
+ # stream = client.generate_stream(prompt,
64
+ # max_new_tokens=1024,
65
+ # stop_sequences=["\nUser:", "<|endoftext|>"],
66
+ # temperature=temperature)
67
+ # #stop_sequences to not generate the user answer
68
+ # acc_text = ""
69
+ response = openai.ChatCompletion.create(
70
+ model="gpt-3.5-turbo",
71
+ messages= prompt,
72
+ temperature=0.5,
73
+ max_tokens=120
74
+ ).choices[0].message.content
75
+ chat_history.append((message, response))
76
+ return "",chat_history
77
+ #Streaming the tokens
78
+ # for idx, response in enumerate(stream):
79
+ # text_token = response.token.text
80
+
81
+ # if response.details:
82
+ # return
83
+
84
+ # if idx == 0 and text_token.startswith(" "):
85
+ # text_token = text_token[1:]
86
+
87
+ # acc_text += text_token
88
+ # last_turn = list(chat_history.pop(-1))
89
+ # last_turn[-1] += acc_text
90
+ # chat_history = chat_history + [last_turn]
91
+ # yield "", chat_history
92
+ # acc_text = ""
93
+
94
+ with gr.Blocks() as demo:
95
+ gr.Markdown("""
96
+ <center>
97
+ <h1>
98
+ Uso de AI para un chatbot.
99
+ </h1>
100
+ <img src='data:image/jpg;base64,{}' width=200px>
101
+ <h3>
102
+ Con este espacio podrás hablar en formato conversación con ChatGTP!
103
+ </h3>
104
+ </center>
105
+ """.format(encoded_image))
106
+ with gr.Row():
107
+ chatbot = gr.Chatbot() #just to fit the notebook
108
+ with gr.Row():
109
+ with gr.Row():
110
+ with gr.Column(scale=4):
111
+ msg = gr.Textbox(label="Texto de entrada")
112
+ with gr.Column(scale=1):
113
+ btn = gr.Button("Enviar")
114
+ clear = gr.ClearButton(components=[msg, chatbot], value="Borrar chat")
115
+
116
+
117
+
118
+
119
+ btn.click(respond, inputs=[msg, chatbot], outputs=[msg, chatbot])
120
+ msg.submit(respond, inputs=[msg, chatbot], outputs=[msg, chatbot]) #Press enter to submit
121
+ clear.click(clear_chat,inputs=[msg, chatbot], outputs=[msg, chatbot])
122
+
123
+ demo.launch()
requirements.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ einops
2
+ openai
3
+ gradio
4
+ transformers
5
+ python-dotenv