Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

Elia – Un assistant IA pour votre terminal sous Linux

Par : Korben
28 mai 2024 à 06:20

Vous cherchez une manière simple et efficace de discuter avec des assistants IA directement depuis votre terminal Linux alors Elia est fait pour vous ! Cette application vous permet d’interagir avec une variété de modèles de langage comme Claude, ChatGPT, GPT-4, ou même des modèles locaux tels que Llama, Phi, Mistral ou Gemma, tout cela sans quitter votre terminal préféré.

Elia dispose donc d’une interface utilisateur minimaliste mais diablement efficace, entièrement pilotable au clavier et vos conversations sont stockées dans une base de données SQLite locale, ce qui vous permettra de reprendre vos discussions là où vous les avez laissées.

L’installation d’Elia est plutôt simple grâce à pipx et il vous faudra quelques clés d’API pour les modèles propriétaires dans vos variables d’environnement (OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY).

pipx install elia-chat

Une fois installé, tapez elia dans votre terminal et vous voilà propulsé dans l’interface. Vous pouvez même lancer une discussion express en mode « inline » directement sous votre prompt avec l’option -i :

elia -i "Raconte-moi une blague sur Linux !"

Pour spécifier un modèle LLM particulier, c’est avec l’option -m :

elia -m gpt-4o

Comme je le disais au début, l’outil est aussi compatible avec les modèles open source comme Llama. Il vous suffit d’installer ollama, de télécharger le modèle voulu, de lancer le serveur ollama en local et d’ajouter le modèle au fichier de configuration d’Elia. Et voilà, vous pouvez discuter avec une IA 100% libre.

La config se fait via un fichier texte tout ce qu’il y a de plus basique. C’est là que vous pourrez ajouter vos différents modèles, spécifier celui à utiliser par défaut, personnaliser le prompt système ou encore choisir le thème de coloration syntaxique pour vos bouts de code.

Un exemple de fichier de config :

default_model = "gpt-4"
system_prompt = "Tu es un assistant serviable qui parle comme un pirate." message_code_theme = "dracula"

[[models]]

name = "ollama/llama3"

[[models]] 
name = "openai/mon-modele" 
api_base = "http://localhost:8080/v1" 
api_key = "ma-cle-api-si-besoin"

Évidemment, ce n’est pas aussi complet qu’une interface web de ChatGPT et on ne peut pas changer les raccourcis clavier, mais l’essentiel est là.

D’ailleurs, sachez qu’Elia vous permet d’importer facilement vos conversations depuis l’interface web de ChatGPT. Pratique pour retrouver tous vos échanges au même endroit. Il suffit d’exporter l’historique au format JSON depuis ChatGPT, puis de taper :

elia import 'chemin/vers/conversations.json'

Et hop, toutes vos conversations sont là, prêtes à être poursuivies depuis votre terminal.

Un dernier petit conseil avant de vous laisser jouer avec votre nouveau copain : si à un moment donné les choses dérapent et que le LLM commence à délirer (ça arrive même aux meilleurs), n’hésitez pas à lui remettre les idées en place avec un bon gros reset :

elia reset

Voilà, vous savez tout (ou presque) sur ce logiciel… Vous allez pouvoir refaire le monde, le tout sans quitter votre shell adoré. Que demande le peuple ?

Source

LLMLingua – Compresser les prompts pour accélérer les LLM et réduire les coûts

Par : Korben
20 mai 2024 à 07:00

Vous êtes-vous déjà retrouvé frustré par les limites de tokens lorsque vous demandiez à ChatGPT de résumer de longs textes ? Ou découragé par les coûts élevés de l’API GPT-3.5/4 malgré d’excellents résultats ? Si c’est le cas, LLMLingua est fait pour vous !

Développé par des chercheurs de Microsoft, LLMLingua-2 est un outil révolutionnaire de compression de prompts qui permet d’accélérer l’inférence des grands modèles de langage (LLM) comme GPT-3 et GPT-4. Grâce à des techniques avancées d’identification et de suppression des tokens non essentiels, il peut réduire jusqu’à 20 fois la taille des prompts, tout en préservant les performances des modèles.

Que vous soyez un développeur cherchant à optimiser ses coûts d’API ou un utilisateur souhaitant dépasser les limites de contexte, LLMLingua vous offre de nombreux avantages :

  • 💰 Réduction des coûts : En compressant à la fois les prompts et les réponses générées, LLMLingua permet de réaliser des économies significatives sur votre facture d’API.
  • 📝 Support de contextes étendus : Fini le casse-tête du « perdu au milieu » ! LLMLingua gère efficacement les longs contextes et booste les performances globales.
  • ⚖️ Robustesse : Pas besoin d’entraînement supplémentaire pour les LLM. LLMLingua fonctionne de manière transparente.
  • 🕵️ Préservation des connaissances : Toutes les informations clés des prompts originaux, comme l’apprentissage en contexte et le raisonnement, sont conservées.
  • 📜 Compression du cache KV : Le processus d’inférence est accéléré grâce à l’optimisation du cache clé-valeur.
  • 🪃 Récupération complète : GPT-4 est capable de reconstituer l’intégralité des informations à partir des prompts compressés. Bluffant !

Prenons un exemple simple et imaginons que vous vouliez compresser le prompt suivant avec LLMLingua :

python from llmlingua import PromptCompressor

llm_lingua = PromptCompressor()

prompt = "Sam a acheté une douzaine de boîtes contenant chacune 30 surligneurs, pour 10 $ chacune..."

compressed_prompt = llm_lingua.compress_prompt(prompt)

print(compressed_prompt)

Et voilà le travail ! En quelques lignes de code, vous obtenez un prompt compressé prêt à être envoyé à votre modèle favori :

Sam acheté boîtes contenant chacune 30 surligneurs, 10 $ chacune.

Avec un taux de compression de 11,2x, le nombre de tokens passe de 2365 à seulement 211 ! Et ce n’est qu’un début. Sur des exemples plus complexes comme les prompts Chain-of-Thought, LLMLingua maintient des performances similaires avec un taux de compression allant jusqu’à 20x.

Alors bien sûr, pour l’avoir bien testé, faut quand même comprendre que vous n’obtiendrez pas forcement un résultat identique entre le prompte compressé et celui non compressé mais pour un gain de 60 / 70 voire 80%, le résultat généré à partir du prompt compressé reste précis à hauteur de 70 / 80 %, ce qui est très bien.

Pour démarrer avec LLMLingua, rien de plus simple. Installez le package avec pip :

pip install llmlingua

Puis laissez libre cours à votre créativité ! Que vous soyez un adepte du Retrieval Augmented Generation (RAG), des réunions en ligne, du Chain-of-Thought ou même du code, LLMLingua saura répondre à vos besoins. De nombreux exemples et une documentation complète sont à votre disposition pour vous guider.

Perso, je l’ai testé sur de longs prompts que j’avais dans mes scripts, avec Claude3 d’ailleurs et pas ChatGPT et le résultat est top !

A tester ici !

❌
❌