Translate

vendredi 20 décembre 2024

Boostez votre productivité avec Microsoft AI Builder automatisez les e-mails, les documents et les images...

Boostez la productivité : automatisez les e-mails, les documents et les images avec Microsoft AI Builder

Par Gwenaël Bego

Dans l’environnement commercial d’aujourd’hui, il est essentiel de rationaliser les flux de travail et de réduire les tâches manuelles. Microsoft AI Builder apporte la puissance de l’automatisation avancée aux processus de routine tels que le traitement des e-mails, le traitement des documents et la gestion des images, aidant ainsi les entreprises à fonctionner plus intelligemment et plus efficacement. Grâce à de nouvelles fonctionnalités, notamment le traitement de contenu multimodal, les sorties JSON structurées, la sélection flexible de modèles, l’ancrage Dataverse et une vaste bibliothèque d’invites, AI Builder élève les agents, les applications et l’automatisation à un niveau supérieur d’impact commercial.

Traitement de documents et d’images de nouvelle génération avec GPT

L’une des mises à jour les plus révolutionnaires d’AI Builder est la nouvelle capacité de traitement de contenu multimodal, qui permet aux entreprises de gérer différents types de données, y compris du texte, des documents et des images, dans le cadre d’une seule instruction en langage naturel. Cette intégration simplifie considérablement le processus d’élaboration d’actions d’IA pour un traitement intelligent des documents. Contrairement aux modèles d’apprentissage automatique traditionnels qui nécessitent une formation et une expertise approfondies, le traitement multimodal d’AI Builder peut être configuré à l’aide du langage naturel et sans données d’entraînement.

https://youtu.be/QJTd8LkBb6A?si=XswfcbP5BugWNyW8

Sorties JSON structurées désormais disponibles pour tous

Grâce à la nouvelle fonctionnalité de sortie JSON structurée d’AI Builder, les entreprises disposent d’un moyen plus déterministe et plus fiable de gérer le contenu généré. Contrairement aux sorties traditionnelles dont le format et la structure peuvent varier, les sorties JSON sont désormais générées avec un schéma prédéfini cohérent que vous définissez au moment de la conception, ce qui garantit que chaque résultat s’aligne précisément sur les formats de données attendus. Ce déterminisme dans la génération de contenu signifie que vos flux de travail automatisés produiront à chaque fois des données prévisibles et structurées, et que ces résultats seront facilement intégrés en tant que variables dans votre flux de travail Power Automate pour le traitement en aval. Cette fonctionnalité est particulièrement bénéfique lors de l’intégration des sorties d’AI Builder dans d’autres systèmes, car elle réduit le besoin de nettoyage ou de transformation de données supplémentaires. Qu’il s’agisse d’alimenter un CRM, une base de données ou une application personnalisée, vous pouvez vous assurer que les données sont générées de manière structurée et prévisible.

Image of structured JSON outputs

La mise à la terre de Dataverse est maintenant disponible pour tous

La nouvelle fonctionnalité d’ancrage Dataverse permet aux modèles d’IA générative d’obtenir des informations actualisées et contextuellement pertinentes à partir des données de votre organisation. En utilisant la génération augmentée par récupération (RAG), AI Builder s’intègre directement à Dataverse pour extraire des connaissances en temps réel et spécifiques à l’entreprise, donnant aux modèles une compréhension plus approfondie de votre contexte unique.

Cette approche améliorée par RAG permet aux modèles d’IA de récupérer et d’incorporer dynamiquement des données pertinentes de Dataverse pendant le traitement, ce qui permet d’obtenir des scénarios de questions-réponses avec des réponses précises qui sont également hautement contextualisées pour votre organisation. Par exemple, les modèles peuvent accéder instantanément aux historiques des clients, aux informations sur les produits et aux données opérationnelles les plus récentes, enrichissant ainsi les résultats avec des connaissances directement ancrées dans votre réalité commerciale.

Dans le cadre de la mise à disposition générale de cette fonctionnalité, elle a été améliorée pour prendre en charge plusieurs tables, y compris les tables contenant de grandes quantités d’enregistrements de données.

Image of Dataverse grounding with AI Builder

Sélection du modèle : GPT-4o et GPT-4o Mini

AI Builder offre une flexibilité dans la sélection des modèles, permettant aux utilisateurs de choisir entre le puissant GPT-4o et le GPT-4o Mini économique. Cette adaptabilité permet une personnalisation en fonction des exigences spécifiques du projet et des considérations relatives aux ressources.

