Abfrage des Cortex Search Service mit Snowflake Connector for SharePoint¶
Bemerkung
Der Snowflake Connector for SharePoint unterliegt den `Nutzungsbedingungen für Konnektoren<https://www.snowflake.com/legal/snowflake-connector-terms/>`_.
Wichtig
Vielen Dank für Ihr Interesse an Snowflake Connector für SharePoint. Wir konzentrieren uns momentan auf eine Lösung der nächsten Generation, die ein deutlich verbessertes Benutzererlebnis bieten wird. Daher ist die Veröffentlichung dieses Konnektors mit dem Status „Allgemeine Verfügbarkeit“ derzeit nicht teil unserer Produkt-Roadmap. Sie können diesen Konnektor weiterhin als Vorschau-Feature verwenden. Beachten Sie aber, dass die Unterstützung von zukünftigen Fehlerkorrekturen und Verbesserungen nicht garantiert ist. Die neue Lösung ist als Openflow-Konnektor für SharePoint verfügbar und umfasst bessere Performance, Anpassbarkeit und erweiterte Bereitstellungsoptionen.
Sie können den Cortex Search Service nutzen, um Chat- und Suchanwendungen zu erstellen, mit denen Sie mit Ihren Dokumenten in SharePoint chatten oder diese abfragen können.
Nachdem Sie den Snowflake Connector for SharePoint installiert und konfiguriert haben und er mit der Aufnahme von Inhalten aus Sharepoint beginnt, können Sie den Cortex Search Service abfragen. Weitere Informationen zur Verwendung von Cortex Search finden Sie unter Abfrage eines Cortex Search Service.
Antworten filtern¶
Um die Antworten des Cortex Search Service auf Dokumente zu beschränken, auf die ein bestimmter Benutzer in SharePoint Zugriff hat, können Sie bei der Abfrage der Cortex Search einen Filter angeben, der die Benutzer-ID oder die E-Mail-Adresse des Benutzers enthält. Beispiel: filter.@contains.user_ids
oder filter.@contains.user_emails
. Der Name des vom Konnektor erstellten Cortex Search Service lautet search_service
im Schema Cortex
.
Führen Sie den folgenden SQL-Code in einem SQL-Arbeitsblatt aus, um den Cortex Search Service mit Dateien abzufragen, die von Ihrer SharePoint-Website aufgenommen wurden.
Ersetzen Sie Folgendes:
application_instance_name
: Name Ihrer Datenbank und der Connector-Anwendungsinstanz.user_emailID
: E-Mail-ID des Benutzers, für den Sie die Antworten filtern möchten.your_question
: Die Frage, auf die Sie Antworten erhalten möchten.number_of_results
: Maximale Anzahl der Ergebnisse, die in der Antwort zurückgegeben werden sollen. Der Höchstwert ist 1000 und der Standardwert ist 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
Hier finden Sie eine vollständige Liste der Werte, die Sie für columns
eingeben können:
Spaltenname |
Typ |
Beschreibung |
---|---|---|
|
String |
Der vollständige Pfad zur Datei aus dem Stammverzeichnis der SharePoint-Website-Dokumente. Beispiel: |
|
String |
Eine URL, die eine SharePoint-Originaldatei in einem Browser anzeigt. |
|
String |
Datum und Uhrzeit, zu denen das Element zuletzt geändert wurde. |
|
String |
Ein Textabschnitt aus dem Dokument, der mit der Abfrage der Cortex Search übereinstimmt. |
|
Array |
Eine Reihe von Microsoft 365-Benutzer-IDs, die Zugriff auf das Dokument haben. Es enthält auch Benutzer-IDs aus allen Microsoft 365-Gruppen, die dem Dokument zugeordnet sind. Um eine bestimmte Benutzer-ID zu finden, siehe Einen Benutzer abrufen. |
|
Array |
Eine Reihe von Microsoft 365-Benutzer-E-Mails-IDs, die Zugriff auf das Dokument haben. Es enthält auch die Benutzer-E-Mails-IDs von allen Microsoft 365-Gruppen, die dem Dokument zugeordnet sind. |
Beispiel: Einen AI-Assistenten nach Informationen der Personalabteilung (HR) fragen¶
Mit Cortex Search können Sie einen AI-Assistenten für Mitarbeiter abfragen, um mit den neuesten Versionen von HR Informationen wie Onboarding, Verhaltenskodex, Teamprozesse und Organisationsrichtlinien zu chatten. Mithilfe von Antwortfiltern können Sie auch HR-Teammitgliedern die Abfrage von Mitarbeiterverträgen gestatten und dabei die in SharePoint konfigurierten Zugriffskontrollen einhalten.
Führen Sie Folgendes in einem SQL-Arbeitsblatt aus, um den Cortex Search Service mit Dateien abzufragen, die von SharePoint eingelesen wurden. Wählen Sie die Datenbank als Namen Ihrer Anwendungsinstanz und Cortex als Schema aus.
Ersetzen Sie Folgendes:
application_instance_name
: Name Ihrer Datenbank und der Connector-Anwendungsinstanz.user_emailID
: E-Mail-ID des Benutzers, für den Sie die Antworten filtern möchten.
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
Führen Sie den folgenden Code in einem Python-Arbeitsblatt aus, um den Cortex Search Service mit Dateien abzufragen, die von SharePoint eingelesen wurden. Stellen Sie sicher, dass Sie das Paket snowflake.core
zu Ihrer Datenbank hinzufügen.
Ersetzen Sie Folgendes:
application_instance_name
: Name Ihrer Datenbank und der Connector-Anwendungsinstanz.user_emailID
: E-Mail-ID des Benutzers, für den Sie die Antworten filtern möchten.
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())
Führen Sie den folgenden Code in einer Befehlszeilenschnittstelle aus, um den Cortex Search Service mit Dateien abzufragen, die Sie von Ihrem SharePoint aufgenommen haben. Für den Zugriff auf Snowflake REST-APIs benötigen Sie eine Authentifizierung über ein Schlüsselpaar-Authenthifizierung und OAuth. Weitere Informationen dazu finden Sie unter REST-API und Authentifizierung von Snowflake REST APIs mit Snowflake.
Ersetzen Sie Folgendes:
application_instance_name
: Name Ihrer Datenbank und der Connector-Anwendungsinstanz.account_url
: Ihre Snowflake-Konto-URL. Anweisungen zum Auffinden Ihrer Konto-URL finden Sie unter Suchen von Organisations- und Kontonamen eines Kontos.
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
}'
Beispielantwort:
{
"results" : [ {
"web_url" : "https://<domain>.sharepoint.com/sites/<site_name>/<path_to_file>",
"chunk" : "Answer to the question asked."
} ]
}