Recherche de site Web

Construire un agent d'IA pour automatiser l'analyse de documents avec GradientAI


Introduction

Dans l'écosystème SaaS actuel, les entreprises sont régulièrement invitées à remplir des questionnaires détaillés sur la sécurité et la conformité dans le cadre des processus de diligence raisonnable lors de l'approvisionnement, de l'intégration des fournisseurs ou de l'évaluation des partenariats.

Ces questionnaires sont souvent longs, répétitifs et sensibles au temps, ce qui en fait un goulot d'étranglement pour les équipes techniques et de conformité. Ce processus consomme généralement du temps allant de quelques jours à une semaine pour tous les compléter, selon la complexité des questions, la posture de sécurité de l'entreprise et le niveau de documentation requis, selon une recherche réalisée par Vanta. L'effort manuel entraîne des cycles de vente retardés, des réponses incohérentes entre les questionnaires et détourne les ressources techniques précieuses des travaux de développement principaux.

Qui a besoin de cette solution ?

Cette solution alimentée par l'IA est particulièrement précieuse pour :

  • Les entreprises SaaS connaissant une croissance rapide et des examens de sécurité fréquents.
  • Les équipes de conformité et de sécurité submergées par des questionnaires répétitifs.
  • Équipes de vente et de développement commercial cherchant à accélérer la conclusion des affaires.
  • Startups avec des ressources limitées qui ne peuvent pas se permettre du personnel dédié à la conformité.

Avantages de l'automatisation des questionnaires par l'IA

  • Efficacité temporelle : réduire le temps de réponse de plusieurs jours à quelques heures.
  • Constance : Assurez des réponses uniformes dans tous les questionnaires.
  • Optimisation des ressources : Libérer le personnel technique pour le développement principal.
  • Scalabilité : Gérer un volume croissant de questionnaires sans augmenter les effectifs.
  • Précision : Utilisez votre documentation réelle pour des réponses fondées sur des preuves.

Dans ce tutoriel, vous allez créer une application alimentée par l'IA qui utilise la Génération Augmentée par Récupération (RAG) pour lire et comprendre automatiquement les documents juridiques, de confidentialité et de sécurité d’une entreprise disponibles publiquement, et les utiliser pour générer des réponses précises aux questionnaires de sécurité. Cette solution peut réduire le temps de réponse jusqu’à 80 %, garantir la cohérence de toutes les soumissions et permettre aux équipes techniques de se concentrer sur le développement de produits plutôt que sur les tâches administratives.

Prérequis

Avant de procéder à la démo, assurez-vous d'avoir les éléments suivants :

  • Un compte Linux-Console.net.
  • Connaissances de base des RAG, des API et des applications web.
  • Connaissance de base de Streamlit, Docker, Python 3.10
  • Accès à la plateforme GradientAI de Linux-Console.net.

Guide étape par étape pour créer une application de questionnaire de sécurité alimentée par l'IA

Ce tutoriel couvre comment :

  1. Créez un agent GradientAI en utilisant la plateforme de Linux-Console.net.

  2. Configurez un point de terminaison privé pour un accès sécurisé à l'API.

  3. Créer une application Streamlit + Python qui traite des fichiers Excel contenant des questions de sécurité.

  4. Déployez l'application sur la plateforme App de Linux-Console.net.

Pourquoi un agent IA est-il nécessaire pour l'automatisation des questionnaires de sécurité ?

Soyons honnêtes : personne n'aime parcourir des documents juridiques et de conformité. Un agent IA est nécessaire pour comprendre intelligemment des questions de sécurité complexes, extraire des informations pertinentes de documents juridiques denses et générer des réponses précises et conscientes du contexte, permettant de gagner du temps et de réduire les erreurs humaines.

Les questionnaires de sécurité contiennent souvent des centaines de questions dans divers domaines tels que la protection des données, les contrôles d'accès, la sécurité réseau et les cadres de conformité tels que :

  • RGPD (Règlement général sur la protection des données) : La loi complète sur la protection des données de l'Union européenne qui régit la manière dont les organisations doivent gérer les données personnelles des citoyens de l'UE.
  • HIPAA (Health Insurance Portability and Accountability Act) : législation américaine qui prévoit des dispositions sur la confidentialité et la sécurité des données pour protéger les informations médicales.
  • SOC 2 (Service Organization Control 2) : Une procédure d'audit garantissant que les prestataires de services gèrent de manière sécurisée les données des clients en se basant sur cinq principes de confiance : sécurité, disponibilité, intégrité du traitement, confidentialité et vie privée.
  • ISO 27001 : une norme internationale pour les systèmes de gestion de la sécurité de l'information (SGSI) qui fournit une approche systématique pour gérer les informations sensibles de l'entreprise.
  • NIST (Institut National des Normes et de la Technologie) : Un cadre de directives en cybersécurité pour les organisations afin de mieux gérer et réduire les risques liés à la cybersécurité.
  • DPDP (Loi sur la protection des données personnelles numériques) : la loi indienne complète sur la protection des données qui établit des lignes directrices pour le traitement des données personnelles numériques, garantissant la confidentialité et la sécurité des informations des citoyens indiens.