Bibliothèque d’invites

La fonctionnalité de bibliothèque d’invites fournit une collection d’invites prédéfinies, servant de modèles pour accélérer la création de modèles d’IA. Cette ressource accélère le développement et garantit que les meilleures pratiques sont suivies dans l’ingénierie rapide. Les utilisateurs peuvent modifier les modèles en fonction de leurs besoins spécifiques, en ajustant le langage, le ton et les détails pour correspondre aux normes et aux exigences de l’organisation. Les modèles couvrent des domaines clés tels que l’extraction de documents, la transformation des données et la génération de contenu, ce qui permet aux utilisateurs de trouver facilement le bon point de départ pour leurs objectifs d’automatisation intelligente.

Image of prompt library feature in AI Biulder

Cas d’utilisation pour commencer

Avec AI Builder, vous n’avez pas besoin d’être un expert en codage pour tirer parti de la puissance de l’IA dans vos opérations quotidiennes. En créant des invites capables d’extraire des informations de documents, de classer des e-mails et même d’analyser des images, vous pouvez donner à votre équipe les moyens de travailler plus intelligemment, et non plus durement. AI Builder fonctionne main dans la main avec d’autres outils Power Platform tels que Power AutomateCopilot Studio et Power Apps, ce qui permet aux utilisateurs de créer des flux de travail intelligents et des applications personnalisées pour répondre aux besoins de toute entreprise.

Par exemple, supposons que votre équipe traite fréquemment les demandes des clients. À l’aide d’AI Builder et de Power Automate, vous pouvez concevoir un flux de travail qui analyse le contenu des e-mails entrants, les catégorise par urgence ou par sujet, et suggère même des réponses. Cela permet non seulement de gagner du temps, mais aussi de maintenir une communication cohérente et efficace. En mettant en place ce flux automatisé, les entreprises peuvent garder le contrôle des interactions avec les clients et garantir des réponses rapides.

Êtes-vous prêt à intégrer l’IA dans votre organisation ?

La documentation d’AI Builder fournit un guide complet sur la configuration d’AI Builder, la configuration des modèles et son intégration à des outils tels que Power Automate et Power Apps.

https://learn.microsoft.com/en-us/ai-builder/overview

Pour des didacticiels étape par étape, le parcours d’apprentissage Microsoft Learn AI Builder est un excellent point de départ. Il couvre tout, des concepts fondamentaux aux cas d’utilisation avancés, aidant les utilisateurs de tous niveaux à maîtriser l’utilisation d’AI Builder pour automatiser et optimiser les flux de travail.

Pour obtenir des conseils et des exemples sur l’utilisation du traitement de contenu multimodal et d’autres invites avec Power Apps, vous pouvez utiliser le Creative AI Kit dans App Source ou GitHub. Les nouveaux exemples qui utilisent des invites multimodales incluent AI Image Diff, AI Describe Image, AI Fields from Image et AI Generate QnA.

https://github.com/microsoft/powercat-creator-kit/releases/tag/CreatorKit-November2024


Participez à nos sessions Ignite et découvrez d’autres annonces passionnantes pour Microsoft Power Platform :



--- 

 Pierre Erol GIRAUDY
http://about.me/giraudyerol

jeudi 19 décembre 2024

Les mécanismes d'autocorrections

Dans le livre il indicts les une voie vers les mécanismes d'autocorrections (plus de 100 fois)  
 


Ces algorithmes offrent différentes approches pour l'autocorrection :


La distance de Levenshtein permet de mesurer la similarité entre deux mots en comptant le nombre minimal de modifications nécessaires pour passer de l'un à l'autre. C'est particulièrement utile pour les erreurs de frappe simples.

L'algorithme Soundex transforme les mots en codes phonétiques, ce qui permet de trouver des mots qui sonnent de manière similaire même s'ils sont orthographiés différemment. Par exemple, "Philippe" et "Filip" auront le même code Soundex.

La méthode des n-grammes découpe les mots en sous-séquences de n caractères et compare leur similarité. Cette approche est efficace pour détecter des similarités partielles entre les mots.

