Translate

Affichage des articles dont le libellé est OLLAMA. Afficher tous les articles
Affichage des articles dont le libellé est OLLAMA. Afficher tous les articles

lundi 16 décembre 2024

Premiers pas avec Llama

Ce guide fournit des informations et des ressources pour vous aider à configurer Llama, notamment comment accéder au modèle, l’hébergement, les guides pratiques et les guides d’intégration. De plus, vous trouverez des matériaux supplémentaires pour vous aider davantage lors de la construction avec Llama.

Cette page couvre les capacités et les conseils spécifiques aux modèles sortis avec Llama 3.2 : Les modèles quantitatifs Llama 3.2 (1B/3B), les modèles légers Llama 3.2 (1B/3B) et les modèles multimodaux Llama 3.2 (11B/90B).

https://www.llama.com/docs/model-cards-and-prompt-formats/llama3_2

Téléchargez les modèles Llama 3.2.



Obtenir les modèles

Les pages de cette section décrivent comment obtenir les modèles de Lama :

  • Vous pouvez télécharger les modèles directement depuis Meta ou l’un de nos partenaires de téléchargement : Hugging Face ou Kaggle.

  • Vous pouvez également travailler avec nos partenaires de l’écosystème pour accéder aux modèles par le biais des services qu’ils fournissent. Cette approche peut être particulièrement utile si vous souhaitez travailler avec le modèle Llama 3.1 405B.

Note: Avec Llama 3.1, nous introduisons le modèle 405B. Ce modèle nécessite d’importantes ressources de stockage et de calcul, occupant environ 750 Go d’espace de stockage sur disque et nécessitant deux nœuds sur MP16 pour l’inférence.

Déploiement de Llama 3.1 405B : guides partenaires

Llama 3.1 405B est le modèle le plus avancé et le plus performant de Meta à ce jour. Pour vous aider à libérer tout son potentiel, veuillez vous référer aux guides partenaires ci-dessous.

Nos guides partenaires offrent une assistance et une expertise sur mesure pour garantir un processus de déploiement sans faille, vous permettant d’exploiter les fonctionnalités et les capacités de Llama 3.1 405B. Parcourez les guides de partenaires suivants pour explorer leurs offres spécifiques et faire le premier pas vers un déploiement réussi.

Les partenaires :

AWS Azure Databricks

Dell Fireworks AI Google Cloud Groq NVIDIA

IBM watsonx Scale AI Snowflake Together AI

Des lamas partout

Bien que les modèles Meta Llama soient souvent hébergés par des fournisseurs de services cloud (CSP), Meta Llama peut également être utilisé dans d’autres contextes, tels que Linux, le sous-système Windows pour Linux (WSL), macOS, les ordinateurs portables Jupyter et même les appareils mobiles. Si vous souhaitez explorerces scénarios, nous vous suggérons de consulter les ressources suivantes :

Llama 3 sur votre ordinateur local, avec des ressources pour d’autres options - Comment exécuter Llama sur votre bureau en utilisant Windows, macOS ou Linux. Aussi, des pointeurs vers d’autres façons d’exécuter Llama, soit sur site, soit dans le cloud

Linux Windows Mac Autres ressources

Llama Recipes QuickStart : fournit une introduction à Meta Llama à l’aide de notebooks Jupyter et illustre également l’exécution de Llama localement sur macOS.

Compilation d’apprentissage automatique pour les grands modèles de langage (MLC LLM) - Permet à « tout le monde de développer, d’optimiser et de déployer des modèles d’IA en natif sur les appareils de chacun avec des techniques de compilation ML ».

Llama.cpp - Utilise la portabilité de C++ pour permettre l’inférence avec des modèles Llama sur une variété de matériels différents.

ExecuTorch - Fournit un environnement d’exécution pour que les modèles légers et quantifiés Llama 3.2 s’exécutent sur des appareils mobiles et périphériques tels que des téléphones, des ordinateurs portables et des lunettes intelligentes.

Llama Everywhere https://www.llama.com/docs/llama-everywhere

Les pages de cette section décrivent comment développer des solutions de génération de code basées sur Code Llama. Ils fournissent également des informations sur LangChain et LlamaIndex, qui sont des frameworks utiles si vous souhaitez intégrer la génération augmentée de récupération (RAG).

Documentation | Llama

Bibliothèque Python Ollama 0.4 avec améliorations de l’appel de fonction

25 novembre 2024

Dans la dernière version de la bibliothèque Python Ollama, les fonctions peuvent désormais être fournies en tant qu’outils. La bibliothèque prend également en charge la saisie et de nouveaux exemples ont été ajoutés.

Démarrer

Commencez par installer ou mettre à jour la bibliothèque Python Ollama :

pip install -U ollama

Passer des fonctions Python en tant qu’outils

Définir une fonction Python

Commencez par définir une fonction Python régulière. Pour de meilleurs résultats, annotez les types de paramètres et de valeurs de retour et ajoutez éventuellement une docstring de style Google :

def add_two_numbers(a: int, b: int) -> int:
  """
  Add two numbers

  Args:
    a: The first integer number
    b: The second integer number

  Returns:
    int: The sum of the two numbers
  """
  return a + b

Passez la fonction en tant qu’outil à Ollama

Ensuite, utilisez le champ pour passer la fonction en tant qu’outil à Ollama :tools

import ollama

response = ollama.chat(
  'llama3.1',
  messages=[{'role': 'user', 'content': 'What is 10 + 10?'}],
  tools=[add_two_numbers], # Actual function reference
)

Appeler la fonction à partir de la réponse du modèle

Utilisez l’appel d’outil renvoyé et les arguments fournis par le modèle pour appeler la fonction correspondante :

available_functions = {
  'add_two_numbers': add_two_numbers,
}

for tool in response.message.tool_calls or []:
  function_to_call = available_functions.get(tool.function.name)
  if function_to_call:
    print('Function output:', function_to_call(**tool.function.arguments))
  else:
    print('Function not found:', tool.function.name)

Passer des fonctions existantes en tant qu’outils

Les fonctions des bibliothèques Python existantes, des SDK et d’autres outils peuvent désormais être fournies en tant qu’outils. Par exemple, le code suivant transmet la fonction de la bibliothèque en tant qu’outil pour récupérer le contenu du site Web d’Ollama :requestrequests

import ollama
import requests

available_functions = {
  'request': requests.request,
}

response = ollama.chat(
  'llama3.1',
  messages=[{
    'role': 'user',
    'content': 'get the ollama.com webpage?',
  }],
  tools=[requests.request], 
)

for tool in response.message.tool_calls or []:
  function_to_call = available_functions.get(tool.function.name)
  if function_to_call == requests.request:
    # Make an HTTP request to the URL specified in the tool call
    resp = function_to_call(
      method=tool.function.arguments.get('method'),
      url=tool.function.arguments.get('url'),
    )
    print(resp.text)
  else:
    print('Function not found:', tool.function.name)

Comment ça marche : générer un schéma JSON à partir de fonctions

La bibliothèque Python Ollama utilise l’analyse syntaxique Pydantic et docstring pour générer le schéma JSON. À titre d’exemple, pour la fonction déclarée au début de cet article, le schéma JSON suivant est généré (et devait auparavant être fourni manuellement en tant qu’outil) :add_two_nubmers

{
    "type": "function",
    "function": {
        "name": "add_two_numbers",
        "description": "Add two numbers",
        "parameters": {
            "type": "object",
            "required": [
                "a",
                "b"
            ],
            "properties": {
                "a": {
                    "type": "integer",
                    "description": "The first integer number"
                },
                "b": {
                    "type": "integer",
                    "description": "The second integer number"
                }
            }
        }
    }
}

