Cloudflare lance AutoRAG : le service RAG géré simplifie l'intégration des applications d'IA

Cloudflare La Commission a récemment annoncé le lancement de AutoRAG Bêta ouverte du service. Ce service RAG (Retrieval-Augmented Generation), entièrement hébergé, est le premier du genre au monde. RAGLa technologie RAG améliore la précision des réponses de l'IA en récupérant des informations à partir de données appartenant au développeur et en les introduisant dans le grand modèle linguistique (LLM) afin de générer des réponses plus fiables et basées sur des faits.

La construction d'un pipeline RAG est souvent une tâche fastidieuse pour de nombreux développeurs. Elle nécessite l'intégration de multiples outils et services tels que des magasins de données, des bases de données vectorielles, des modèles intégrés, de grands modèles de langage et une logique d'indexation, de récupération et de génération personnalisée. Un grand nombre de "coutures" sont nécessaires rien que pour lancer le projet, et la maintenance ultérieure est encore plus difficile. Lorsque les données ont changé, elles ont dû être réindexées manuellement et des vecteurs d'intégration ont été générés pour que le système reste pertinent et performant. L'expérience attendue "poser une question et obtenir une réponse intelligente" se transforme souvent en un système complexe d'intégrations fragiles, de code collant et de maintenance continue.

AutoRAG L'objectif est d'éliminer cette complexité. En quelques clics, les développeurs obtiennent un pipeline RAG entièrement géré de bout en bout. Le service couvre tout, de l'accès aux données au stockage des vecteurs dans la base de données RAG, en passant par le découpage et l'intégration automatisés. Cloudflare (utilisé comme expression nominale) Vectorize dans la base de données, puis d'effectuer des recherches sémantiques et d'utiliser la base de données. Workers AI L'ensemble du processus de génération d'une réponse de haute qualité.AutoRAG Les sources de données sont continuellement contrôlées et indexées pour les mises à jour en arrière-plan, ce qui permet aux applications d'IA d'être mises à jour automatiquement sans intervention humaine. Cette abstraction permet aux développeurs de se concentrer davantage sur la construction des applications d'IA. Cloudflare pour créer des applications plus intelligentes et plus rapides sur la plateforme de développement de la

La valeur des demandes RAG

Les grands modèles linguistiques (tels que ceux introduits par Meta Llama 3.3) sont puissants, mais leurs connaissances se limitent aux données de formation. Lorsqu'on leur demande des informations nouvelles, exclusives ou spécifiques à un domaine, ils ont souvent du mal à donner des réponses précises. Il est possible d'y remédier en fournissant des informations pertinentes par le biais d'invites du système, mais cela augmente la taille de l'entrée et est limité par la longueur de la fenêtre contextuelle. Une autre approche consiste à affiner le modèle, mais cela est coûteux et nécessite un réentraînement continu pour suivre les mises à jour des informations.

Le RAG extrait les informations pertinentes d'une source de données spécifiée au moment de la requête, les combine avec la requête de l'utilisateur, puis les transmet au LLM pour qu'il génère une réponse. Cette approche permet au LLM de baser sa réponse sur les données fournies par le développeur, en s'assurant que les informations sont exactes et à jour. Par conséquent, RAG est bien adapté à la construction de robots de service à la clientèle pilotés par l'IA, d'assistants de base de connaissances internes, de recherche sémantique de documents et d'autres scénarios d'application qui nécessitent des sources d'information continuellement mises à jour. Par rapport au réglage fin, RAG est plus rentable et plus souple dans le traitement des données mises à jour de manière dynamique.

Cloudflare 推出 AutoRAG:托管式 RAG 服务简化 AI 应用集成

Explication du mécanisme de fonctionnement d'AutoRAG

