メインコンテンツまでスキップ

SharePoint

SharePoint site の document を Squid AI agent 用の検索可能な knowledge として index 化します​

SharePoint Connector の Functionality​

SharePoint connector は organization の SharePoint document library から document を knowledge base に読み込み、Squid AI agent がその content を使用して question に answer できるようにします。

  • index 化する document または folder を選択します。folder を index 化すると、その内部のすべての file が recursive に index 化されます。
  • Squid は index 済み content を自動的に sync し、変更、追加、削除された file を 10 分ごとに反映します。
  • SharePoint connector に接続された AI agent は、index 済み content を semantic search し、index 済み document を list 化できます。
  • Squid は SharePoint 固有の permission を尊重できるため、agent は chat 中の person が SharePoint で開ける document のみを retrieve します。Respecting source permissionsを参照してください。
  • access は read-only です。Squid が SharePoint site に write することはありません。

Microsoft Entra App Registration の作成​

connector は application permission を持つ app registration を使用して authenticate します(per-user sign-in は不要です)。

  1. Azure Portal で App registrations に移動し、New registration をクリックします。

  2. 作成後、Overview tab で Application (client) ID と Directory (tenant) ID を控えます。

  3. Certificates & secrets で新しい client secret を作成し、その value を保存します。client secret には expiration があります(default は 6 か月、最大 24 か月)。secret の期限が切れると sync は停止します。追跡できる expiry を選び、それまでに Squid Console で connector を新しい secret に update してください。

  4. API permissions で、site と file への read access を付与する Microsoft Graph application permission(Sites.Read.All と Files.Read.All)を追加してから、admin consent を付与します。agent に SharePoint permission を尊重させるには、Squid が各 document の share 先を resolve できるよう、directory の user と group に対する read access も app registration に付与します。

Squid Application に SharePoint Connector を追加する​

  1. Squid Console の Connectors tab に移動します。

  2. Available Connectors をクリックします。

  3. SharePoint connector を見つけ、Add Connector を選択します。

  4. 次の configuration detail を指定します。

Connector ID: code 内で connector を一意に識別する string。この値は後から変更できません。

Client ID: app registration の Application (client) ID。

Tenant ID: app registration の Directory (tenant) ID。

Client Secret: 作成した client secret。Squid secret として安全に保存されます。

Document の Indexing​

document は、@squidcloud/sharepoint-client package を使用して programmatically に index 化します。document または folder は SharePoint の site ID、drive ID、item ID で指定します。

npm install @squidcloud/sharepoint-client
import { SharePointClient, encodeSharePointLocation } from '@squidcloud/sharepoint-client';

const sharepoint = new SharePointClient(squid, 'SHAREPOINT_CONNECTOR_ID');

// Index a document or an entire folder (recursive)
const errors = await sharepoint.indexDocumentOrFolder({
siteId: 'SITE_ID',
driveId: 'DRIVE_ID',
itemId: 'ITEM_ID',
});

// List everything that has been indexed
const documents = await sharepoint.listIndexedDocuments();

// Remove a document or folder from the index by its listed ID...
await sharepoint.unindexDocumentOrFolder(documents[0].id);

// ...or address it directly by encoding its location
await sharepoint.unindexDocumentOrFolder(encodeSharePointLocation('SITE_ID', 'DRIVE_ID', 'ITEM_ID'));

index 化後、document は background sync により自動的に最新の状態に保たれます。

AI Agent で SharePoint Connector を使用する​

No-code Studio​

  1. Squid Console の Studio tab に移動します。

  2. Create AI Agent をクリックします。

  3. "docs-agent" や "This agent answers questions using our SharePoint documents" などの agent ID と description を指定します。

  4. Add Abilities をクリックし、Storage section まで scroll して、先ほど作成した SharePoint connector を選択します。

  5. 「user が SharePoint に保存された content について尋ねる場合にこれを call する」など、agent がこの connection を使用する方法の description を指定します。

  6. Test をクリックし、index 済み document に関する question を agent に尋ねてみます。

Squid SDK を使用する​

Squid SDK を使用して AI agent を作成する場合は、ask() function の connectedIntegrations option に SharePoint connector を追加して接続します。

await this.squid
.ai()
.agent('AGENT_ID')
.ask('What does our expense policy say about travel?', {
connectedIntegrations: [
{
integrationId: 'SHAREPOINT_CONNECTOR_ID',
integrationType: 'sharepoint',
description: 'Call this connector to search our SharePoint documents',
},
],
});