Améliorations supplémentaires apportées à la bibliothèque Python Ollama

La version 0.4 de la bibliothèque Python Ollama comprend des améliorations supplémentaires :

  • Les exemples ont été mis à jour sur le GitHub d’Ollama Python.

  • Prise en charge complète de la saisie dans toute la bibliothèque pour prendre en charge l’accès direct aux objets tout en conservant les fonctionnalités existantes.

Ollama Python library 0.4 with function calling improvements · Ollama Blog

Users Group Artificial Intelligence Andorra (U.G.A.I.A.) : L'administration de LLAMA 3.2 version 0.4.1

--- 

 Pierre Erol GIRAUDY 

http://about.me/giraudyerol






jeudi 14 novembre 2024

L'administration de LLAMA 3.2 version 0.4.1 Prompts, RAG,

Le répertoire "gérer les connaissances" dans l'administration de Llama est un outil très pratique pour optimiser l'utilisation de votre modèle de langage.

Voir ma vidéo sur ce sujet :

Fonctionnalité principale :

  • Stockage de fichiers PDF : Ce répertoire sert à centraliser vos documents PDF. Il peut s'agir de manuels, de rapports, d'articles de recherche, ou de tout autre document que vous souhaiteriez rendre accessible à votre modèle.

  • Création de prompts personnalisés : Une fois vos fichiers PDF stockés, vous pouvez créer des prompts spécifiques pour interroger le contenu de ces documents. Par exemple, vous pourriez demander au modèle de résumer un chapitre particulier, de répondre à une question précise, ou de comparer différentes sections.

Avantages de cette fonctionnalité :

  • Amélioration de la précision des réponses : En fournissant au modèle un accès direct à des informations spécifiques, vous augmentez considérablement la précision de ses réponses.

  • Gain de temps : Plus besoin de rechercher manuellement les informations dans vos documents. Le modèle peut le faire pour vous, en quelques secondes.

  • Personnalisation : Vous pouvez adapter les prompts en fonction de vos besoins spécifiques, ce qui vous permet d'extraire les informations les plus pertinentes de vos documents.

Comment cela fonctionne (généralement) :

  1. Envoi du prompt : Lorsque vous envoyez un prompt, Ollama va chercher dans les fichiers PDF associés si elle trouve des informations pertinentes.

  2. Traitement des informations : Le modèle traite les informations trouvées et génère une réponse cohérente et informative.

  3. Retour de la réponse : La réponse est ensuite renvoyée à l'utilisateur.

Quelques exemples d'utilisation :

  • Support client : Vous pouvez stocker la base de connaissances de votre entreprise dans ce répertoire pour permettre à votre modèle de répondre aux questions des clients de manière plus précise et rapide.

  • Recherche et développement : Les chercheurs peuvent utiliser cette fonctionnalité pour accéder rapidement à des articles scientifiques et à des données expérimentales.

  • Formation : Les entreprises peuvent créer des bases de connaissances pour former leurs employés sur des sujets spécifiques.

Points à considérer :

  • Qualité des documents : La qualité des réponses dépend en grande partie de la qualité des documents que vous stockez. Assurez-vous que les PDF sont bien structurés et contiennent des informations pertinentes.

  • Complexité des prompts : Plus vos prompts seront précis et détaillés, meilleures seront les réponses que vous obtiendrez.

  • Taille des fichiers : La taille des fichiers PDF peut avoir un impact sur les performances du modèle.

En résumé, le répertoire "gérer les connaissances" est un outil puissant qui vous permet de transformer votre modèle de langage en une véritable source d'informations personnalisée. En exploitant au mieux cette fonctionnalité, vous pourrez améliorer considérablement votre productivité et la qualité de votre travail.

Version OLLAMA 0.4.1

Les prompts

Le répertoire "gérer les prompts" est un outil très pratique dans l'administration de Llama 3.2, conçu pour optimiser votre utilisation des prompts.

