Aperçu
Nous travaillons toujours sur cette fonctionnalité, mais nous aimerions que vous l'essayiez !
Cette fonctionnalité est actuellement fournie dans le cadre d'un programme d'aperçu conformément à nos politiques de pré-sortie.
Avec New Relic, vous pouvez améliorer les agents New Relic AI avec la génération augmentée de récupération (RAG) en associant votre documentation, vos runbooks, vos rétroactions incident et même votre source de code à vos services. Ce processus donne à New Relic AI des informations plus détaillées sur les problèmes liés à votre système. Le didacticiel explique comment obtenir l'ID de votre organisation, créer un outil RAG et ajouter vos documents à la plateforme à l'aide de l'API Blob.
Après avoir ajouté vos documents, vous créerez une relation pour les associer à l'outil RAG. Vous pouvez ensuite vérifier votre configuration en interrogeant les relations entre les documents RAG et l’outil RAG. L’étape finale consiste à interroger l’outil RAG lui-même pour récupérer des informations pertinentes et indexées.
Pour en savoir plus sur le connecteur de connaissances, reportez-vous à New Relic AI Connecteur de connaissances.
Important
Avant d'effectuer les étapes suivantes, assurez-vous que vous disposez des autorisations « Administrateur de produit d'organisation ».
Pour commencer à indexer votre contenu et bénéficier du connecteur de connaissances avec New Relic AI, suivez les étapes mentionnées :
Tâche 1 : Créez votre outil RAG
L'ID d'organisation identifie de manière unique votre compte et garantit que tout outil RAG que vous créez, les documents que vous téléchargez ou les relations que vous établissez sont associés à votre organisation dans New Relic.
L'ID d'organisation est requis pour effectuer des mutations et des requêtes dans NerdGraph lors de la configuration et de la gestion des outils et documents RAG. Exécutez la requête suivante et conservez l’ID de l’organisation à portée de main pour les étapes ultérieures.
Exemple de requête
{ actor { organization { id } }}
Un outil RAG agit comme un conteneur spécialisé pour organiser les documents et ressources associés dans New Relic. Un nom clair et une description précise de vos outils RAG aident le LLM à sélectionner le bon outil pour chaque prompt, garantissant des réponses pertinentes et contextuelles.
Pour créer un nouvel outil RAG dans votre compte New Relic, exécutez la mutation entityManagementCreateRagTool
suivante :
Assurez-vous de remplacer
${ORGANIZATION_ID}
par votre identifiant d’organisation réel obtenu à l’étape précédente.En cas de succès, vous recevrez un
id
pour votre outil RAG.Paramètres d'entrée
Nom du paramètre
Type de données
Est-ce obligatoire ?
Description
ragToolEntity
Objet
Oui
L'objet d'entrée qui contient la configuration du nouvel outil RAG.
description
Chaîne
Oui
Une description claire et précise de l’objectif de l’outil RAG.
name
Chaîne
Oui
Le nom unique de votre outil RAG.
scope
Objet
Oui
Un objet définissant le contexte dans lequel l'outil sera créé.
scope.id
Chaîne
Oui
L'ID unique de votre organisation (
${ORGANIZATION_ID}
).
scope.type
Chaîne
Oui
Le type de portée, qui doit être
ORGANIZATION
.
Mutation d'échantillon
mutation {entityManagementCreateRagTool(ragToolEntity: {description: "Runbooks for resolving incidents with APIs",name: "API Runbooks",scope: {id: `${ORGANIZATION_ID}`, type: ORGANIZATION}}) {entity {id}}}Vous devez enregistrer le
id
renvoyé car vous en aurez besoin dans les étapes ultérieures pour lier des documents à l'outil, vérifier les relations et interroger l'outil pour obtenir des informations pertinentes dans New Relic.
Tâche 2 : Indexez vos documents
Important
Tous les documents indexés sont visibles par tous les utilisateurs de votre organisation. Assurez-vous que les documents que vous indexez sont conformes à vos politiques internes et ne téléchargez pas de données sensibles ou privées.
L'API Blob et son objectif
L'API Blob est un service New Relic conçu pour télécharger des fichiers, tels que de la documentation et des runbooks, sur votre compte. NerdGraph est optimisé pour les requêtes de données structurées et les mutations et non pour le transfert efficace de fichiers, donc l'API Blob est requise pour le téléchargement de documents.
Exigences d'authentification
Vous avez besoin d’une clé API New Relic valide avec des autorisations pour télécharger des documents. Pour obtenir la clé API permettant de télécharger un document sur New Relic à l'aide de l'API Blob :
Connectez-vous à votre compte New Relic.
Créez et gérez votre clé API à partir de la page d'interface utilisateur de la clé API.
Cliquez sur Create a key et remplissez les détails requis (ou utilisez une clé existante avec les autorisations requises).
Cliquez sur Create a key et copiez la clé générée (elle ressemblera à NRAK-XXXXXXXXXX).
Voici un exemple de la manière de télécharger un document à l'aide d'une commande
curl
bash
:Paramètres d'entrée
Nom du paramètre
Type de données
Est-ce obligatoire ?
Description
Api-Key
Chaîne
Oui
Votre clé API New Relic pour l'authentification.
NewRelic-Entity
Objet JSON
Oui
métadonnées sur le document, comme son nom.
Content-Type
Chaîne
Oui
Le format du fichier en cours de téléchargement (par exemple,
application/json
).
payload
(
@incidents.json
)
Déposer
Oui
Le fichier de document que vous téléchargez, spécifié par son chemin de fichier.
Exemple de requête
bash$curl -X POST https://blob-api.one-service.newrelic.com/v1/e/organizations/$ORGANIZATION_ID/RagDocuments \>-H 'Api-Key: NRAK-XXXXXXXXXX' \>-H 'NewRelic-Entity: {"name": "Runbooks for API service" }' \>-H 'Content-Type: application/json' \>-d @incidents.jsonExemple de réponse
Réponse
Type de données
Description
entityGuid
Chaîne
L'identifiant unique du document RAG téléchargé.
blobVersionEntity
Objet
Représente la version du blob téléchargé.
{"entityGuid": "MTIyODU0NTN8TkdFUHxSQUdfRE9DVU1FTlR8MDE5NGUyOTgtYmQzMS03NzA4LWI3NzItYzQ4MTZlYjNhYThk","blobVersionEntity": null}Prochaines étapes
Après avoir téléchargé votre document, il est indexé et devient disponible pour que New Relic AI puisse le rechercher et le récupérer. Vous devez enregistrer le
entityGuid
de la réponse pour créer une relation avec votre outil RAG ou pour interroger le document dans NerdGraph.
Une fois qu'un document est téléchargé via l'API Blob, l'exécution de cette requête confirme que le téléchargement a réussi et que le document a été correctement enregistré en tant qu'entité de document RAG avec son propre identifiant et ses propres propriétés uniques.
Paramètres d'entrée
Nom du paramètre | Type de données | Est-ce obligatoire ? | Description |
---|---|---|---|
| Chaîne | Oui | Le GUID unique du document RAG à récupérer. |
Exemple de requête
Dans la requête ci-dessous, remplacez l'espace réservé ${RAG_DOCUMENT_GUID}
par le entityGuid
que vous avez reçu à l'étape précédente.
{ actor { entityManagement { entity( id: `${RAG_DOCUMENT_GUID}` ) { ... on EntityManagementRagDocumentEntity { id name blob { url } type } } } }}
Cette requête renverra les détails suivants sur votre document RAG :
id
: L'ID unique du document RAG.name
: Le nom du document RAG.blob { url }
: L'URL pour accéder au document téléchargé.type
: Le type de l'entité, qui dans ce cas estEntityManagementRagDocumentEntity
.
Maintenant que vous avez créé un outil RAG, téléchargé votre document et vérifié que le téléchargement a réussi, l'étape suivante consiste à associer l'outil RAG et le document RAG, rendant ainsi votre document consultable et utilisable par New Relic AI. Pour ce faire, exécutez la mutation entityManagementCreateRelationship
:
Remplacez
${RAG_DOCUMENT_GUID}
par leentityGuid
de la réponse du téléchargement du document via l'API Blob.Remplacez
${RAG_TOOL_GUID}
par leid
de la réponse de la mutation de création de l'outil RAG.Paramètres d'entrée
Nom du paramètre
Type de données
Est-ce obligatoire ?
Description
relationship
Objet
Oui
L'objet d'entrée qui contient les détails de la relation.
source
Objet
Oui
L'entité source de la relation, qui est le document RAG.
source.scope
Chaîne
Oui
La portée de l'entité source, qui doit être
ORGANIZATION
.
source.id
Chaîne
Oui
Le GUID unique du document RAG (
${RAG_DOCUMENT_GUID}
).
target
Objet
Oui
L'entité cible de la relation, qui est l'outil RAG.
target.scope
Chaîne
Oui
La portée de l'entité cible, qui doit être
ORGANIZATION
.
target.id
Chaîne
Oui
Le GUID unique de l'outil RAG (
${RAG_TOOL_GUID}
).
type
Chaîne
Oui
Le type de relation, qui doit être
"INDEXED_FOR"
.
Mutation d'échantillon
mutation {entityManagementCreateRelationship(relationship: {source: {scope: ORGANIZATION,id: `${RAG_DOCUMENT_GUID}`},target: {scope: ORGANIZATION,id: `${RAG_TOOL_GUID}`},type: "INDEXED_FOR"}) {relationship {typetarget {idtype}source {idtype}}}}
Tâche 3 : Récupérer les informations pertinentes
Après avoir créé une relation entre votre document RAG et l’outil RAG, vous pouvez vérifier l’association en interrogeant les relations dans NerdGraph. Cela permet de garantir que votre document est correctement lié et disponible pour l'utilisation par New Relic AI.
Remplacez
${RAG_DOCUMENT_ID}
par leentityGuid
de votre document téléchargé.Paramètres d'entrée
Nom du paramètre
Type de données
Est-ce obligatoire ?
Description
relationships
Qequête
Oui
La requête pour récupérer les relations entre entités.
filter
Objet
Non
Un objet utilisé pour filtrer les relations en fonction de l'attribut.
filter.sourceId
Objet
Non
Un objet à filtrer par l'identifiant unique de l'entité source.
filter.sourceId.eq
Chaîne
Non
Le GUID unique du document RAG à faire correspondre.
Exemple de requête
{actor {entityManagement {relationships(filter: {sourceId: {eq: `${RAG_DOCUMENT_ID}`}}) {items {typetarget {idtype}}}}}}
Après avoir configuré votre outil RAG et indexé les documents, vous pouvez interroger l'outil RAG pour récupérer les informations pertinentes en fonction de votre prompt. Cela permet à New Relic AI de faire apparaître des réponses contextuelles à l'aide de la documentation de votre organisation.
Paramètres d'entrée
Nom du paramètre | Type de données | Est-ce obligatoire ? | Description |
---|---|---|---|
| Chaîne | Oui | La requête en langage naturel que vous souhaitez que l’outil RAG traite. |
| Chaîne | Oui | Le GUID unique de l'outil RAG à interroger. |
Exemple de requête
{ actor { machineLearning { ragQueryData( prompt: "tell me about the incident", toolId: `${RAG_TOOL_GUID}` ) { blobId chunk documentId score toolId } } }}
La réponse inclura des correspondances fragmentées à partir de vos documents indexés, que vous pouvez utiliser directement ou résumer avec New Relic AI.