File size: 2,152 Bytes
d5436e0
cab263c
9cfdbcb
1581bbf
d834bcd
d5436e0
 
8685a84
d5436e0
f8dfb0f
d63135e
d5436e0
 
8685a84
d5436e0
 
1fe2644
d5436e0
d834bcd
 
d5436e0
 
42bce02
d834bcd
 
 
 
 
 
 
2980190
42b403c
d5436e0
cd60f99
 
 
 
5cabd9c
d834bcd
 
d5436e0
d834bcd
 
d5436e0
d834bcd
d5436e0
d834bcd
a2c9028
 
8685a84
4affef3
 
d834bcd
 
 
 
 
d5436e0
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
# version - ArcticMonkey:19.03.24:1743

import platform
import psutil

# components from other authors
from streamlit_mic_recorder import mic_recorder

# core modules
from audio_processing.A2T import A2T
from audio_processing.T2A import T2A
from command.utils import build_chain
from llm.llm_factory import LLM_Factory

llm_model = LLM_Factory()

print(platform.node())

mac_address = platform.node()

def prepare_cor(input_text: str):
    return build_chain.build_command_chain().handle_command(input_text)

# Якщо MAC адреса співпадає з адресою цього Space, тоді використовується hf endpoint, це базова перевірка для trigger.
# Від можливості використовувати AI agent також буде залежати trigger, якщо використовується, то ліпше використовувати lc ніж hf.
if mac_address[-5:] == os.environ.get('MAC_address'):
    trigger = {"hf": "effective"}
else:
    trigger = {"lc": "small"}


def main():
    mic = mic_recorder(start_prompt="Record", stop_prompt="Stop", just_once=True)

    if mic is not None:
        a2t = A2T(mic["bytes"])
        text = a2t.predict()
        print(text)

        # Придумати як реалізувати команди
        # prepare_cor(input_text=text)

        # Треба для lc реалізувати буде виклик очишення
        llm = llm_model.create_llm(prompt_entity=text, prompt_id=1, trigger=trigger)
        response = llm.execution() if llm is not None else "Oops occurred some error. Please try again. Who is Jhon Galt!"

        # Треба буде переписати клас, передавати текст не через __init__ а в autoplay.
        t2a = T2A(response)
        t2a.autoplay()


if __name__ == "__main__":
    print(f"Total Memory: {psutil.virtual_memory().total / (1024**3):.2f} GB")
    print(f"Available Memory: {psutil.virtual_memory().available / (1024**3):.2f} GB")
    print(f"CPU Cores: {psutil.cpu_count()}")
    print(f"CPU Usage: {psutil.cpu_percent()}%")
    
    main()