À quoi sert ce répertoire ?

  • Stockage centralisé: Ce répertoire vous permet de stocker tous vos prompts dans un seul endroit, ce qui facilite leur organisation et leur réutilisation.

  • Modélisation de prompts: Vous pouvez créer des modèles de prompts en y incluant des variables ou des placeholders. Ces modèles peuvent ensuite être personnalisés rapidement pour générer différents types de prompts.

  • Gestion de versions: Il est possible de conserver différentes versions d'un même prompt, ce qui est utile pour expérimenter et comparer les résultats.

  • Partage: En fonction de la configuration de votre système, vous pouvez potentiellement partager ces prompts avec d'autres utilisateurs ou applications.

Comment fonctionne-t-il ?

Le fonctionnement exact peut varier légèrement selon l'implémentation spécifique de Llama 3.2 que vous utilisez. Cependant, voici généralement les étapes impliquées :

  1. Création de prompts: Vous créez de nouveaux prompts et les enregistrez dans le répertoire.

  2. Modélisation: Vous pouvez utiliser des variables ou des placeholders dans vos prompts pour les rendre plus flexibles. Par exemple, vous pourriez créer un modèle de prompt pour générer des résumés d'articles, en utilisant une variable pour spécifier le nom de l'article.

  3. Utilisation des prompts: Lorsque vous souhaitez générer du texte, vous sélectionnez le prompt approprié et fournissez les valeurs nécessaires pour les variables. Llama 3.2 utilisera alors ce prompt comme point de départ pour générer le texte.


Quels sont les avantages ?

  • Gain de temps: En évitant de retaper les mêmes prompts à chaque fois, vous gagnez un temps précieux.

  • Cohérence: En utilisant des modèles de prompts, vous assurez une cohérence dans la formulation de vos requêtes.

  • Flexibilité: Les variables vous permettent de personnaliser facilement vos prompts pour différentes situations.

  • Reproductibilité: En conservant différentes versions de vos prompts, vous pouvez reproduire les résultats de vos expériences précédentes.

Quelques exemples d'utilisation:

  • Création de jeux de données: Vous pouvez générer de grandes quantités de données d'entraînement en utilisant des modèles de prompts.

  • Automatisation de tâches: Vous pouvez automatiser certaines tâches en utilisant des scripts qui appellent des prompts préenregistrés.

  • Expérimentation: Vous pouvez facilement tester différentes formulations de prompts pour voir quel est l'impact sur les résultats.

Plusieurs exemples de prompts pour LLAMA

Je vais vous fournir plusieurs exemples de prompts efficaces pour la lecture de documents via Ollama. Ces prompts sont structurés par catégorie d'utilisation :

  1. Prompts pour l'Analyse Générale du Document

textCopy"Voici un document [type de document]. Merci de :
1. Faire un résumé des points principaux
2. Identifier les thèmes clés
3. Lister les informations essentielles
4. Proposer une synthèse en 3 paragraphes"
  1. Prompts pour l'Extraction d'Informations Spécifiques

textCopy"Dans ce document, peux-tu :
- Extraire toutes les dates importantes
- Identifier les personnes mentionnées
- Lister les chiffres clés
- Repérer les décisions principales"
  1. Prompts pour l'Analyse Détaillée

textCopy"Analyse ce document selon les critères suivants :
1. Contexte et objectif
2. Méthodologie utilisée
3. Résultats présentés
4. Conclusions et recommandations
5. Points d'attention particuliers"
  1. Prompts pour la Comparaison de Sections

textCopy"Pour ce document :
1. Compare l'introduction et la conclusion
2. Identifie les contradictions éventuelles
3. Souligne les évolutions d'argumentation
4. Mets en évidence les points de cohérence"
  1. Prompts pour l'Analyse Critique

textCopy"Examine ce document de manière critique :
1. Quels sont les arguments les plus solides ?
2. Y a-t-il des lacunes dans le raisonnement ?
3. Les sources citées sont-elles pertinentes ?
4. Quelles sont les limites de l'analyse présentée ?"
  1. Prompts pour la Synthèse et Recommandations

textCopy"À partir de ce document :
1. Établis une synthèse en 500 mots
2. Propose 3-5 recommandations principales
3. Identifie les points nécessitant plus d'approfondissement
4. Suggère des axes d'amélioration"
  1. Prompts pour l'Extraction de Données Techniques

textCopy"Dans ce document technique :
1. Liste tous les paramètres techniques mentionnés
2. Extrais les spécifications importantes
3. Identifie les protocoles ou procédures
4. Résume les aspects méthodologiques"
  1. Prompts pour la Vérification de Conformité

textCopy"Analyse ce document pour vérifier :
1. La conformité aux normes mentionnées
2. Le respect des procédures standard
3. La présence des éléments obligatoires
4. Les potentielles non-conformités"
  1. Prompts pour l'Analyse de Format et Structure

textCopy"Examine la structure du document :
1. Évalue l'organisation des sections
2. Vérifie la cohérence du formatage
3. Identifie les éléments manquants
4. Suggère des améliorations de présentation"
  1. Prompts pour la Création de Résumés Exécutifs

textCopy"Crée un résumé exécutif incluant :
1. Les 3 messages clés
2. Les décisions importantes
3. Les actions requises
4. Les délais mentionnés
5. Les parties prenantes impliquées"

Conseils d'Utilisation :

  1. Adaptez le Niveau de Détail :

textCopy"Analyse ce document avec un niveau de détail [basique/intermédiaire/approfondi]"
  1. Spécifiez le Format de Réponse :

textCopy"Présente les résultats sous forme de :
- Liste à puces
- Tableau
- Paragraphes structurés
- Points numérotés"
  1. Demandez des Clarifications :

textCopy"Si certains points sont ambigus :
1. Identifie-les
2. Propose des interprétations possibles
3. Suggère des questions de clarification"
  1. Pour les Documents Techniques :

textCopy"Pour chaque section technique :
1. Extrais les formules/équations
2. Liste les variables utilisées
3. Explique les calculs présentés
4. Identifie les hypothèses"

Ces prompts peuvent être combinés ou modifiés selon vos besoins spécifiques. L'important est d'être précis dans vos demandes et de structurer vos questions de manière claire et logique.

Paramétrage du prompt

Détail du prompt

Pour aller plus loin, je vous recommande de consulter la documentation officielle d'Ollama. Elle vous fournira des informations plus détaillées sur les fonctionnalités spécifiques de cette option, ainsi que des exemples concrets d'utilisation.


Un autre exemple de prompt système :

Voici un prompt système détaillé pour guider un modèle de langage dans la création de prompts système efficaces, basé sur les directives fournies :

Générez un prompt système détaillé et structuré pour guider un modèle de langage dans l'exécution efficace d'une tâche spécifique, en vous basant sur une description ou un prompt existant. Votre prompt doit être clair, concis et optimisé pour obtenir les meilleurs résultats possibles.

Suivez ces étapes pour créer le prompt :

1. Analysez soigneusement la description de la tâche ou le prompt existant pour identifier :

- L'objectif principal

- Les buts spécifiques

- Les exigences et contraintes

- Le résultat attendu

2. Structurez le prompt en sections clairement définies :

- Instruction principale concise (première ligne, sans en-tête)

- Contexte et détails supplémentaires

- Étapes ou directives spécifiques (si nécessaire)

- Format de sortie requis

- Exemples (si approprié)

- Notes ou considérations importantes

3. Appliquez ces principes clés :

- Privilégiez la clarté et la concision

- Encouragez le raisonnement étape par étape avant les conclusions

- Préservez le contenu original de l'utilisateur autant que possible

- Incluez des constantes pertinentes directement dans le prompt

