Maison > développement back-end > Tutoriel Python > AISuite : simplifier l'intégration de GenAI entre plusieurs fournisseurs LLM

AISuite : simplifier l'intégration de GenAI entre plusieurs fournisseurs LLM

Susan Sarandon
Libérer: 2024-12-18 07:26:18
original
1004 Les gens l'ont consulté

L'IA générative (Gen AI) remodèle les industries grâce à son potentiel de créativité, de résolution de problèmes et d'automatisation. Cependant, les développeurs sont souvent confrontés à des défis importants lors de l'intégration de grands modèles de langage (LLM) provenant de différents fournisseurs en raison de la fragmentation des API et des configurations. Ce manque d'interopérabilité complique les flux de travail, allonge les délais de développement et entrave la création d'applications Gen AI efficaces.

Pour résoudre ce problème, l'équipe d'Andrew Ng a introduit AISuite, une bibliothèque Python open source qui rationalise l'intégration des LLM entre des fournisseurs comme OpenAI, Anthropic et Ollama. AISuite permet aux développeurs de basculer entre les modèles avec une simple chaîne « fournisseur:modèle » (par exemple, openai:gpt-4o ou anthropic:claude-3-5), éliminant ainsi le besoin de réécritures approfondies du code. En fournissant une interface unifiée, AISuite réduit considérablement la complexité, accélère le développement et ouvre de nouvelles possibilités pour créer des applications Gen AI polyvalentes.

Dans cet article, nous explorerons le fonctionnement d'AISuite, ses applications pratiques et son efficacité pour relever les défis liés au travail avec divers LLM.

Commencer

Table des matières

  • Qu'est-ce qu'AISuite
  • Pourquoi AISuite est-il important
  • Expérimenter avec AISuite
  • Créer une fin de chat
  • Création d'une fonction générique pour les requêtes

Qu'est-ce qu'AISuite

AISuite est une bibliothèque Python open source développée par l'équipe d'Andrew Ng pour simplifier l'intégration et la gestion de grands modèles de langage (LLM) provenant de plusieurs fournisseurs. Il résume les complexités liées au travail avec diverses API, configurations et formats de données, offrant ainsi aux développeurs un cadre unifié pour rationaliser leurs flux de travail.

Principales caractéristiques d'AISuite :

  • Interface simple : AISuite offre une interface simple et cohérente pour gérer différents LLM. Les développeurs peuvent intégrer des modèles dans leurs applications avec seulement quelques lignes de code, réduisant ainsi considérablement les barrières à l'entrée pour les projets Gen AI.
  • Unified Framework : en faisant abstraction des différences entre plusieurs API, AISuite gère différents types de demandes et de réponses de manière transparente. Cela réduit les frais de développement et accélère le prototypage et le déploiement.
  • Changement de modèle facile : avec AISuite, basculer entre les modèles est aussi simple que de modifier une seule chaîne dans le code. Par exemple, les développeurs peuvent spécifier une combinaison « fournisseur : modèle » comme openai:gpt-4o ou anthropic:claude-3-5 sans réécrire des parties importantes de leur application.
  • Extensibilité : AISuite est conçu pour s'adapter au paysage évolutif de la génération IA. Les développeurs peuvent ajouter de nouveaux modèles et fournisseurs dès qu'ils sont disponibles, garantissant ainsi que les applications restent à jour avec les dernières fonctionnalités d'IA.

Pourquoi AISuite est-il important ?

AISuite répond à un problème critique dans l'écosystème Gen AI : le manque d'interopérabilité entre les LLM de différents fournisseurs. En fournissant une interface unifiée, il simplifie le processus de développement, permettant ainsi de gagner du temps et de réduire les coûts. Cette flexibilité permet aux équipes d'optimiser les performances en sélectionnant le meilleur modèle pour des tâches spécifiques.

Les premiers tests de référence et les commentaires de la communauté mettent en évidence la capacité d'AISuite à réduire le temps d'intégration des applications multimodèles, améliorant ainsi l'efficacité et la productivité des développeurs. À mesure que l'écosystème Gen AI se développe, AISuite abaisse les obstacles à l'expérimentation, à la création et à la mise à l'échelle de solutions basées sur l'IA.

Expérimenter avec AISuite

Commençons à explorer AISuite en installant les dépendances nécessaires.

Installation des dépendances

  • Créez et activez un environnement virtuel en exécutant la commande suivante.
python -m venv venv
source venv/bin/activate #for ubuntu
venv/Scripts/activate #for windows
Copier après la connexion
Copier après la connexion
  • Installez les bibliothèques aisuite, openai et python-dotenv à l'aide de pip.
pip install aisuite[all] openai python-dotenv
Copier après la connexion
Copier après la connexion

AISuite: Simplifying GenAI integration across multiple LLM providers

Configuration de l'environnement et des informations d'identification

Créez un fichier nommé .env. Ce fichier stockera vos variables d'environnement, y compris la clé OpenAI.

  • Ouvrez le fichier .env et ajoutez le code suivant pour spécifier votre clé API OpenAI :
OPENAI_API_KEY=sk-proj-7XyPjkdaG_gDl0_...
GROQ_API_KEY=gsk_8NIgj24k2P0J5RwrwoOBW...
Copier après la connexion
Copier après la connexion
  • Ajoutez des clés API aux variables d'environnement.
