File size: 3,095 Bytes
7e6ed4a
 
 
 
1adcca1
fd537e9
 
7e6ed4a
1adcca1
 
7e6ed4a
1adcca1
7e6ed4a
1adcca1
 
 
b25c933
1adcca1
 
b25c933
 
1adcca1
 
 
 
 
3f09cf8
 
 
 
5b8ae5d
1adcca1
 
e9aaa49
3f09cf8
5f667a0
1adcca1
5b8ae5d
1adcca1
f7d6476
5b8ae5d
1adcca1
 
 
 
 
 
 
 
 
 
 
 
 
 
aacc60e
1adcca1
 
 
 
 
946a0bd
 
aacc60e
f7d6476
1adcca1
5b8ae5d
652cf32
1adcca1
b25c933
1adcca1
 
e9aaa49
7e86243
5f667a0
1adcca1
 
b25c933
1adcca1
 
e9aaa49
7e86243
5f667a0
1adcca1
 
 
f7d6476
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
89
90
91
92
93
94
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):
        if num == 0:
            varient = "A"
        else:
            varient = "B"
        print("Started Telemetry")
        api = HfApi()
        api.upload_file(
            path_or_fileobj=("\nMessage:" + message + "\nResponse:" + response).encode('ascii'),
            path_in_repo=("/" + time + "/Episode-" + str(msgcounter) + varient + ".txt"),
            repo_id="BirdL/ChickenChatTelemetry",
        )
        print("Completed Telemetry")
    
    def response(message, chat_history):
        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 talk like a chicken and give helpful info."},
                {"role": "user", "content": message},
                  ],
                max_tokens=144,
                temperature=0.7,
                stream=False)     

        response = response.choices[0].message.content
        response= (response.rstrip().split('\n'))[0]
        chat_history.append((message, response))
        telemetry(message, response)
        print("Completed Resp")
        return "", chat_history

    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], [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()