Consultar o Cortex Search Service com o Snowflake Connector for SharePoint¶
Nota
O Snowflake Connector for SharePoint está sujeito aos Termos do conector.
Importante
Agradecemos pelo seu interesse no conector Snowflake para SharePoint. Agora, estamos focados em uma solução de próxima geração que oferecerá uma experiência significativamente melhor. Portanto, no momento não temos planos de passar esse conector para o status de disponibilidade geral. Você pode continuar usando esse conector como um recurso em versão preliminar, mas o suporte para futuras correções de bugs e melhorias não é garantido. A nova solução está disponível como Conector Openflow para SharePoint e inclui melhor desempenho, personalização e opções aprimoradas de implantação.
Você pode usar o serviço Cortex Search para criar aplicativos de bate-papo e pesquisa para conversar com seus documentos ou consultá-los no SharePoint.
Depois de instalar e configurar o Snowflake Connector for SharePoint e começa a ingerir conteúdo do Sharepoint, você pode consultar o Cortex Search Service. Para mais informações sobre o uso do Cortex Search, consulte Consulta ao Cortex Search Service.
Filtrar respostas¶
Para restringir as respostas do Cortex Search Service aos documentos aos quais um usuário específico tem acesso no SharePoint, você pode especificar um filtro que contenha o ID de usuário ou o endereço de e-mail do usuário ao consultar o Cortex Search. Por exemplo, filter.@contains.user_ids
ou filter.@contains.user_emails
. O nome do Cortex Search Service criado pelo conector é search_service
no esquema Cortex
.
Execute o seguinte código SQL em uma planilha SQL para consultar o Cortex Search Service com arquivos ingeridos de seu site SharePoint.
Substitua o seguinte:
application_instance_name
: nome de seu banco de dados e da instância do aplicativo do conector.user_emailID
: ID de e-mail do usuário para o qual você deseja filtrar as respostas.your_question
: a pergunta para a qual deseja obter respostas.number_of_results
: número máximo de resultados a serem retornados na resposta. O valor máximo é 1.000 e o valor padrão é 10.
SELECT PARSE_JSON(
SNOWFLAKE.CORTEX.SEARCH_PREVIEW(
'<application_instance_name>.cortex.search_service',
'{
"query": "<your_question>",
"columns": ["chunk", "web_url"],
"filter": {"@contains": {"user_emails": "<user_emailID>"} },
"limit": <number_of_results>
}'
)
)['results'] AS results
Aqui está uma lista completa de valores que você pode inserir em columns
:
Nome da coluna |
Tipo |
Descrição |
---|---|---|
|
Cadeia de caracteres |
Um caminho completo para o arquivo na raiz de documentos do site Sharepoint. Exemplo: |
|
Cadeia de caracteres |
Um URL que exibe um arquivo original do Sharepoint em um navegador. |
|
Cadeia de caracteres |
Data e hora em que o item foi modificado mais recentemente. |
|
Cadeia de caracteres |
Um trecho de texto do documento que corresponde à consulta do Cortex Search. |
|
Matriz |
Uma matriz de IDs de usuário do Microsoft 365 que têm acesso ao documento. Também inclui os IDs de usuário de todos os grupos do Microsoft 365 que estão atribuídos ao documento. Para localizar um ID de usuário específico, consulte Obtenha um usuário. |
|
Matriz |
Uma matriz de e-mails de IDs de usuário do Microsoft 365 com acesso ao documento. Também inclui os IDs de e-mail do usuário de todos os grupos do Microsoft 365 atribuídos ao documento. |
Exemplo: Consulta a um assistente deAI para informações de recursos humanos (HR)¶
Você pode usar o Cortex Search para consultar um assistente de AI para que os funcionários conversem com as versões mais recentes das informações de HR, como integração, código de conduta, processos de equipe e políticas da organização. Usando os filtros de resposta, você também pode permitir que os membros da equipe de HR consultem os contratos dos funcionários, respeitando os controles de acesso configurados no SharePoint.
Execute o seguinte em uma planilha SQL para consultar o serviço Cortex Search com arquivos ingeridos do SharePoint. Selecione o banco de dados como o nome da instância do aplicativo e esquema como Cortex.
Substitua o seguinte:
application_instance_name
: nome de seu banco de dados e da instância do aplicativo do conector.user_emailID
: ID de e-mail do usuário para o qual você deseja filtrar as respostas.
SELECT PARSE_JSON(
SNOWFLAKE.CORTEX.SEARCH_PREVIEW(
'<application_instance_name>.cortex.search_service',
'{
"query": "What is my vacation carry over policy?",
"columns": ["chunk", "web_url"],
"filter": {"@contains": {"user_emails": "<user_emailID>"} },
"limit": 1
}'
)
)['results'] AS results
Execute o seguinte código em uma planilha Python para consultar o serviço Cortex Search com arquivos ingeridos do SharePoint. Certifique-se de adicionar o pacote snowflake.core
ao seu banco de dados.
Substitua o seguinte:
application_instance_name
: nome de seu banco de dados e da instância do aplicativo do conector.user_emailID
: ID de e-mail do usuário para o qual você deseja filtrar as respostas.
import snowflake.snowpark as snowpark
from snowflake.snowpark import Session
from snowflake.core import Root
def main(session: snowpark.Session):
root = Root(session)
# fetch service
my_service = (root
.databases["<application_instance_name>"]
.schemas["cortex"]
.cortex_search_services["search_service"]
)
# query service
resp = my_service.search(
query="What is my vacation carry over policy?",
columns = ["chunk", "web_url"],
filter = {"@contains": {"user_emails": "<user_emailID>"} },
limit=1
)
return (resp.to_json())
Execute o código a seguir em uma interface de linha de comando para consultar o serviço Cortex Search com arquivos ingeridos a partir de seu SharePoint. Você precisará se autenticar por meio de autenticação de par de chaves e OAuth para acessar as Snowflake REST APIs. Para obter mais informações, consulte REST API e Autenticando o Snowflake REST APIs com Snowflake.
Substitua o seguinte:
application_instance_name
: nome de seu banco de dados e da instância do aplicativo do conector.account_url
: o URL de sua conta Snowflake. Para obter instruções sobre como localizar seu URL de conta, consulte Como encontrar o nome da conta e organização de uma conta.
curl --location "https://<account_url>/api/v2/databases/<application_instance_name>/schemas/cortex/cortex-search-services/search_service" \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header "Authorization: Bearer <CORTEX_SEARCH_JWT>" \
--data '{
"query": "What is my vacation carry over policy?",
"columns": ["chunk", "web_url"],
"limit": 1
}'
Exemplo de resposta:
{
"results" : [ {
"web_url" : "https://<domain>.sharepoint.com/sites/<site_name>/<path_to_file>",
"chunk" : "Answer to the question asked."
} ]
}