From 620e1749cb22d7c2d58c56440dedf36796c98148 Mon Sep 17 00:00:00 2001 From: Canapaio Date: Sun, 23 Feb 2025 21:22:12 +0000 Subject: [PATCH] 0.0.2.0010 R1 --- README.md | 4 +-- kagurapp.py | 80 ++++++++++++++++++++++++++++++++--------------------- plugin.json | 2 +- 3 files changed, 52 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index 46d1dbe..9afd928 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# KaguraAI KaguraOS KaguraPP system 0.0.2.0009 Ollama only +# KaguraAI KaguraOS KaguraPP system 0.0.2.0010 Ollama only # # KaguraPP @@ -45,4 +45,4 @@ Ringrazio tutti gli amici di ccat per il supporto avuto e per l'immane lavoro ch https://cheshire-cat-ai.github.io/docs/ https://github.com/cheshire-cat-ai/core -0.0.2.0009 Aggiunta mappa discussione +0.0.2.0009 Aggiunta mappa discussione \ No newline at end of file diff --git a/kagurapp.py b/kagurapp.py index 88bda66..6ebc63f 100644 --- a/kagurapp.py +++ b/kagurapp.py @@ -6,34 +6,7 @@ import os, re, copy ############################# -# KaguraAI KaguraOS KaguraPP system 0.0.2.0008 Ollama only - -'''""" -@hook -def before_cat_sends_message(kr1pp, cat): - - settings = cat.mad_hatter.get_plugin().load_settings() - - for m in cat.working_memory.declarative_memories: - declarative_memories += " --- " + m[0].page_content + " ---\n" - else: - declarative_memories += "(contesto vuoto)" - - r1prompt = f""" - - -{declarative_memories} - - -Response to be fact checked (may contain informations not present in the tag): -- {msg.content} - -Fact checked response: -- """ - - msg.content = cat.llm(prompt) - return kr1pp -"""''' +# KaguraAI KaguraOS KaguraPP system 0.0.2.0010 Ollama only @hook def before_cat_sends_message(message, cat): @@ -84,6 +57,7 @@ def before_cat_sends_message(message, cat): {kmindprefix} {debug_text} + """ # Elaborazione mentale LLM @@ -105,6 +79,35 @@ def before_cat_sends_message(message, cat): @hook def agent_prompt_prefix(prefix: str, cat): settings = cat.mad_hatter.get_plugin().load_settings() + +# R1 step + + memoria_chiamata = "" + if not cat.working_memory.declarative_memories: + memoria_chiamata += "(empty context)" + else: + for m in cat.working_memory.declarative_memories: + memoria_chiamata += " --- " + m[0].page_content + " ---\n" + + + r1prompt = f""" +Sei un assistente (agente) e di seguito vi sono i dati da elaborare che andranno ad una secondo llm: + + +{memoria_chiamata} + + + + {kre(cat.stringify_chat_history(latest_n=12))} + + +Aiuta Kagua (KaguraAI) nella conversazione con l'utente analizzando la discussione e dai solozioni e suggerimenti ad eventuali problemi di logica, programmazione o argomenti complessi e riorganizza i dati della memoria di elaborazione in modo chiaro e semplice per essere letti da un llm: + +- """ + + r1message = kre(kpp_catllm(settings['kpp_model_r'],r1prompt,settings['kpp_ctx_r'],cat)) + + k_ppf: str = settings["kpp_path"] + settings["kpp_file"] if os.path.exists(k_ppf): with open(k_ppf, 'r') as f: @@ -128,8 +131,14 @@ def agent_prompt_prefix(prefix: str, cat): {kre(datetime.now().strftime('%d-%m-%Y %H:%M:%S %Z-%z'))} + + {r1message} + + """ + + return prefix @hook @@ -155,19 +164,26 @@ def agent_prompt_suffix(suffix, cat): """ + + mappa_discussione = f""" -Crea una mappa della discusisone evidenziando i punti focali e la connesione tra ogni interaizone ed in base all'ultimo messaggio suggerisci la connessione con i messaggi precedenti: +Traccia un percorso chiaro all’interno della discussione identificando i temi principali e le corrispondenze tra gli argomenti, costruendo una narrazione coerente che collega ogni interazione. Partendo dal tuo ultimo messaggio, io estenderò questo quadro includendone la relazione con tutte le comunicazioni precedenti. {kre(cat.stringify_chat_history(latest_n=12))} """ +# Crea una mappa della discusisone evidenziando i punti focali e la connesione tra ogni interaizone ed in base all'ultimo messaggio suggerisci la connessione con i messaggi precedenti: + la_mappa = kre(kpp_catllm(settings['kpp_model_s'],mappa_discussione,settings['kpp_ctx_s'],cat)) + + + suffix += f""" - - {kre(kpp_catllm(settings['kpp_model_s'],mappa_discussione,settings['kpp_ctx_s'],cat))} + {la_mappa} + Sono Kagura (KaguraAI) e qui che inizia la nostra conversazione - Devo fare attenzione alla discussione e tutto quello che sta in 'oblio_memory_embedder' che sono dati presi dall'embedder e potenzialmente fuori tema @@ -228,6 +244,8 @@ def kre(text: str) -> str: new: str sostituzioni = [ ('- AI', '- KaguraAI'), + ('', '<Ragionamento>'), + ('', '</Ragionamento>'), ('- Human', '- Interlocutore'), ('\[', '['), ('\]', ']'), diff --git a/plugin.json b/plugin.json index 1fda17d..ce52c65 100644 --- a/plugin.json +++ b/plugin.json @@ -1,6 +1,6 @@ { "name": "KaguraAI PromptPrefx-suffix ollama", - "version": "0.0.2.0009", + "version": "0.0.2.0010", "description": "KaguraAI and agents to manage ollama models and prompt prefix-suffix. ccat 1.7.1, 1.8.0 tested", "author_name": "Canapaio e KaguraAI", "author_url": "https://github.com/canapaio",