- Utilisez le formatage Markdown pour améliorer la lisibilité

4. Déterminez l'ordre optimal pour le raisonnement et les conclusions :

- Identifiez explicitement les parties de raisonnement et de conclusion

- Assurez-vous que les conclusions, classifications ou résultats apparaissent en dernier

- Inversez l'ordre si les exemples fournis le justifient

5. Spécifiez clairement le format de sortie attendu :

- Détaillez la structure, la longueur et la syntaxe requises

- Privilégiez le format JSON pour les données structurées

- Évitez d'envelopper le JSON dans des blocs de code, sauf demande explicite

6. Si des exemples sont nécessaires :

- Fournissez 1 à 3 exemples de haute qualité

- Utilisez des espaces réservés [entre crochets] pour les éléments complexes

- Indiquez clairement le début et la fin de chaque exemple

- Si les exemples sont simplifiés, expliquez comment les exemples réels diffèrent

7. Incluez une section "Notes" si nécessaire :

- Mentionnez les cas limites importants

- Rappelez les considérations cruciales

- Fournissez des conseils supplémentaires pour optimiser les résultats

Format de sortie :

Présentez le prompt système généré sous forme de texte structuré en Markdown, avec des sections clairement définies et numérotées si nécessaire. N'utilisez pas de blocs de code, sauf si spécifiquement demandé. La longueur totale du prompt doit être adaptée à la complexité de la tâche, généralement entre 200 et 500 mots.

Exemple :

Voici un exemple simplifié de prompt système pour une tâche de classification de sentiments :

Classifiez le sentiment du texte fourni en tant que positif, négatif ou neutre. Analysez soigneusement le langage, le contexte et les nuances avant de conclure.

Étapes :

1. Identifiez les mots et phrases clés indiquant un sentiment

2. Évaluez le ton général et le contexte du texte

3. Considérez les nuances, l'ironie ou le sarcasme potentiels

4. Déterminez le sentiment global en fonction de votre analyse

Format de sortie :

Fournissez votre réponse au format JSON avec les champs suivants :

- sentiment : la classification finale (positif, négatif ou neutre)

- confidence : un score de confiance entre 0 et 1

- key_phrases : un tableau des phrases clés ayant influencé votre décision

Exemple :

Entrée : "Le nouveau restaurant était correct, mais le service était lent."

Sortie :

{

"sentiment": "neutre",

"confidence": 0.7,

"key_phrases": ["correct", "service était lent"]

}

Notes :

- Soyez attentif aux expressions idiomatiques qui peuvent influencer le sentiment

- En cas d'ambiguïté, privilégiez une classification neutre avec une confiance plus basse

(Note : Dans un cas réel, l'exemple serait plus long et complexe, avec potentiellement plusieurs exemples pour illustrer différents cas.)

Anthropic's Interactive Prompt Engineering Tutorial

https://github.com/anthropics/prompt-eng-interactive-tutorial


Je n'aborde pas la gouvernance de l'IA dans cet article voir sur ce sujet :

https://prezi.com/v/view/KaRozPZ4FRMSimPAm34s/

GOUVERNANCES.: La gouvernance

https://gouver2020.blogspot.com/2024/11/la-gouvernance.html



meta-llama/PurpleLlama: Set of tools to assess and improve LLM security.



Llama 3.1 Impact Grants Submission Manager - Llama 3.1 Impact Grants


Documentation | Llama



Responsible Use Guide for Llama



AI at Meta Blog


The latest version of Ollama is 0.4 : https://ollama.com/download
 
Download Ollama
 

The Ollama maintainers

https://github.com/ollama/ollama


De plus Microsoft a fait un programme de formation gratuit sur l'éthique  je vais publier un article sur celle-ci... 

Nous allons voir ensuite comment utiliser l'API de Claude / Anthropic dans OLLAMA, dans un autre article.


--- 
 Pierre Erol GIRAUDY