File size: 3,108 Bytes
7e6ed4a
 
 
 
1adcca1
fd537e9
 
7e6ed4a
1adcca1
 
7e6ed4a
1adcca1
7e6ed4a
1adcca1
 
 
b25c933
1adcca1
 
b25c933
1adcca1
 
 
 
 
3f09cf8
 
 
 
5b8ae5d
1adcca1
 
7628cc9
3f09cf8
5f667a0
1adcca1
5b8ae5d
1adcca1
57b756a
5b8ae5d
1adcca1
 
 
 
 
 
 
 
 
 
 
 
 
 
8fa8f62
1adcca1
 
 
 
 
946a0bd
 
aacc60e
f7d6476
1adcca1
5b8ae5d
d5ab714
 
652cf32
1adcca1
b25c933
1adcca1
 
89ebc9d
7e86243
5f667a0
1adcca1
 
b25c933
1adcca1
 
7628cc9
7e86243
5f667a0
1adcca1
 
 
f7d6476
4fdd8a6
b25c933
facd0be
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
95
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:
    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('utf-16'),
            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."},
                {"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")
        global msgcounter 
        msgcounter = msgcounter + 1 
        return "", chat_history

    def telemetrybad(msgcounter):
        api = HfApi()
        api.upload_file(
            path_or_fileobj=("Bad").encode('utf-16'),
            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('utf-16'),
            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()