Écosystème Complet d'Outils d'IA | Original, traduit par l'IA
Table des matières
- Jina AI
- Script Python pour l’intégration de Jina AI
- Récupération de contenu URL avec
r.jina.ai
- Traitement des requêtes de recherche avec
s.jina.ai
- Encodage Base64 et authentification API
- Tavily AI
- API de recherche IA spécifique aux applications LLM
- Configuration et enregistrement de la clé API
- Implémentation du client Python
- Exemples de requêtes de recherche et utilisation
- Open WebUI
- Installation de l’interface IA locale
- Configuration et mise en place du serveur
- Intégration d’Ollama pour les modèles locaux
- Temps d’installation et prérequis
- Tableau, Scale et Power BI
- Comparaison des plateformes d’analyse décisionnelle
- Expérience des 13 jours d’essai de Tableau
- Aperçu de la plateforme de données Scale
- Fonctionnalités de Microsoft Power BI
- Utilisation d’OpenRouter
- Acceptation des cartes Visa chinoises
- Classements des modèles et analyse des tendances
- Catégories d’utilisation des LLM et applications
- Nécessité d’un VPN à Hong Kong pour l’API Anthropic
- ElevenLabs AI
- Intégration de l’API de synthèse vocale
- Capacités de clonage vocal
- Génération audio multilingue
- Script Python pour la conversion audio
Jina AI
Ce script Python interagit avec les services de Jina AI en utilisant des clés API et des arguments en ligne de commande. Il prend en charge deux tâches principales : récupérer le contenu d’une URL et effectuer une requête de recherche. Le script récupère la clé API Jina à partir des variables d’environnement, garantissant un accès sécurisé aux services. Il utilise la bibliothèque requests
pour effectuer des requêtes HTTP et base64
pour décoder la requête de recherche. Le script affiche ensuite la réponse du service Jina AI.
import os
import requests
from dotenv import load_dotenv
import argparse
import base64
load_dotenv()
api_key = os.environ.get("JINA_API_KEY")
if not api_key:
raise ValueError("JINA_API_KEY environment variable not set.")
parser = argparse.ArgumentParser()
parser.add_argument("--job", type=str, choices=['url', 'search'], help="Job to execute (url or search)", required=True)
parser.add_argument("--input", type=str, help="Input for the job", required=True)
args = parser.parse_args()
if args.job == 'url':
url = f'https://r.jina.ai/{args.input}'
headers = {'Authorization': f'Bearer {api_key}'}
print(f"URL: {url}")
print(f"Headers: {headers}")
response = requests.get(url, headers=headers)
print(response.text)
elif args.job == 'search':
question = base64.b64decode(args.input).decode('utf-8', errors='ignore')
url = f'https://s.jina.ai/{question}'
headers = {
'Authorization': f'Bearer {api_key}',
'X-Engine': 'direct',
'X-Retain-Images': 'none'
}
print(f"URL: {url}")
print(f"Headers: {headers}")
response = requests.get(url, headers=headers)
print(response.text)
else:
print("Please specify --job url or --job search")
Tavily AI
Tavily est une API de recherche IA conçue spécialement pour les applications LLM. Elle fournit des résultats de recherche hautement pertinents en combinant la recherche web avec le traitement IA.
Pour utiliser Tavily, vous devez :
- Vous inscrire pour obtenir une clé API sur tavily.com
- Installer le package Python.
import os
from tavily import TavilyClient
# Récupérer la clé API à partir de la variable d'environnement
TAVILY_API_KEY = os.getenv('TAVILY_API_KEY')
if TAVILY_API_KEY is None:
raise ValueError("Clé API introuvable. Veuillez définir la variable d'environnement TAVILY_API_KEY.")
# Initialiser le TavilyClient avec la clé API récupérée
tavily_client = TavilyClient(api_key=TAVILY_API_KEY)
# Effectuer une requête de recherche
response = tavily_client.search("Who is Leo Messi?")
# Afficher la réponse
print(response)
Open WebUI
-
Open WebUI est un excellent outil.
-
Pour démarrer le serveur, exécutez ces commandes :
pip install open-webui
etopen-webui serve
. -
Le processus d’installation peut prendre un certain temps (environ 10 minutes ou plus).
-
Open WebUI fonctionne bien avec Ollama.
Tableau, Scale et Power BI
Tableau
Après inscription, j’ai été informé que j’avais 13 jours pour essayer le service.
source : tableau.com
Scale
source : scale.com
Power BI
Utilisation d’OpenRouter
-
Les cartes de crédit Visa émises en Chine sont acceptées.
-
La page des classements est intéressante pour voir les modèles les plus populaires et tendances.
-
Vous pouvez voir comment les gens utilisent les modèles LLM dans des catégories comme le jeu de rôle, la programmation, le marketing, le marketing/SEO et la technologie.
-
Pour les utilisateurs à Hong Kong, un VPN est toujours nécessaire pour accéder à l’API Anthropic.
ElevenLabs AI
-
Super. J’ai utilisé 5 $ USD pour tester le service.
-
Le clonage vocal est excellent.
-
Exemples audio ci-dessous :
import os
import requests
from dotenv import load_dotenv
import argparse
import re
load_dotenv()
api_key = os.environ.get("ELEVENLABS_API_KEY")
if not api_key:
raise ValueError("ELEVENLABS_API_KEY environment variable not set.")
parser = argparse.ArgumentParser()
parser.add_argument("--file", type=str, help="Fichier Markdown à convertir en audio", required=False)
parser.add_argument("--text", type=str, help="Texte à convertir en audio", required=False)
parser.add_argument("--output", type=str, help="Nom du fichier de sortie", required=True)
parser.add_argument("--voice_id", type=str, default="21m00Tcm4TlvDq8iK2G8", help="ID de la voix à utiliser")
args = parser.parse_args()
if args.file:
try:
with open(args.file, 'r') as f:
content = f.read()
# Supprimer le front matter
content = re.sub(r'---.*?---', '', content, flags=re.DOTALL)
text = content.strip()
except FileNotFoundError:
print(f"Erreur : Fichier introuvable : {args.file}")
exit(1)
except Exception as e:
print(f"Erreur lors de la lecture du fichier : {e}")
exit(1)
elif args.text:
text = args.text
else:
print("Erreur : --file ou --text doit être spécifié.")
exit(1)
url = f"https://api.elevenlabs.io/v1/text-to-speech/{args.voice_id}"
headers = {
"Accept": "audio/mpeg",
"Content-Type": "application/json",
"xi-api-key": api_key
}
data = {
"text": text,
"model_id": "eleven_flash_v2_5",
"voice_settings": {
"stability": 0.5,
"similarity_boost": 0.5
}
}
response = requests.post(url, json=data, headers=headers)
if response.status_code == 200:
with open(args.output, 'wb') as f:
f.write(response.content)
print(f"Audio enregistré sous {args.output}")
else:
print(f"Erreur : {response.status_code} - {response.text}")