import os
from dotenv import load_dotenv
load_dotenv()
os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY')
os.environ['ANTHROPIC_API_KEY'] = getpass('Enter your ANTHROPIC API key: ')
Copier après la connexion
Copier après la connexion

Initialiser le client AISuite

Créez une instance du client AISuite, permettant une interaction standardisée avec plusieurs LLM.

python -m venv venv
source venv/bin/activate #for ubuntu
venv/Scripts/activate #for windows
Copier après la connexion
Copier après la connexion

Interroger le modèle

L'utilisateur peut interroger le modèle à l'aide d'AISuite comme suit.

pip install aisuite[all] openai python-dotenv
Copier après la connexion
Copier après la connexion
  • model="openai:gpt-4o" : Spécifie le type et la version du modèle.
  • messages=messages : Envoie l'invite précédemment définie au modèle.
  • température=0,75 : Ajuste le caractère aléatoire de la réponse. Des valeurs plus élevées encouragent les productions créatives, tandis que des valeurs plus faibles produisent des résultats plus déterministes.
  • response.choices[0].message.content : Récupère le contenu textuel de la réponse du modèle.

Création d'une fin de chat

Créons un code de complétion de discussion à l'aide du modèle OpenAI.

OPENAI_API_KEY=sk-proj-7XyPjkdaG_gDl0_...
GROQ_API_KEY=gsk_8NIgj24k2P0J5RwrwoOBW...
Copier après la connexion
Copier après la connexion
  • Exécutez l'application à l'aide de la commande suivante.
import os
from dotenv import load_dotenv
load_dotenv()
os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY')
os.environ['ANTHROPIC_API_KEY'] = getpass('Enter your ANTHROPIC API key: ')
Copier après la connexion
Copier après la connexion

Vous obtiendrez le résultat comme suit,

AISuite: Simplifying GenAI integration across multiple LLM providers

Création d'une fonction générique pour les requêtes

Au lieu d'écrire du code séparé pour appeler différents modèles, créons une fonction générique pour éliminer la répétition de code et améliorer l'efficacité.

client = ai.Client()
Defining the prompt
The prompt syntax closely resembles OpenAI’s structure, incorporating roles and content.

messages = [
   {"role": "system", "content": "You are a helpful assistant."},
   {"role": "user", "content": "Tell a joke in 1 line."}
]
Copier après la connexion

La fonction Ask est un utilitaire réutilisable conçu pour envoyer des requêtes à un modèle d'IA. Il accepte les paramètres suivants :

  • message : la requête ou l'invite de l'utilisateur. sys_message (facultatif) : une instruction au niveau du système pour guider le comportement du modèle.
  • model : Spécifie le modèle AI à utiliser. La fonction traite les paramètres d'entrée, les envoie au modèle spécifié et renvoie la réponse de l'IA, ce qui en fait un outil polyvalent pour interagir avec différents modèles.

Vous trouverez ci-dessous le code complet pour interagir avec le modèle OpenAI à l'aide de la fonction générique Ask.

# openai model
response = client.chat.completions.create(model="openai:gpt-4o", messages=messages, temperature=0.75)
# ollama model
response = client.chat.completions.create(model="ollama:llama3.1:8b", messages=messages, temperature=0.75)
# anthropic model
response = client.chat.completions.create(model="anthropic:claude-3-5-sonnet-20241022", messages=messages, temperature=0.75)
# groq model
response = client.chat.completions.create(model="groq:llama-3.2-3b-preview", messages=messages, temperature=0.75)
print(response.choices[0].message.content)
Copier après la connexion

L'exécution du code produira le résultat suivant.

AISuite: Simplifying GenAI integration across multiple LLM providers

Interagir avec plusieurs API

Explorons l'interaction avec plusieurs modèles à l'aide d'AISuite via le code suivant.

import os
from dotenv import load_dotenv
load_dotenv()
os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY')

import aisuite as ai

client = ai.Client()

provider = "openai"
model_id = "gpt-4o"

messages = [
    {"role": "system", "content": "You are a helpful assistant"},
    {"role": "user", "content": "Provide an overview of the latest trends in AI"},
]

response = client.chat.completions.create(
    model = f"{provider}:{model_id}",
    messages = messages,
)

print(response.choices[0].message.content)
Copier après la connexion

Il peut y avoir des défis lors de l'interaction avec des fournisseurs comme Anthropic ou Groq. Espérons que l'équipe AISuite résout activement ces problèmes pour garantir une intégration et une fonctionnalité transparentes.

AISuite est un outil puissant pour naviguer dans le paysage des grands modèles linguistiques. Il permet aux utilisateurs de tirer parti des atouts de plusieurs fournisseurs d’IA tout en rationalisant le développement et en encourageant l’innovation. Avec sa base open source et sa conception intuitive, AISuite s'impose comme la pierre angulaire du développement d'applications d'IA modernes.

Merci d'avoir lu cet article !!

Merci Gowri M Bhatt d'avoir révisé le contenu.

Si vous avez apprécié cet article, veuillez cliquer sur le bouton cœur ♥ et partager pour aider les autres à le trouver !

Le code source complet de ce tutoriel peut être trouvé ici,

GitHub - codemaker2015/aisuite-examples : github.com

Ressources

GitHub - andrewyng/aisuite : Interface simple et unifiée pour plusieurs fournisseurs d'IA générative : github.com

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal