loading experience

Web

Caveman

Caveman

🚀 Funzionalità Fino al 70% di riduzione dei token: Riduci i costi delle API e accelera l'inferenza locale. Multilingue: Supporto per oltre 50 lingue (inglese, italiano, francese, ecc.) tramite i modelli Catalyst. Livelli di compressione: Scegli tra Light, Semantic o Aggressive (Lemmatizzazione). Integrazione LLM con Semantic Kernel: Ottimizzato per modelli di nuova generazione che comprendono perfettamente il linguaggio contratto.

🛠️ Installazione dotnet add package Caveman --version 1.0.2

Quick Start

csharp

var compressor = new CavemanCompressionService();
string input = "Vorrei sapere se è possibile ricevere informazioni su ristoranti economici a Roma.";

// Comprimi il testo e calcola il risparmio energetico
var result = await compressor.CompressAsync(input, CavemanCompressionLevel.Semantic);

Console.WriteLine("Compressed: result.CompressedText");
Console.WriteLine($"Efficiency: {result.EfficiencyPercentage:F1}%");
Console.WriteLine($"🌿 Energia risparmiata: {result.EstimatedEnergySavedMWh:F3} mWh");

🌿 Sostenibilità: perché è importante Ogni token generato o processato da un LLM ha un costo ambientale. Caveman v1.1 introduce un estimatore integrato basato su medie di settore:

Consumo energetico: Stimato in 5 mWh per token. Impronta di carbonio: Stimata in 0,4 mg di CO₂ per mWh.

Comprimendo un prompt da 1000 a 400 token, si risparmiano circa 3 mWh di energia. Su scala di milioni di richieste, Caveman contribuisce a costruire un ecosistema AI più sostenibile.

📊 Livelli di compressione NLP

LivelloLogica applicataTag POS rimossi (Filtri)Risparmio
LightRimozione stopwordDET, ADP, CCONJ, SCONJ, PRON, PUNCT~25–30%
SemanticSelezione contenuto chiaveMantiene solo NOUN, VERB, ADJ, PROPN, ADV~50%
AggressiveLemmatizzazioneMantiene solo NOUN, VERB, PROPN (forma base)~70%



🔍 Dettaglio tecnico tag (mappatura Catalyst)

Tag POSCategoriaEsempi (ENG/ITA)Trattamento
DETDeterminantithe, a / il, loRimosso (in Light)
ADPPreposizioniof, at / di, aRimosso (in Light)
CCONJCongiunzioni coordinantiand, or / e, oRimosso (in Light)
SCONJCongiunzioni subordinantithat, if / che, seRimosso (in Light)
PRONPronomiI, you / io, tuRimosso (in Light)
NOUNSostantivihouse, pizza / casa, pizzaSempre mantenuto
VERBVerbieat, runs / mangiare, correSempre mantenuto
ADVAvverbinot, quickly / non, moltoMantenuto in Semantic



💡 Esempio di trasformazione

StatoTesto del promptToken / Caratteri
Originale"I would like to know if it is possible to have a margherita pizza immediately."100% (78 ch)
Light"like know possible have margherita pizza immediately"~70% (54 ch)
Semantic"know possible have margherita pizza immediately"~55% (48 ch)
Aggressive"know possible have margherita pizza"~40% (38 ch)



💡 Nuova funzionalità introdotta in versione 1.0.2: Caveman.Wiki

Scopo Generare automaticamente documentazione in markdown ottimizzata per AI per qualsiasi progetto software, comprimendo semanticamente i contenuti per ottimizzare il contesto dei prompt LLM.

Come funziona

  1. Analisi del progetto: Rileva automaticamente il tipo di progetto (C#, Python, Node.js, ecc.) scansionando i file di configurazione (.csproj, requirements.txt, package.json, ecc.).
  2. Scansione file: Attraversa ricorsivamente la cartella, applicando filtri intelligenti per escludere file binari, cartelle di build e dipendenze esterne.
  3. Estrazione dipendenze: Analizza i file di progetto per estrarre pacchetti e versioni, organizzandoli per fonte (NuGet, PyPI, npm, ecc.).
  4. Compressione contenuti: Per file >2KB, utilizza CavemanCompressionService con livello Semantic per ridurre il numero di token preservando il significato.
  5. Output Markdown: Genera un documento strutturato con:
  6. Metadati del progetto in formato YAML
  7. Elenco delle dipendenze organizzato
  8. Vista ad albero della struttura dei file
  9. Contenuti dei file con evidenziazione della sintassi
  10. Riepilogo statistico

Vantaggi per l'AI ✅ Contesto completo in formato leggibile ✅ Ottimizzato in token tramite compressione semantica ✅ Struttura prevedibile per parsing automatico ✅ Metadati leggibili dalle macchine per sistemi RAG

Esempio d'uso

csharp

// Uso base
var wiki = new CavemanWiki();
string context = await wiki.GenerateAsync(@"C:\Users\Dev\MyAwesomeProject");
await File.WriteAllTextAsync("AI_CONTEXT.md", context);

// Uso avanzato con parametri personalizzati
string context = await wiki.GenerateAsync(
projectFolderPath: @"..\MyProject",
maxFileSizeBytes: 50 * 1024, // 50KB max per file
compressionLevel: CavemanCompressionLevel.Aggressive // Compressione più aggressiva
);

// Integrazione con sistema di prompt AI
var prompt = $@"You are an expert assistant for the project described below.

<project_context> {context} </project_context>

Answer questions based SOLELY on this context.";

🤝 Contribuire Le pull request sono benvenute! Per modifiche importanti, apri prima un issue per discutere cosa vorresti cambiare.

Le pull request sono benvenute! Per modifiche importanti, apri prima un issue per discuterne.

Tecnologie
.net ai