Translate

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






Aucun commentaire: