Configurer un connecteur LLM (Large Language Model) générique

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 4 minutes de lecture
  • Connectez un LLM externe à l’aide Now Platform d’un connecteur LLM générique. Avec un connecteur, vous pouvez écrire vos propres invites à envoyer au LLM et créer vos propres options d’IA générative.

    Avant de commencer

    Vous devez configurer les informations d’identification d’API pour votre LLM avant de configurer le connecteur. Pour plus d’informations, consultez Configurer les informations d’identification d’API pour un LLM générique.

    Rôle requis : administrateur

    Pourquoi et quand exécuter cette tâche

    Contrôleur de l'IA générative offre plusieurs connexions de systèmes de base à des fournisseurs de services d’IA populaires tels que Azure OpenAIGoogle Vertex. Toutefois, vous pouvez intégrer un LLM du secteur, un LLM spécifique au ticket dans vos workflows personnalisés ou un LLM qui respecte les politiques de gestion des données de votre organisation.
    Remarque :
    Contrôleur de l'IA générative Prend uniquement en charge la génération de texte.

    Procédure

    1. Dans le filtre de navigation, accédez à la table Configuration du modèle de l’IA générative [sys_generative_ai_model_config] en saisissant sys_generative_ai_model_config.list.
    2. Sélectionnez Nouveau.
    3. Dans le champ Modèle , saisissez le nom du modèle.
      Si vous utilisez Azure OpenAI, le nom du modèle est le nom de déploiement de votre ressource.
    4. Dans le champ Fournisseur , sélectionnez LLM personnalisé.
    5. Dans le champ Alias de connexion et d’informations d’identification , sélectionnez l’alias que vous avez créé lors de la configuration de vos informations d’identification.
      Si vous n’avez pas encore configuré vos informations d’identification d’API, consultez Configurer les informations d’identification d’API pour un grand modèle de langage générique pour savoir comment procéder. Enregistrement de configuration du modèle de l’IA générative avec le champ Fournisseur défini sur LLM personnalisé et le champ Alias de connexion et d’informations d’identification défini sur My_Model_Alias.
    6. Créez la configuration du modèle en sélectionnant Soumettre.
      La configuration du modèle est associée à la clé API du modèle externe.
    7. Dans le filtre de navigation, accédez à la table Configuration de l’IA générative [sys_generative_ai_config] en saisissant sys_generative_ai_config.list.
    8. Sélectionnez Nouveau.
    9. Sélectionnez l’icône de recherche de liste (icône de recherche de liste avec loupe.)en regard du champ Définition .
    10. Dans le modal Sélectionner le document, sélectionnez une aptitude que vous souhaitez configurer avec le fournisseur LLM personnalisé.
      Par exemple, si vous configurez une option Synthétiser, sélectionnez Synthétiser (LLM personnalisé).
    11. Sélectionnez OK pour enregistrer votre sélection et fermer le modal.
    12. Dans le champ Modèle , choisissez la configuration de modèle que vous avez créée à l’étape 6.
      Une fois que vous avez sélectionné une définition, le champ Modèle se transforme en menu déroulant avec des options qui utilisent le fournisseur LLM personnalisé. La configuration de modèle que vous avez effectuée doit apparaître dans cette liste. Si ce n’est pas le cas, revenez à l’étape 1 et assurez-vous que le champ Fournisseur de votre configuration de modèle est défini sur LLM personnalisé.
    13. Dans le champ Modèle d’invite , entrez l’invite de l’option.
      Le modèle d’invite est l’instruction qui est envoyée au LLM pour exécuter une option. Utilisez deux accolades autour des noms d’attributs d’aptitude pour les incorporer dans le modèle d’invite. Par exemple, si vous configurez une option Synthétiser, votre modèle d’invite pourrait être Résumez ce qui suit pour moi sur un ton amical et utile : {{textToSummarize}}. Pour savoir quels attributs peuvent être inclus dans l’invite, accédez à la table Aptitude OneExtend [sys_one_extend_capability], recherchez l’enregistrement de la fonctionnalité que vous configurez et consultez la liste connexe des attributs d’aptitude OneExtend. Enregistrement de configuration de l’IA générative avec les champs Définition, Modèle et Modèle d’invite renseignés. Résumer l’enregistrement d’aptitude ouvert avec la liste connexe Attributs d’aptitude OneExtend en surbrillance et les attributs identifiés : erreur, errorCode, fournisseur, réponse, état et textToSummarize. Vous devrez peut-être expérimenter différentes invites pour déterminer celle qui fonctionne le mieux pour vos cas d’utilisation.
    14. Créez la nouvelle configuration de l’IA générative en sélectionnant Soumettre.
    15. Dans le filtre de navigation, accédez à la table Transformateur LLM personnalisé de l’IA générative [sys_generative_ai_custom_llm_transformer] en saisissant sys_generative_ai_custom_llm_transformer.
    16. Sélectionnez Nouveau.
    17. Écrire des scripts de transformateur.
      Pour avoir Contrôleur de l'IA générative compris le format des entrées et sorties de votre LLM personnalisé, vous devez écrire des scripts de transformateur. Lorsque vous créez un enregistrement de transformateur, le code et les commentaires sont fournis pour que vous puissiez les utiliser comme guide lors de la modification. Ces scripts dépendent des objets de demande et de réponse attendus qui sont interprétés par votre modèle.

      Par exemple, la structure de la Azure OpenAI demande ressemble au script suivant :

      {"messages": [{"role":"user", "content":"Summarize the following text: <<content>>"}], "max_tokens": 800, "temperature": 0.7}
      Le script de transformateur de demande pour cette structure de demande est le script suivant :
      (function(inputs) {
          /* write code here to construct the request body and any custom headers needed using the inputs object.
          inputs structure: {
              prompt_data: object,
              request_data: object
          } */
          var requestData = inputs.request_data;    
          var promptData = inputs.prompt_data;
          var prompt = promptData.prompt;
          var model = promptData.model;
      
          // construct body using the inputs
          var body = {
              messages: [{
              "role": "user",
              "content": prompt
              }],
              max_tokens: parseInt(promptData.max_tokens),
              temperature: parseInt(promptData.temperature)    
          };
      
          //construct headers using the inputs
          var headers = {};                        
          return {
              body: body,
              headers: headers
          };
      })(inputs);
      La structure de réponse de Azure OpenAI ressemble à ce script :
      {
          "choices": [{
          "finish_reason": "stop",
          "index": 0,
          "message": {
              "content": "<<response>>",
              "role": "assistant"
              }
          }],
          "created": 1714994995,
          "id": "chatcmpl-9LqpXeLVXDAi6kciPfLeIDjmALeea",
          "model": "gpt-35-turbo-16k",
          "object": "chat.completion",
          "usage": {    
              "completion_tokens": 47,
              "prompt_tokens": 70,
              "total_tokens": 117
          }
      }
      En raison de cette structure de réponse, le script du transformateur de réponse ressemble à ce script :
      (function(inputs) {
          /* write code here to transform the llm response into an array of text responses, using the inputs object
          inputs structure: {
              prompt_data: object,
              request_data: object,
              response_body: string,
              response_headers: string
          } */
          var requestData = inputs.request_data;
          var promptData = inputs.prompt_data;
          var responseBody = JSON.parse(inputs.response_body);
          gs.info("response : " + inputs.response_body);
          var responseTexts = [];
      
          // write code here to populate the responseTexts array.
          responseTexts.push(responseBody.choices[0].message.content);
      
          return responseTexts;
      
      })(inputs);
    18. Créez les scripts de transformateur en sélectionnant Soumettre.

    Résultats

    Votre LLM externe est connecté à Contrôleur de l'IA générative. Vous pouvez utiliser le fournisseur de services d’IA pour les options d’IA générative sur le Now Platform.

    Que faire ensuite

    Une fois que vous avez connecté le LLM, vous pouvez définir un fournisseur pour les options d’IA générative de Contrôleur de l'IA générative. Les options sont les suivantes : Invite générique, Générer du contenu, Analyse des sentiments et Synthétiser. Pour plus d’informations sur le choix d’un fournisseur, consultez Définir un fournisseur pour une option d’IA générative.