Nesta página, mostramos como usar conectores de dados para acessar os dados armazenados no Cloud Storage, no Google Drive, no Slack ou no Jira e como usar esses dados com o LlamaIndex na Vertex AI para RAG. A API Import RagFiles oferece conectores de dados para essas fontes.
Importar arquivos do Cloud Storage ou do Google Drive
Para importar arquivos do Cloud Storage ou do Google Drive para seu corpus, faça o seguinte:
- Crie um corpus seguindo as instruções em Crie um corpus de RAG.
- Importe os arquivos do Cloud Storage ou do Google Drive usando o modelo.
Importar arquivos do Slack
Para importar arquivos do Slack para seu corpus, faça o seguinte:
- Crie um corpus, que é um índice que estrutura e otimiza seus dados para pesquisa. Siga as instruções disponíveis em Crie um corpus de RAG.
- Receba o
CHANNEL_ID
do ID do canal do Slack. - Crie e configure um app para usar com o LlamaIndex na Vertex AI para RAG.
- Na interface do Slack, na seção Adicionar recursos e funcionalidades, clique em Permissões.
- Adicione as seguintes permissões:
channels:history
groups:history
im:history
mpim:history
- Clique em Instalar no workspace para instalar o app no workspace do Slack.
- Clique em Copiar para receber o token da API, que autentica sua identidade e concede a você acesso a uma API.
- Adicione o token da API ao Secret Manager.
- Para conferir o secret armazenado, conceda o papel de Acessador de secrets do Secret Manager à conta de serviço do LlamaIndex na Vertex AI para RAG do projeto.
Os exemplos de código curl e Python a seguir demonstram como importar arquivos de recursos do Slack.
curl
Se você quiser receber mensagens de um canal específico, mude o
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 você quiser receber mensagens de um determinado período ou de um canal específico, mude um dos seguintes campos:
- 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,
)
Importar arquivos do Jira
Para importar arquivos do Jira no corpus, faça o seguinte:
- Crie um corpus, que é um índice que estrutura e otimiza seus dados para pesquisa. Siga as instruções disponíveis em Crie um corpus de RAG.
- Para criar um token de API, faça login no site da Atlassian.
- Use {YOUR_ORG_ID}.atlassian.net como SERVER_URI na solicitação.
- Use seu e-mail da Atlassian como EMAIL na solicitação.
- Forneça
projects
oucustomQueries
com a solicitação. Para saber mais sobre consultas personalizadas, consulte Usar a pesquisa avançada com a linguagem de consulta do Jira (JQL).Quando você importa
projects
,projects
é expandido nas consultas correspondentes para abarcar todo o projeto. Por exemplo,MyProject
é expandido paraproject = MyProject
. - Clique em Copiar para receber o token da API, que autentica sua identidade e concede a você acesso a uma API.
- Adicione o token da API ao Secret Manager.
- Conceda o papel de Acessador de secrets do Secret Manager à conta de serviço do LlamaIndex na Vertex AI para RAG do projeto.
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,
)
A seguir
- Para saber mais sobre embasamento, consulte Visão geral do embasamento.
- Para saber mais sobre o LlamaIndex na Vertex AI para RAG, consulte Usar o LlamaIndex na Vertex AI para RAG.
- Para saber mais sobre embasamento e RAG, consulte Embasar respostas usando RAG.