def levenshtein_distance(str1, str2):
    """Calcule la distance de Levenshtein entre deux chaînes."""
    if len(str1) < len(str2):
        return levenshtein_distance(str2, str1)

    if len(str2) == 0:
        return len(str1)

    previous_row = range(len(str2) + 1)
    for i, c1 in enumerate(str1):
        current_row = [i + 1]
        for j, c2 in enumerate(str2):
            insertions = previous_row[j + 1] + 1
            deletions = current_row[j] + 1
            substitutions = previous_row[j] + (c1 != c2)
            current_row.append(min(insertions, deletions, substitutions))
        previous_row = current_row

    return previous_row[-1]

def suggestion_mot(mot_errone, dictionnaire, seuil=2):
    """Trouve les suggestions pour un mot erroné basé sur la distance de Levenshtein."""
    suggestions = []
    for mot in dictionnaire:
        distance = levenshtein_distance(mot_errone, mot)
        if distance <= seuil:
            suggestions.append((mot, distance))
    
    return sorted(suggestions, key=lambda x: x[1])

# Exemple d'utilisation de l'algorithme phonétique Soundex
def soundex(mot):
    """Implémentation de l'algorithme Soundex."""
    # Table de conversion
    conv_table = {
        'b': '1', 'f': '1', 'p': '1', 'v': '1',
        'c': '2', 'g': '2', 'j': '2', 'k': '2', 'q': '2', 's': '2', 'x': '2', 'z': '2',
        'd': '3', 't': '3',
        'l': '4',
        'm': '5', 'n': '5',
        'r': '6'
    }
    
    if not mot:
        return ''
        
    # Garde la première lettre
    code = mot[0].upper()
    
    # Convertit le reste des lettres
    for char in mot[1:].lower():
        if char in conv_table:
            if conv_table[char] != code[-1]:  # Évite les répétitions
                code += conv_table[char]
    
    # Pad avec des zéros et tronque à 4 caractères
    code = code + '0' * 4
    return code[:4]

def n_grammes(mot, n=2):
    """Génère les n-grammes d'un mot."""
    return [mot[i:i+n] for i in range(len(mot)-n+1)]

def similarite_n_grammes(mot1, mot2, n=2):
    """Calcule la similarité entre deux mots basée sur leurs n-grammes."""
    ngrams1 = set(n_grammes(mot1, n))
    ngrams2 = set(n_grammes(mot2, n))
    
    intersection = len(ngrams1.intersection(ngrams2))
    union = len(ngrams1.union(ngrams2))
    
    return intersection / union if union > 0 else 0

Pour améliorer ces mécanismes, on peut également :


Utiliser des dictionnaires de fréquence pour privilégier les mots les plus courants
Tenir compte du contexte (mots précédents et suivants)
Implémenter des règles spécifiques à la langue (par exemple pour le français : accents, cédilles, etc.)
Utiliser des techniques d'apprentissage automatique pour affiner les suggestions... Et bien plus, je suppose que l'IA Freysa devait être avec des mécanismes de ce type.

L'IA Freysa trompée 


Maintenant que les blockchains et les IA deviennent de plus en plus puissantes, il existe un nombre croissant de cas d’utilisation à l’intersection des deux domaines. Cependant, certains de ces cas d’utilisation ont beaucoup plus de sens et sont beaucoup plus robustes que d’autres. En général, les cas d’utilisation où le mécanisme sous-jacent continue d’être conçu grossièrement comme avant, mais où les acteurs individuels deviennent des IA, permettant au mécanisme de fonctionner efficacement à une échelle beaucoup plus micro, sont les plus prometteurs et les plus faciles à réaliser.

Les applications les plus difficiles à mettre en œuvre sont celles qui tentent d’utiliser des blockchains et des techniques cryptographiques pour créer un « singleton » : une IA de confiance décentralisée unique sur laquelle une application s’appuierait à une certaine fin. Ces applications sont prometteuses, à la fois pour la fonctionnalité et pour l’amélioration de la sécurité de l’IA d’une manière qui évite les risques de centralisation associés à des approches plus courantes de ce problème. Mais il y a aussi de nombreuses façons dont les hypothèses sous-jacentes pourraient échouer ; Par conséquent, il vaut la peine d’être prudent, en particulier lors du déploiement de ces applications dans des contextes à forte valeur et à haut risque.

J’ai hâte de voir d’autres tentatives de cas d’utilisation constructifs de l’IA dans tous ces domaines, afin que nous puissions voir lesquels d’entre eux sont vraiment viables à grande échelle.


https://github.com/0xfreysa/agent





--- 
 Pierre Erol GIRAUDY 
http://about.me/giraudyerol

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