Écosystème Complet d'Outils d'IA | Original, traduit par l'IA

Home 2025.02

Table des matières

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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 :

  1. Vous inscrire pour obtenir une clé API sur tavily.com
  2. 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


Tableau, Scale et Power BI

Tableau

https://tableau.com

Après inscription, j’ai été informé que j’avais 13 jours pour essayer le service.

source : tableau.com

Scale

https://scale.com

source : scale.com

Power BI

https://powerbi.microsoft.com


Utilisation d’OpenRouter


ElevenLabs AI

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}")


Back Donate