Cette page vous explique comment utiliser des connecteurs de données pour accéder à vos données stockées dans Cloud Storage, Google Drive, Slack ou Jira, et comment utiliser ces données avec LlamaIndex sur Vertex AI pour RAG. L'API Import RagFiles fournit des connecteurs de données à ces sources de données.
Importer des fichiers depuis Cloud Storage ou Google Drive
Pour importer des fichiers depuis Cloud Storage ou Google Drive dans votre corpus, procédez comme suit :
- Créez un corpus en suivant les instructions de la section Créer un corpus RAG.
- Importez vos fichiers depuis Cloud Storage ou Google Drive à l'aide du modèle.
Importer des fichiers depuis Slack
Pour importer des fichiers depuis Slack dans votre corpus, procédez comme suit :
- Créez un corpus, qui est un index qui structure et optimise vos données pour la recherche. Suivez les instructions de la section Créer un corpus RAG.
- Obtenez votre
CHANNEL_ID
à partir de l'ID du canal Slack. - Créez et configurez une application à utiliser avec LlamaIndex sur Vertex AI pour RAG.
- Dans l'interface utilisateur de Slack, dans la section Ajouter des fonctionnalités, cliquez sur Autorisations.
- Ajoutez les autorisations suivantes :
channels:history
groups:history
im:history
mpim:history
- Cliquez sur Installer dans Workspace pour installer l'application dans votre espace de travail Slack.
- Cliquez sur Copier pour obtenir votre jeton d'API, qui authentifie votre identité et vous donne accès à une API.
- Ajoutez votre jeton d'API à Secret Manager.
- Pour afficher le secret stocké, attribuez le rôle Accesseur de secret du gestionnaire de secrets au compte de service LlamaIndex sur Vertex AI pour RAG de votre projet.
Les exemples de code curl et Python suivants montrent comment importer des fichiers à partir de vos ressources Slack.
curl
Si vous souhaitez recevoir des messages d'un canal spécifique, modifiez CHANNEL_ID
.
API_KEY_SECRET_VERSION=SLACK_API_KEY_SECRET_VERSION
CHANNEL_ID=SLACK_CHANNEL_ID
PROJECT_ID=us-central1
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://${ ENDPOINT }/v1beta1/projects/${ PROJECT_ID }/locations/${ PROJECT_ID }/ragCorpora/${ RAG_CORPUS_ID }/ragFiles:import \
-d '{
"import_rag_files_config": {
"slack_source": {
"channels": [
{
"apiKeyConfig": {
"apiKeySecretVersion": "'"${ API_KEY_SECRET_VERSION }"'"
},
"channels": [
{
"channel_id": "'"${ CHANNEL_ID }"'"
}
]
}
]
}
}
}'
Python
Si vous souhaitez recevoir des messages pour une période donnée ou à partir d'un canal spécifique, modifiez l'un des champs suivants :
- START_TIME
- END_TIME
- CHANNEL1 ou CHANNEL2
# Slack example
start_time = protobuf.timestamp_pb2.Timestamp()
start_time.GetCurrentTime()
end_time = protobuf.timestamp_pb2.Timestamp()
end_time.GetCurrentTime()
source = rag.SlackChannelsSource(
channels = [
SlackChannel("CHANNEL1", "api_key1"),
SlackChannel("CHANNEL2", "api_key2", START_TIME, END_TIME)
],
)
response = rag.import_files(
corpus_name="projects/my-project/locations/us-central1/ragCorpora/my-corpus-1",
source=source,
chunk_size=512,
chunk_overlap=100,
)
Importer des fichiers depuis Jira
Pour importer des fichiers depuis Jira dans votre corpus, procédez comme suit :
- Créez un corpus, qui est un index qui structure et optimise vos données pour la recherche. Suivez les instructions de la section Créer un corpus RAG.
- Pour créer un jeton d'API, connectez-vous au site Atlassian.
- Utilisez {YOUR_ORG_ID}.atlassian.net comme SERVER_URI dans la requête.
- Utilisez votre adresse e-mail Atlassian comme EMAIL dans la requête.
- Fournissez
projects
oucustomQueries
avec votre requête. Pour en savoir plus sur les requêtes personnalisées, consultez Utiliser la recherche avancée avec le langage JQL (Jira Query Language).Lorsque vous importez
projects
,projects
est développé dans les requêtes correspondantes pour obtenir l'intégralité du projet. Par exemple,MyProject
est développé enproject = MyProject
. - Cliquez sur Copier pour obtenir votre jeton d'API, qui authentifie votre identité et vous donne accès à une API.
- Ajoutez votre jeton d'API à Secret Manager.
- Accordez le rôle Accesseur de secrets Secret Manager au compte de service LlamaIndex sur Vertex AI pour RAG de votre projet.
curl
EMAIL=JIRA_EMAIL
API_KEY_SECRET_VERSION=JIRA_API_KEY_SECRET_VERSION
SERVER_URI=JIRA_SERVER_URI
CUSTOM_QUERY=JIRA_CUSTOM_QUERY
PROJECT_ID=JIRA_PROJECT
REGION= "us-central1"
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://${ ENDPOINT }/v1beta1/projects/${ PROJECT_ID }/locations/REGION>/ragCorpora/${ RAG_CORPUS_ID }/ragFiles:import \
-d '{
"import_rag_files_config": {
"jiraSource": {
"jiraQueries": [{
"projects": ["'"${ PROJECT_ID }"'"],
"customQueries": ["'"${ CUSTOM_QUERY }"'"],
"email": "'"${ EMAIL }"'",
"serverUri": "'"${ SERVER_URI }"'",
"apiKeyConfig": {
"apiKeySecretVersion": "'"${ API_KEY_SECRET_VERSION }"'"
}
}]
}
}
}'
Python
# Jira Example
jira_query = rag.JiraQuery(
email="xxx@yyy.com",
jira_projects=["project1", "project2"],
custom_queries=["query1", "query2"],
api_key="api_key",
server_uri="server.atlassian.net"
)
source = rag.JiraSource(
queries=[jira_query],
)
response = rag.import_files(
corpus_name="projects/my-project/locations/REGION/ragCorpora/my-corpus-1",
source=source,
chunk_size=512,
chunk_overlap=100,
)
Étape suivante
- Pour en savoir plus sur l'ancrage, consultez la section Présentation de l'ancrage.
- Pour en savoir plus sur LlamaIndex sur Vertex AI pour le RAG, consultez la section Utiliser LlamaIndex sur Vertex AI pour le RAG.
- Pour en savoir plus sur l'ancrage et le RAG, consultez la section Ancrer les réponses à l'aide du RAG.