Répondre manuellement à ces questions nécessite généralement :

  1. Recherche à travers plusieurs documents de politique
  2. Consultation avec différentes équipes (sécurité, juridique, ingénierie)
  3. Assurer la cohérence avec les réponses précédentes au questionnaire
  4. Personnalisation des réponses pour correspondre au contexte spécifique de chaque question

En tirant parti de la plateforme GradientAI de Linux-Console.net avec les capacités RAG, nous pouvons automatiser ce processus en faisant en sorte que l'agent IA comprenne l'intention de la question, recherche dans votre base de connaissances les informations pertinentes et formule des réponses professionnelles qui correspondent à la posture de sécurité réelle et à la documentation de votre entreprise. Cela permet non seulement d'accélérer le temps de réponse de plusieurs jours à quelques minutes, mais aussi de garantir une plus grande précision et cohérence dans toutes les soumissions de questionnaires.

Conception de Haut Niveau de la Plateforme GradientAI

Conception de haut niveau de l'application

Tutoriel pratique

Regardez cette démonstration vidéo pour voir l'application en action :

Étape 1 - Création de l'agent GenAI

Préparer les documents de conformité

  • Rassemblez vos documents juridiques et de conformité destinés au public (par exemple, la politique de confidentialité, la politique ISO, la présentation SOC 2).
  • Formatez-les en fichiers Markdown ou en fichiers texte simples pour une extraction claire du texte.
  • Téléchargez ces documents dans un espace Linux-Console.net ou conservez-les localement pour la démo.

Connectez-vous à la plateforme GradientAI de Linux-Console.net

  • Accédez à la section GradientAI de votre panneau de contrôle Cloud Linux-Console.net.

Créer une base de connaissances

  • Allez dans la section “Base de connaissances” et cliquez sur Créer une Base de connaissances. Donnez-lui un nom (par exemple, demo-kb).
  • Téléchargez vos documents directement ou connectez un compartiment Spaces.
  • Sélectionnez votre base de données vectorielle OpenSearch (vous pouvez en réutiliser une existante).
  • Choisissez un modèle d'intégration (par exemple, un petit modèle multilingue pour des tâches simples).
  • Exécutez le travail d'indexation pour convertir et intégrer vos documents dans la base de données vectorielle.

Créer un agent GenAI

  • Allez dans la section « Agents » et cliquez sur Créer un agent.
  • Nommez votre agent (par exemple, demo-agent).
  • Sélectionnez un modèle de base (par exemple, LLaMA 3 8B).
  • Joignez la base de connaissances que vous avez créée.
  • Ajoutez une invite système personnalisée pour formater la sortie en JSON (utile pour l'intégration).
  • Enregistrez et déployez l'agent.

Étape 2 - Configuration du point de terminaison privé

Activer l'accès à l'API privée

  • Dans le tableau de bord de l'agent, sous Clés d'accès aux points de terminaison, cliquez sur “Gérer les clés d'accès aux points de terminaison ” et générez une nouvelle clé.
  • Enregistrez cette clé d'accès en toute sécurité dans l'environnement de votre application.

Obtenez l'URL du point de terminaison

  • Copiez le point de terminaison API depuis le tableau de bord de l’agent.
  • Vous utiliserez ceci dans votre code Python pour envoyer des requêtes.

Étape 3 - Création de l'application Streamlit + Python

Connectez-vous à votre compte Github et créez un dépôt avec ces fichiers. Vous aurez besoin de ce dépôt Github pour déployer votre application sur App Platform dans les étapes suivantes.

Structure de l'application

project/
├── app.py              # Main Streamlit app
├── chatbot.py          # Backend logic for API calls
├── requirements.txt    # Python dependencies
├── Dockerfile          # For deployment

Créez un fichier chatbot.py

Ce fichier Python va :

  • Chargez GENAI_ENDPOINT et GENAI_API_KEY depuis l'environnement.
  • Envoie une requête POST avec la question à l'API de l'agent.
  • Charge le JSON de réponse.
import os
import requests
from dotenv import load_dotenv

load_dotenv()

AGENT_ENDPOINT = os.getenv("AGENT_ENDPOINT") + "/api/v1/chat/completions"

AGENT_ACCESS_KEY = os.getenv("AGENT_ACCESS_KEY")


def ask_question(question):
    # Append the user's question to the base prompt
    prompt = base_prompt + "\nQuestion: " + question
    payload = {
        "messages": [
            {
                "role": "user",
                "content": prompt
            }
        ]
    }

    headers = {
        "Content-Type": "application/json",
        "Authorization": f"Bearer {AGENT_ACCESS_KEY}"
    }
    response = requests.post(AGENT_ENDPOINT, json=payload, headers=headers)
    return response.json()

Créez un autre fichier app.py

Ce fichier Python va :

  • Permettre aux utilisateurs de télécharger un fichier Excel.
  • Itère sur chaque ligne et envoie la question au chatbot.
  • Ajoute la réponse générée par l'IA et la raison au DataFrame.
  • Propose un bouton « Télécharger CSV » avec des réponses mises à jour.
import pandas as pd
import json

def process_security_questions(uploaded_file):
    """
    Process security questions from an Excel file and get answers using the chatbot.
    
    Args:
        uploaded_file: The uploaded Excel file
    
    Returns:
        DataFrame with questions and answers
    """
    try:
        df = pd.read_excel(uploaded_file)
        
        # Find the questions column
        question_col_index = None
        for i, col in enumerate(df.columns):
            if 'question' in str(col).lower():
                question_col_index = i
                break
        
        if question_col_index is None:
            st.error("Could not find a column containing 'question' in its name")
            return None
        
        answers = []
        progress_bar = st.progress(0)
        num_rows = len(df)
        
        for i in range(num_rows):
            question = str(df.iloc[i, question_col_index])
            st.write(f"Processing question {i+1}: {question}")
            response = ask_question(question)
            try:
                # Parse the JSON response from the agent
                content = response["choices"][0]["message"]["content"]
                print("content", content)
                answer_data = json.loads(content)
            except Exception as e:
                answer_data = {
                    "answer": "Not Sure",
                    "reasoning": "Failed to get a proper response",
                }
            answers.append(answer_data)
            progress_bar.progress((i + 1) / num_rows)
            time.sleep(1)  # Delay to avoid overwhelming the endpoint
        
        # Add the results to the DataFrame as new columns
        df["Answer"] = [a.get("answer", "") for a in answers]
        df["Reasoning"] = [a.get("reasoning", "") for a in answers]
        
        return df
    except Exception as e:
        st.error(f"Error processing file: {str(e)}")
        return None

Créez ce Dockerfile

FROM python:3.11-slim-buster

WORKDIR /app

COPY . ./app
COPY requirements.txt ./

RUN pip3 install -U pip && pip3 install -r requirements.txt

CMD ["streamlit", "run", "app/app.py"]

Étape 4 - Déploiement de l'application sur la plateforme App de Linux-Console.net

Voici les étapes pour déployer votre application sur la plateforme App :

  • Connectez votre dépôt GitHub.
  • Indiquez votre branche et Dockerfile.
  • Définissez le port de construction (par exemple, 8051) et les variables d'environnement (AGENT_ENDPOINT, AGENT_ACCESS_KEY).
  • Choisissez la taille de l'instance et la région.
  • Déployez et testez votre application en direct !

Test de l'application

  1. Allez à l'URL de l'application déployée.
  2. Téléchargez un fichier Excel avec des questions de sécurité.
  3. Cliquez sur “Traiter les questions ” pour obtenir des réponses générées par l'IA.
  4. Passez en revue les réponses et le raisonnement.
  5. Téléchargez le fichier CSV mis à jour avec les réponses.

Questions fréquemment posées

1. Quels types de questionnaires de sécurité fonctionnent le mieux avec cette solution ?

Cette solution fonctionne mieux avec des questionnaires de sécurité standardisés au format Excel, tels que ceux basés sur les cadres SOC 2, ISO 27001 ou GDPR. Les questionnaires personnalisés fonctionnent également bien tant qu'ils sont structurés sous forme de tableau. Pour plus d'informations sur les cadres de conformité, consultez la plateforme Trust de Linux-Console.net.

2. Quelle est la précision des réponses générées par l'IA ?

La précision dépend de la qualité de votre base de connaissances. Avec une documentation de sécurité bien organisée, les taux de précision dépassent généralement 85 %. Il est toujours conseillé de vérifier les réponses générées par l'IA avant de les envoyer aux clients. Vous pouvez améliorer la précision en suivant les meilleures pratiques décrites dans le tutoriel RAG de Linux-Console.net.

3. Puis-je personnaliser les réponses de l'IA pour correspondre au ton de mon entreprise ?

Oui, vous pouvez ajuster les modèles de questions dans la configuration de l'agent IA pour correspondre au style de communication et à la terminologie de votre entreprise. Cette personnalisation vous permet de maintenir la cohérence de la marque dans toutes les réponses aux questionnaires.

Pour personnaliser le ton :

  • Envisagez d'ajouter une terminologie spécifique à l'entreprise à votre base de connaissances. La plateforme GradientAI prend en charge les formats .txt, .html, .md, .pdf, .doc, .json et .csv.
  • Ajoutez des garde-fous à l'agent d'automatisation du questionnaire de sécurité.
  • Ajoutez des instructions spécifiques concernant le niveau de formalité, la profondeur technique et le ton de l'entreprise.
  • Incluez des exemples de formulations préférées pour les concepts de sécurité courants.

L'IA générera ensuite des réponses qui semblent plus authentiques au style de communication de votre organisation. En savoir plus sur l'ingénierie de prompts efficace dans la documentation de la plateforme GradientAI de Linux-Console.net.

4. Comment dois-je gérer les questions qui nécessitent des pièces jointes ou des preuves ?

La solution actuelle se concentre sur les réponses basées sur le texte. Pour les questions nécessitant des preuves, l'IA peut suggérer des documents appropriés à joindre, mais vous devrez les inclure manuellement. Envisagez de vous intégrer à Linux-Console.net Spaces pour le stockage et la récupération de documents.

5. Mes données sont-elles sécurisées lorsque j'utilise cette solution ?

Oui, lorsqu'il est déployé sur la plateforme GradientAI de Linux-Console.net, vos données restent privées. La base de connaissances est isolée à votre compte, et tout le traitement se déroule au sein de votre environnement. Pour une sécurité supplémentaire, envisagez de mettre en place des réseaux VPC et des pare-feu Cloud de Linux-Console.net.

6. Combien de temps cette solution permet-elle généralement de gagner ?

La plupart des utilisateurs rapportent une économie de temps de 70 à 90 % par rapport à la complétion manuelle du questionnaire. Un questionnaire qui pourrait prendre 8 à 10 heures à compléter manuellement peut être traité en moins d'une heure avec cette solution.

7. Puis-je intégrer cela avec d'autres systèmes d'entreprise ?

Oui, cette solution peut être intégrée aux systèmes CRM, aux plateformes de billetterie ou aux systèmes de gestion de documents en utilisant des API. Consultez la documentation API de Linux-Console.net pour les options d'intégration ou envisagez d'utiliser les Fonctions de Linux-Console.net pour une intégration sans serveur.

8. De quelles ressources ai-je besoin pour exécuter cette solution efficacement ?

Pour des performances optimales, nous recommandons de déployer sur la plateforme App Linux-Console.net avec au moins un plan Basic. Le composant GenAI fonctionne mieux avec la plateforme GradientAI de Linux-Console.net, qui fournit l'infrastructure nécessaire pour le traitement de l'IA et la gestion de la base de connaissances.

Conclusion

Remplir manuellement des questionnaires de sécurité est pénible—surtout lorsque vous le faites de manière répétée pour différents clients. Avec un mélange de GenAI, RAG, OpenSearch et un peu de code Python de liaison, nous avons automatisé le tout.

Ce projet permet non seulement d’économiser des heures de travail par soumission, mais assure également des réponses cohérentes et conformes qui reflètent la posture réelle de sécurité de votre entreprise. D’après les retours des utilisateurs, les équipes réduisent généralement le temps de remplissage des questionnaires de 70 à 90 %, transformant des jours de travail en heures.

La solution utilise la plateforme GradientAI de Linux-Console.net pour créer un système intelligent qui :

  • Comprend les questions de conformité à la sécurité dans leur contexte
  • Récupère les informations pertinentes de votre base de connaissances
  • Génère des réponses précises et personnalisées avec une justification à l'appui
  • Maintient la cohérence dans toutes les soumissions de questionnaires

En le divisant en sous-systèmes modulaires (Agent IA + API privées + application Python), la solution reste évolutive, personnalisable et facile à intégrer dans n'importe quel flux de travail. Vous pouvez l'étendre pour gérer différents formats de questionnaires, l'intégrer à votre CRM ou le connecter à des systèmes de gestion de documents.

Plus important encore, cela montre comment la plateforme GradientAI de Linux-Console.net peut être utilisée pour créer des applications IA puissantes dans le monde réel—sans avoir à gérer une infrastructure complexe ni à réinventer la roue.

La combinaison de la plateforme App pour le déploiement et de la plateforme GradientAI pour l'intelligence crée une solution prête pour la production qui évolue avec les besoins de votre entreprise.

Prêt à automatiser votre processus de questionnaire de sécurité ? Déployez cette solution dès aujourd'hui et récupérez un temps précieux pour vos équipes de sécurité et de conformité.

Références

Vous pouvez trouver le code de cette application ici.

Merci d'apprendre avec la communauté Linux-Console.net.