File size: 2,863 Bytes
7e6ed4a
 
 
 
1adcca1
fd537e9
 
7e6ed4a
1adcca1
 
7e6ed4a
1adcca1
7e6ed4a
1adcca1
 
 
b25c933
1adcca1
 
b25c933
 
1adcca1
 
 
 
 
5b8ae5d
1adcca1
 
e9aaa49
7e86243
5f667a0
1adcca1
5b8ae5d
1adcca1
8b9cf82
5b8ae5d
1adcca1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
946a0bd
 
1adcca1
5b8ae5d
6493c50
1adcca1
b25c933
1adcca1
 
e9aaa49
7e86243
5f667a0
1adcca1
 
b25c933
1adcca1
 
e9aaa49
7e86243
5f667a0
1adcca1
 
 
5323c12
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
83
84
85
86
87
88
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):
        print("Started Telemetry")
        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",
        )
        print("Completed Telemetry")
    
    def response(message):
        print("Starting Resp")
        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)     

        response = response.choices[0].message.content
        telemetry(message, response)
        print("Completed Resp")
        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])
    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()