AutoRAG utiliser Cloudflare Les composants existants de la plateforme de développement configurent automatiquement le pipeline RAG pour l'utilisateur. Les développeurs n'ont pas besoin d'écrire leur propre code pour combiner les éléments suivants Workers AI,Vectorize répondre en chantant AI Gateway et d'autres services, il suffit de créer un AutoRAG et la diriger vers une source de données (telle que la base de données R2 (seau de stockage) suffit.

AutoRAG Deux processus en constituent le cœur :Indexation répondre en chantant Interrogation.

  • indexation est un processus asynchrone qui s'exécute en arrière-plan. Il s'exécute dans la fenêtre AutoRAG Les instances sont lancées immédiatement après leur création et s'exécutent automatiquement en mode "round-robin" - en traitant les fichiers nouveaux ou mis à jour après l'achèvement de chaque tâche. Au cours du processus d'indexation, le contenu est converti en vecteurs optimisés pour la recherche sémantique.
  • consulter (un document, etc.) est un processus synchronisé, déclenché par l'envoi d'une demande de recherche par l'utilisateur.AutoRAG Lors de la réception d'une requête, le contenu le plus pertinent est extrait de la base de données vectorielle et une réponse contextuelle est générée à l'aide de ce contenu et du LLM.

Le processus d'indexation expliqué

Lorsque la source de données est connectée, la fenêtreAutoRAG Les étapes suivantes sont automatiquement exécutées pour extraire, transformer et stocker les données sous forme de vecteurs, optimisés pour la recherche sémantique lors de requêtes ultérieures :

  1. Extraire des fichiers à partir de sources de données : AutoRAG Lire des fichiers directement à partir de sources de données configurées. Prend actuellement en charge l'utilisation de l'option Cloudflare R2 Intégration pour traiter les documents aux formats PDF, image, texte, HTML, CSV et bien d'autres.
  2. Conversion Markdown : utiliser Workers AI La fonction de conversion Markdown convertit tous les fichiers dans un format Markdown structuré, ce qui garantit la cohérence entre les différents types de fichiers. Pour les fichiers images, la fonctionWorkers AI L'objet est détecté, puis son contenu est décrit sous forme de texte Markdown grâce à une conversion visuelle/verbale.
  3. Chunking : Le texte extrait est divisé en petits morceaux afin d'améliorer la granularité de la recherche.
  4. Intégration : Chaque bloc de texte utilise le Workers AI Le modèle d'intégration est traité pour convertir le contenu en une représentation vectorielle.
  5. Stockage vectoriel : Les vecteurs générés, ainsi que les métadonnées telles que l'emplacement de la source, le nom du fichier, etc. Cloudflare Vectorize Dans la base de données.
Cloudflare 推出 AutoRAG:托管式 RAG 服务简化 AI 应用集成

Détails de la procédure de demande de renseignements

Lorsqu'un utilisateur final introduit une demande, le systèmeAutoRAG Il coordonnera les opérations suivantes :

  1. Recevoir des demandes de renseignements : Le processus d'interrogation commence par AutoRAG AI Search ou Search API pour envoyer une demande.
  2. Réécriture de la requête (facultatif) : AutoRAG Offre la possibilité d'utiliser Workers AI Le LLM réécrit la requête d'origine et la transforme en une requête de recherche plus efficace afin d'améliorer la qualité de la recherche.
  3. Intégration des requêtes : La requête réécrite (ou originale) est convertie en vecteur par le même modèle qu'au moment de l'intégration des données afin de permettre des comparaisons de similarité avec les données vectorielles stockées.
  4. Vectoriser Recherche vectorielle : Les vecteurs d'interrogation sont en accord avec les AutoRAG associé Vectorize La base de données est consultée pour trouver les vecteurs les plus pertinents.
  5. Métadonnées et recherche de contenu : Vectorize Renvoie les blocs de texte les plus pertinents et leurs métadonnées. En même temps, une liste des blocs de texte les plus pertinents et de leurs métadonnées provenant de la base de données des R2 Le contenu brut correspondant est extrait du réservoir de stockage. Ces informations sont transmises au modèle de génération de texte.
  6. Génération de réponses : Workers AI Le modèle de génération de texte utilise le contenu récupéré et la requête originale de l'utilisateur pour générer la réponse finale.

Le résultat final est une réponse pilotée par l'IA, précise et actualisée, basée sur les données privées de l'utilisateur.

Cloudflare 推出 AutoRAG:托管式 RAG 服务简化 AI 应用集成

Travaux pratiques : Construction rapide d'applications RAG avec l'API de rendu du navigateur

En règle générale, le démarrage AutoRAG Il suffit de le faire pointer vers un R2 Storage Bucket. Mais qu'en est-il si la source de contenu est une page web dynamique qui doit être rendue avant d'être récupérée ?Cloudflare proposé API de rendu du navigateur (désormais officiellement disponible) résout ce problème. L'API permet aux développeurs de contrôler de manière programmatique les instances de navigateurs sans tête afin d'effectuer des actions courantes telles que l'exploration de contenu HTML, la réalisation de captures d'écran, la génération de PDF, etc.

Les étapes suivantes décrivent comment utiliser le Browser Rendering API Exploration du contenu d'un site web, dépôt R2et le connecter au AutoRAG pour activer la fonctionnalité Q&A basée sur le contenu du site.

Étape 1 : Créer un Worker pour capturer des pages web et les télécharger vers R2

Tout d'abord, créez un Cloudflare WorkerUtilisation Puppeteer accède à l'URL spécifiée, rend la page et stocke le contenu HTML complet dans le fichier R2 Seau de stockage. S'il existe déjà un R2 cette étape peut être sautée.

  1. Initialiser un nouveau projet de travailleur (par ex. browser-r2-worker) :
    npm create cloudflare@latest browser-r2-worker
    

    option Hello World Starter(math.) genreWorker onlyla paix TypeScript.

  2. montage @cloudflare/puppeteer: :
    npm i @cloudflare/puppeteer
    
  3. Créer un fichier nommé html-bucket de l'unité de stockage R2 :
    npx wrangler r2 bucket create html-bucket
    
  4. existent wrangler.toml (ou wrangler.json) Fichier de configuration pour ajouter le rendu du navigateur et les liens avec le seau R2 :
    # wrangler.toml
    compatibility_flags = ["nodejs_compat"]
    [browser]
    binding = "MY_BROWSER"
    [[r2_buckets]]
    binding = "HTML_BUCKET"
    bucket_name = "html-bucket"
    
  5. Remplacez-le par le script suivant src/index.ts Ce script prend l'URL de la requête POST, utilise Puppeteer pour récupérer la page HTML et la stocke dans R2 :
    import puppeteer from "@cloudflare/puppeteer";
    interface Env {
    MY_BROWSER: puppeteer.BrowserWorker; // Correct typing if available, otherwise 'any'
    HTML_BUCKET: R2Bucket;
    }
    interface RequestBody {
    url: string;
    }
    export default {
    async fetch(request: Request, env: Env): Promise<Response> {
    if (request.method !== 'POST') {
    return new Response('Please send a POST request with a target URL', { status: 405 });
    }
    try {
    const body = await request.json() as RequestBody;
    // Basic validation, consider adding more robust checks
    if (!body.url) {
    return new Response('Missing "url" in request body', { status: 400 });
    }
    const targetUrl = new URL(body.url); // Use URL constructor for parsing and validation
    const browser = await puppeteer.launch(env.MY_BROWSER);
    const page = await browser.newPage();
    await page.goto(targetUrl.href, { waitUntil: 'networkidle0' }); // Wait for network activity to cease
    const htmlPage = await page.content();
    // Generate a unique key for the R2 object
    const key = `${targetUrl.hostname}_${Date.now()}.html`;
    await env.HTML_BUCKET.put(key, htmlPage, {
    httpMetadata: { contentType: 'text/html' } // Set content type
    });
    await browser.close();
    return new Response(JSON.stringify({
    success: true,
    message: 'Page rendered and stored successfully',
    key: key
    }), {
    headers: { 'Content-Type': 'application/json' }
    });
    } catch (error) {
    console.error("Error processing request:", error);
    // Return a generic error message to the client
    return new Response(JSON.stringify({ success: false, message: 'Failed to process request' }), {
    status: 500,
    headers: { 'Content-Type': 'application/json' }
    });
    }
    }
    } satisfies ExportedHandler<Env>;
    
  6. Déployer un travailleur :
    npx wrangler deploy
    
  7. Test Worker, par exemple capture Cloudflare de cet article de blog :
    curl -X POST https://browser-r2-worker.<YOUR_SUBDOMAIN>.workers.dev \
    -H "Content-Type: application/json" \
    -d '{"url": "https://blog.cloudflare.com/introducing-autorag-on-cloudflare"}'
    

    commandant en chef (militaire) <YOUR_SUBDOMAIN> Remplacez votre Cloudflare Workers Sous-domaines.

Étape 2 : Création d'une instance AutoRAG et surveillance des index

Remplir le contenu du fichier R2 Après la création du seau, la fonction AutoRAG Exemple :

  1. existent Cloudflare Dans le panneau de configuration, naviguez vers AI > AutoRAG.
  2. Sélectionnez "Create AutoRAG" et terminez la configuration :
    • Sélectionnez la base de connaissances qui contient le R2 Seau de stockage (dans ce cas html-bucket).
    • Sélectionnez le modèle d'intégration (recommandé par défaut).
    • Sélectionnez le LLM utilisé pour générer la réponse (valeur par défaut recommandée).
    • Sélectionner ou créer un AI Gateway pour contrôler l'utilisation du modèle.
    • en raison de AutoRAG Le nom de l'instance (par exemple my-rag).
    • Sélectionnez ou créez un jeton d'API de service qui autorise l'utilisation de la fonction AutoRAG Créez et accédez aux ressources de votre compte.
  3. Sélectionnez "Créer" pour lancer le AutoRAG Exemple.

Après la création, leAutoRAG créera automatiquement un Vectorize et commencer à indexer les données. Il est possible de créer une base de données dans le AutoRAG pour visualiser la progression de l'indexation. La durée de l'indexation dépend du nombre et du type de fichiers contenus dans la source de données.

Cloudflare 推出 AutoRAG:托管式 RAG 服务简化 AI 应用集成

Étape 3 : Test et intégration dans l'application

Une fois l'indexation terminée, l'interrogation peut commencer. L'indexation peut être effectuée dans la base de données AutoRAG instance Terrain de jeux Dans les onglets, posez des questions basées sur le contenu téléchargé, par exemple "Qu'est-ce que l'AutoRAG ?

Lorsque le test est satisfaisant, le AutoRAG directement dans l'application. Si vous utilisez l'application Cloudflare Workers Créer des applications qui peuvent être appelées directement par le biais des liens d'IA AutoRAG: :

existent wrangler.toml Ajouter la reliure :

# wrangler.toml
[ai]
binding = "AI"

Ensuite, dans le code du travailleur, appelez aiSearch() (pour obtenir la réponse générée par l'IA) ou la méthode Search() (pour obtenir une liste de résultats de recherche uniquement) :

// Example in a Worker using the AI binding
export default {
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
// Assuming 'env' includes the AI binding: interface Env { AI: Ai }
if (!env.AI) {
return new Response("AI binding not configured.", { status: 500 });
}
try {
const answer = await env.AI.run('@cf/meta/llama-3.1-8b-instruct', { // Example model, replace if needed
prompt: 'What is AutoRAG?', // Simple prompt example
rag: { // Use the RAG configuration via the binding
autorag_id: 'my-rag' // Specify your AutoRAG instance name
}
});
// Or using the specific AutoRAG methods if available via the binding
// const searchResults = await env.AI.autorag('my-rag').Search({ query: 'What is AutoRAG?' });
// const aiAnswer = await env.AI.autorag('my-rag').aiSearch({ query: 'What is AutoRAG?' });
return new Response(JSON.stringify(answer), { headers: { 'Content-Type': 'application/json' }});
} catch (error) {
console.error("Error querying AutoRAG:", error);
return new Response("Failed to query AutoRAG", { status: 500 });
}
}
}

Note : L'exemple de code Worker ci-dessus est basé sur l'intégration générique des liens AI et des fonctionnalités RAG, en particulier AutoRAG Pour l'invocation de la liaison, veuillez vous référer à Cloudflare Documentation officielle pour l'utilisation la plus récente et la plus précise.

Pour plus de détails sur l'intégration, consultez AutoRAG Utiliser AutoRAG" de l'exemple ou se référer à la documentation du développeur.

Importance stratégique et valeur pour le développeur

AutoRAG Ce lancement marque l'entrée en vigueur de l'accord de libre-échange entre l'Union européenne et l'Union européenne. Cloudflare Approfondir l'intégration des capacités d'IA sur sa plateforme de développement. En intégrant des éléments clés du pipeline RAG (R2VectorizeWorkers AIAI Gateway) encapsulé dans un service hébergé.Cloudflare Réduit considérablement les obstacles qui empêchent les développeurs de créer des applications intelligentes à partir de leurs propres données.

Pour les développeursAutoRAG La principale valeur de lacommoditéIl élimine le fardeau de la configuration manuelle et de la maintenance d'une infrastructure RAG complexe. Elle élimine le fardeau de la configuration et de la maintenance manuelles d'une infrastructure RAG complexe et convient particulièrement aux équipes qui ont besoin de prototyper rapidement ou qui ne disposent pas de ressources MLOps dédiées. Par rapport à la construction de votre propre RAG, il s'agit d'un compromis : sacrifier une partie du contrôle sous-jacent et de la flexibilité de personnalisation pour un développement plus rapide et une réduction des frais généraux de gestion.

En même temps, cela reflète la Cloudflare Une extension de la stratégie de plateforme : fournir des services de calcul, de stockage et d'IA de plus en plus complets à la périphérie de son réseau mondial, formant un écosystème étroitement intégré. Les développeurs utilisent AutoRAG Une intégration plus profonde Cloudflare qui peut apporter une certaine souplesse dans la mise en œuvre de laVerrouillage des fournisseursmais aussi grâce à l'intégration optimisée des services au sein de l'écologie.

Pendant la période de test public, leAutoRAG lancement gratuitmais les opérations de calcul telles que l'indexation, la recherche et l'amélioration consomment de l'argent. Workers AI répondre en chantant Vectorize L'utilisation de services sous-jacents tels que le développeur doit se préoccuper de ces coûts associés. Actuellement, chaque compte est limité à la création de 10 AutoRAG Chacune de ces instances gère jusqu'à 100 000 documentsCes restrictions peuvent être modifiées à l'avenir.

Feuille de route pour le développement futur

Cloudflare indiquer AutoRAG continuera à se développer, avec des plans pour introduire plus de fonctionnalités en 2025, par exemple :

  • Plus d'intégration des sources de données : en dehors de R2Le plan prend en charge l'analyse directe des URL des sites web (en utilisant la technologie de rendu des navigateurs) et l'accès aux informations suivantes Cloudflare D1 et d'autres sources de données structurées.
  • Améliorer la qualité de la réponse : Explorez les techniques intégrées telles que le reranking et le chunking récursif pour améliorer la pertinence et la qualité des réponses générées.

AutoRAG L'orientation du développement sera continuellement ajustée en fonction des réactions des utilisateurs et des scénarios d'application.

Expérience instantanée

droit AutoRAG Les développeurs intéressés peuvent visiter le site Cloudflare La section AI > AutoRAG du panneau de contrôle pour commencer à créer et à tester. Que vous construisiez une expérience de recherche AI, un assistant de connaissance interne ou que vous essayiez simplement une application LLM.AutoRAG Tous deux permettent de faire la différence dans le domaine de l'éducation et de la formation. Cloudflare Un moyen de lancer rapidement un projet RAG sur un réseau mondial. Des informations plus détaillées peuvent être trouvées dans le Documentation pour les développeurs. Entre-temps, la version officielle de la API de rendu du navigateur Également intéressant.

© déclaration de droits d'auteur
AiPPT

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...