Questa pagina mostra come utilizzare i connettori di dati per accedere ai dati archiviati in Cloud Storage, Google Drive, Slack, Jira o SharePoint e come utilizzarlo con Vertex AI Knowledge Engine. L'API Import RagFiles fornisce connettori di dati a queste origini dati.
Importa file da Cloud Storage o Google Drive
Per importare file da Cloud Storage o Google Drive nel corpus, segui questi passaggi:
- Crea un corpus seguendo le istruzioni all'indirizzo Crea un corpus RAG.
- Importa i file da Cloud Storage o Google Drive utilizzando il modello.
Importare file da Slack
Per importare file da Slack nel tuo corpus:
- Creare un corpus, ovvero un indice che struttura e ottimizza i dati per la ricerca. Segui le istruzioni riportate in Creare un corpus RAG.
- Recupera il tuo
CHANNEL_ID
dall'ID canale Slack. - Crea e configura un'app da utilizzare con Vertex AI Knowledge Engine.
- Nell'interfaccia utente di Slack, fai clic su Autorizzazioni nella sezione Aggiungi funzionalità.
- Aggiungi le seguenti autorizzazioni:
channels:history
groups:history
im:history
mpim:history
- Fai clic su Installa in Workspace per installare l'app nella tua area di lavoro Slack.
- Fai clic su Copia per ottenere il token API, che autentica la tua identità e ti concede l'accesso a un'API.
- Aggiungi il token API a Secret Manager.
- Per visualizzare il secret archiviato, concedi il ruolo Secret Accesso ai secret di Secret Manager all'account di servizio Knowledge Engine di Vertex AI del tuo progetto.
I seguenti esempi di codice curl e Python mostrano come importare i file da le risorse Slack.
curl
Se vuoi ricevere messaggi da un canale specifico, modifica il
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
Se vuoi ricevere messaggi per un determinato intervallo di tempo o da un canale specifico, modifica uno dei seguenti campi:
- START_TIME
- END_TIME
- CHANNEL1 o 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,
)
Importa file da Jira
Per importare i file da Jira nel corpus, svolgi i seguenti passaggi:
- Crea un corpus, ovvero un indice che struttura e ottimizza i dati per la ricerca. Segui le istruzioni riportate in Creare un corpus RAG.
- Per creare un token API, accedi al sito di Atlassian.
- Utilizza {YOUR_ORG_ID}.atlassian.net come SERVER_URI nella richiesta.
- Utilizza il tuo indirizzo email Atlassian come EMAIL nella richiesta.
- Specifica
projects
ocustomQueries
nella tua richiesta. Per saperne di più sulle query personalizzate, consulta Utilizzare la ricerca avanzata con Jira Query Language (JQL).Quando importi
projects
, questo viene espanso nelle query corrispondenti per ottenere l'intero progetto. Ad esempio,MyProject
viene espanso inproject = MyProject
. - Fai clic su Copia per ottenere il token API, che autentica la tua identità e ti concede l'accesso a un'API.
- Aggiungi il token API a Secret Manager.
- Concedi il ruolo Accesso ai secret di Secret Manager all'account di servizio Vertex AI Knowledge Engine del tuo progetto.
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,
)
Importa file da SharePoint
Per importare i file dal tuo sito SharePoint nel corpus:
- Creare un corpus, ovvero un indice che struttura e ottimizza i dati per la ricerca. Segui le istruzioni alla pagina Crea un corpus RAG.
- Crea un'app Azure per accedere al tuo sito SharePoint.
- Per creare una registrazione, vai a
Registrazioni app.
- Fornisci un nome per l'applicazione.
- Scegli l'opzione Solo account in questa directory dell'organizzazione.
- Verifica che gli URI di reindirizzamento siano vuoti.
- Nella sezione Panoramica, utilizza l'ID applicazione (client) come CLIENT_ID e l'"ID directory (tenant)" come TENANT_ID.
- Nella sezione Gestisci, aggiorna le autorizzazioni API eseguendo la
seguenti:
- Aggiungi l'autorizzazione
Sites.Read.All
per SharePoint. - Aggiungi le autorizzazioni
Files.Read.All
eBrowser SiteLists.Read.All
di Microsoft Graph. - Concedi l'autorizzazione all'amministratore affinché queste modifiche alle autorizzazioni vengano applicate.
- Aggiungi l'autorizzazione
- Nella sezione Gestisci, segui questi passaggi:
- Aggiorna Certificati e secret con un nuovo segreto client.
- Utilizza API_KEY_SECRET_VERSION per aggiungere il secret a Secret Manager.
- Per creare una registrazione, vai a
Registrazioni app.
- Concedi il ruolo Accesso ai secret di Secret Manager all'account di servizio Vertex AI Knowledge Engine del tuo progetto.
- Utilizza {YOUR_ORG_ID}.sharepoint.com come SHAREPOINT_SITE_NAME.
- È necessario specificare un nome unità o un ID unità nel sito SharePoint nel campo richiesta.
- (Facoltativo) È possibile specificare un percorso o un ID cartella sul drive. Se il percorso o l'ID della cartella non è specificato, vengono importate tutte le cartelle e i file sul drive.
curl
CLIENT_ID=SHAREPOINT_CLIENT_ID
API_KEY_SECRET_VERSION=SHAREPOINT_API_KEY_SECRET_VERSION
TENANT_ID=SHAREPOINT_TENANT_ID
SITE_NAME=SHAREPOINT_SITE_NAME
FOLDER_PATH=SHAREPOINT_FOLDER_PATH
DRIVE_NAME=SHAREPOINT_DRIVE_NAME
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": {
"sharePointSources": {
"sharePointSource": [{
"clientId": "'"${ CLIENT_ID }"'",
"apiKeyConfig": {
"apiKeySecretVersion": "'"${ API_KEY_SECRET_VERSION }"'"
},
"tenantId": "'"${ TENANT_ID }"'",
"sharepointSiteName": "'"${ SITE_NAME }"'",
"sharepointFolderPath": "'"${ FOLDER_PATH }"'",
"driveName": "'"${ DRIVE_NAME }"'"
}]
}
}
}'
Python
from vertexai.preview import rag
from vertexai.preview.rag.utils import resources
CLIENT_ID="SHAREPOINT_CLIENT_ID"
API_KEY_SECRET_VERSION="SHAREPOINT_API_KEY_SECRET_VERSION"
TENANT_ID="SHAREPOINT_TENANT_ID"
SITE_NAME="SHAREPOINT_SITE_NAME"
FOLDER_PATH="SHAREPOINT_FOLDER_PATH"
DRIVE_NAME="SHAREPOINT_DRIVE_NAME"
# SharePoint Example.
source = resources.SharePointSources(
share_point_sources=[
resources.SharePointSource(
client_id=CLIENT_ID,
client_secret=API_KEY_SECRET_VERSION,
tenant_id=TENANT_ID,
sharepoint_site_name=SITE_NAME,
folder_path=FOLDER_PATH,
drive_id=DRIVE_ID,
)
]
)
response = rag.import_files(
corpus_name="projects/my-project/locations/REGION/ragCorpora/my-corpus-1",
source=source,
chunk_size=512,
chunk_overlap=100,
)
Passaggi successivi
- Per scoprire di più sul grounding, consulta la Panoramica del grounding.
- Per scoprire di più su Vertex AI Knowledge Engine, consulta Utilizzare Vertex AI Knowledge Engine.
- Per scoprire di più su grounding e RAG, consulta Risposte al suolo utilizzando RAG.