psylink
1.0.0
Un backend et un protocole minimal pour la distribution d'invites LLM locales. Construit à l'aide de LLAMA CPP pour Python et Redis.
┌────────┐ ┌────────────────┐
│ Client ├──────┐ ┌─────┤ Psylink Worker │
└────────┘ │ ┌──────────────────────────────┐ │ └────────────────┘
└──┤ ├──┘
┌────────┐ │ Redis Message Broker Server │ ┌────────────────┐
│ Client ├─────────┤ ├────────┤ Psylink Worker │
└────────┘ ├──────────────────────────────┤ └────────────────┘
│ │
┌────────┐ │ Prompt Input/ Output Queues │ ┌────────────────┐
│ Client ├─────────┤ ├────────┤ Psylink Worker │
└────────┘ │ Command Input/ Output Queues │ └────────────────┘
┌───┤ ├──┐
┌────────┐ │ └──────────────────────────────┘ │ ┌────────────────┐
│ Client ├─────┘ └─────┤ Psylink Worker │
└────────┘ └────────────────┘
Créer un environnement virtuel et exécuter
pip install -r requirements.txt
Pour installer les packages Python requis.
Format de message de file d'attente du client:
{
"message_id" : str ,
"client_id" : str ,
"priority" : int ,
"input" : str ,
"timestamp" : int
}Format de message de file d'attente de commande client:
{
"message_id" : str ,
"client_id" : str ,
"worker_id" : str ,
"input" : {
"command" : str ,
"args" : dict | None
},
"timestamp" : int
}Format de message de file d'attente de sortie du travailleur:
{
"message_id" : str ,
"client_id" : str ,
"worker_id" : str ,
"input" : str ,
"output" : str ,
"timestamp" : int
}Exemple config.toml:
[ redis ]
host = " localhost "
port = 6379
password = " supersecretpassword "
db = 0
prompt_input_queue = " psy_prompt_input_queue "
prompt_output_queue = " psy_prompt_output_queue "
command_input_queue = " psy_command_input_queue "
command_output_queue = " psy_command_output_queue "
[ model ]
model_path = " models/codellama-13b-instruct.Q8_0.gguf "
[ llama_params ]
max_tokens = 32
echo = true
temperature = 0.85
[ properties ]
min_priority = 1
max_priority = 5