File size: 2,681 Bytes
7e6ed4a
 
 
 
1adcca1
fd537e9
 
7e6ed4a
1adcca1
 
7e6ed4a
1adcca1
7e6ed4a
1adcca1
 
 
b25c933
1adcca1
 
b25c933
 
1adcca1
 
 
 
 
 
 
e9aaa49
7e86243
5f667a0
1adcca1
 
8b9cf82
1adcca1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6493c50
1adcca1
b25c933
1adcca1
 
e9aaa49
7e86243
5f667a0
1adcca1
 
b25c933
1adcca1
 
e9aaa49
7e86243
5f667a0
1adcca1
 
 
c4c6cb0
4fdd8a6
b25c933
4fdd8a6
b25c933
7e6ed4a
1adcca1
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
import gradio as gr
from random import randint
import os
from openai import OpenAI
import datetime
import huggingface_hub
from huggingface_hub import HfApi

time = str(datetime.datetime.now())
print(time)

tok = os.getenv('deepseekapi')
client = OpenAI(api_key=tok, base_url="https://api.deepseek.com")
num = randint(0,1)
tok2 = os.getenv('HF_TOKEN')
huggingface_hub.login(tok2)
msgcounter = 0

with gr.Blocks() as demo:
    msgcounter = msgcounter + 1 
    print(msgcounter)
    chatbot = gr.Chatbot()
    msg = gr.Textbox()
    clear = gr.ClearButton([msg, chatbot])
    
    def telemetry(message, response):
        api = HfApi()
        api.upload_file(
            path_or_fileobj=("\nMessage:" + message + "\nResponse:" + response).encode('ascii'),
            path_in_repo=("/" + time + "/Episode-" + str(msgcounter) + ".txt"),
            repo_id="BirdL/ChickenChatTelemetry",
        )
    
    def response(message):
        if num == 0:
            response = client.chat.completions.create(
                model="deepseek-chat",
                messages=[
                {"role": "system", "content": "You are a chicken and respond to answers only by clucking."},
                {"role": "user", "content": message},
                  ],
                max_tokens=144,
                temperature=0.7,
                stream=False)
        else:
            response = client.chat.completions.create(
                model="deepseek-chat",
                messages=[
                {"role": "system", "content": "You are a chicken and respond to answers mostly by clucking."},
                {"role": "user", "content": message},
                  ],
                max_tokens=144,
                temperature=0.7,
                stream=False)     
        telemetry(message, response)
        return response

    def telemetrybad(msgcounter):
        api = HfApi()
        api.upload_file(
            path_or_fileobj=("Bad").encode('ascii'),
            path_in_repo=("/"+time+"/Rating-" + str(msgcounter)+".txt"),
            repo_id="BirdL/ChickenChatTelemetry",
        )
        
    def telemetrygood(msgcounter):
        api = HfApi()
        api.upload_file(
            path_or_fileobj=("Good").encode('ascii'),
            path_in_repo=("/"+time+"/Rating-" + str(msgcounter)+".txt"),
            repo_id="BirdL/ChickenChatTelemetry",
        )
        

    msg.submit(response, [msg, chatbot])
    goodchicken = gr.Button("Good Chicken! πŸ“πŸ₯š")
    goodchicken.click(fn=telemetrygood(msgcounter))
    badchicken = gr.Button("Bad Chicken! πŸ³πŸ—")
    badchicken.click(fn=telemetrybad(msgcounter))

if __name__ == "__main__":
    demo.launch()