Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Copilot Studio sisältää sisäänrakennettuja tietolähteitä, kuten SharePoint ja Dataverse. Monet organisaatiot hyödyntävät myös omia hakupäätepisteitään, kuten räätälöityjä ohjelmointirajapintoja, olemassa olevia yrityshakujärjestelmiä tai Azure AI Searchia, säilyttäen samalla täyden hallinnan haun suorittamisesta.
Copilot Studio tukee tätä skenaariota OnKnowledgeRequested-laukaisimen avulla. Mikä tahansa aihe, joka käyttää tätä laukaisijaa, toimii mukautettuna tietolähteenä ja tuottaa tuloksia generatiivisiin vastauksiin.
Tässä artikkelissa kerrotaan, miten voit luoda ja integroida räätälöityjä tietolähteitä Copilot Studiossa käyttämällä OnKnowledgeRequested -laukaisinta. Opit, miten Copilot Studio kirjoittaa kyselyt uudelleen, miten yhdistät oman hakurajapintasi, miten muotoilet tulokset generatiivisia vastauksia varten sekä parhaat käytännöt räätälöidyn tiedon hyödyntämiseen.
OnKnowledgeRequested-laukaisin
Käytä OnKnowledgeRequested-laukaisijaa näissä kahdessa tilanteessa:
- Kun orkestroija määrittää, että tiedonhaku on tarpeen käyttäjän kyselyyn vastaamiseksi.
- Kun generatiivista vastaussolmua kutsutaan nimenomaisesti keskustelussa.
Tärkeää
Tämän laukaisimen voi määrittää vain koodinäkymässä käyttämällä YAML:ää. Visuaalisen suunnittelijan tukea ei ole.
Aiheet, jotka hyödyntävät OnKnowledgeRequested-toimintoa, saavat käyttöönsä järjestelmämuuttujia, joita tavallisilla aiheilla ei ole:
-
System.SearchQuery: Kontekstitietoinen, uudelleenkirjoitettu versio käyttäjän kyselystä, joka on optimoitu semanttiseen hakuun. -
System.KeywordSearchQuery: Uudelleenkirjoitettu kysely, joka on optimoitu avainsanapohjaisille hakukoneille. -
System.SearchResults: Tähän kohtaan aihe tallentaa muotoillut tietokatkelmat.
Copilot Studio uudelleenkirjoittaa kyselyt älykkäästi hyödyntämällä keskusteluhistoriaa varmistaen, että usean vuoron konteksti säilyy.
Mukautetun tietolähteen rakentaminen
Rakentaaksesi mukautetun tietolähteen, luot aiheen, jossa on OnKnowledgeRequested-laukaisin, joka kutsuu hakurajapintaasi ja muuntaa tulokset Copilot Studion odottamaan muotoon.
Vaihe 1: käynnistimen luominen
Luo uusi aihe Copilot Studiossa, siirry koodinäkymään ja määrittele OnKnowledgeRequested-laukaisin.
kind: AdaptiveDialog
beginDialog:
kind: OnKnowledgeRequested
id: main
intent: {}
actions:
# Actions go here
inputType: {}
outputType: {}
Tämä rakenne kertoo Copilot Studiolle, että tämä aihe on vastuussa tietopyyntöjen käsittelystä.
Vaihe 2: Lisää HTTP-pyyntö
Lisää HTTP-toiminto, joka kutsuu hakupäätepistettäsi.
Esimerkki:
- kind: HttpRequestAction
id: searchRequest
url: = "https://search-api.contoso.com/search?q=" & System.KeywordSearchQuery
response: Topic.searchResults
responseSchema:
kind: Record
properties:
query: String
results:
type:
kind: Table
properties:
snippet: String
title: String
url: String
Yhdistä System.KeywordSearchQuery-määritys perus-URL-osoitteeseesi, koska Copilot Studio kirjoittaa käyttäjäkyselyn automaattisesti uudelleen keskustelukontekstin mukaan ennen hakupyynnön tekemistä. Tämä vaihe on tärkeä kontekstin ylläpitämiseksi monivuoroisissa keskusteluissa.
Vinkki
HTTP-peruspyynnön sijaan voit käyttää mitä tahansa menetelmää, joka hakee tuloksia hakupäätepisteestä, mukaan lukien mukautetut liittimet, sisäänrakennetut liittimet kuten Azure AI Search tai agenttityönkulut.
Esimerkki kyselyn uudelleenkirjoittamisesta
- Käyttäjäkysely 1: "Mikä on virallinen asiakastietojen säilytysaikamme?"
- Jatkokysymys: "Onko se erilainen taloustiedoissa?"
- Jatkokysymys: "Onko poikkeuksia?"
Uudelleenkirjoitettu kysely: "tietojen säilyttämiskäytännön poikkeukset asiakas- ja taloustietojen säilyttämisen poikkeukset sääntelyvapautusten käytäntö poikkeusten käsittelyn vaatimustenmukaisuuden ohjeistus".
Huomaa, että uudelleenkirjoitettu kysely:
- Ratkaisee tietojen säilytyskäytännön sijaintiongelman
- Tuo esiin kontekstia molemmista aiemmista keskusteluvuoroista: asiakasdata + talousdata
- Lisää yrityskäytäntöön liittyviä termejä: poikkeukset, vapautukset, sääntely, ohjeistus
Vaihe 3: Muunna tulokset
Mukautetun tietolähteen on tuotettava tulokset Copilot Studion odottamassa muodossa. Tämä muoto käyttää:
- Content: Katkelma tai ote.
- ContentLocation (valinnainen): URL-osoite.
- Title (valinnainen): Tuloksen otsikko.
Määritä HTTP-vastauksen rakenne konfiguroimalla vastausskeema Copilot Studion käyttöliittymässä.
- Valitse vastauksen datatyypiksi Mallitiedoista.
- Valitse Hae skeema JSON-näytteestä.
- Liitä JSON-näytetiedot, jotta skeema luodaan automaattisesti.
Tämä prosessi generoi vastausskeeman YAML-tiedostoosi.
responseSchema:
kind: Record
properties:
query: String
results:
type:
kind: Table
properties:
snippet: String
title: String
url: String
Seuraavaksi muunna ohjelmointirajapinnan vastaus vastaamaan tätä muotoa. Aseta muunnetut tiedot arvoon System.SearchResults.
Esimerkkimuunnos
kind: AdaptiveDialog
beginDialog:
kind: OnKnowledgeRequested
id: main
intent: {}
actions:
- kind: HttpRequestAction
id: searchRequest
url: ="https://search-api.contoso.com/search?q=" & System.KeywordSearchQuery
response: Topic.searchResults
responseSchema:
kind: Record
properties:
query: String
results:
type:
kind: Table
properties:
snippet: String
title: String
url: String
- kind: SetVariable
id: setSearchResults
variable: System.SearchResults
value: |-
=ForAll(Topic.searchResults.results,
{
Content: snippet,
ContentLocation: url,
Title: title
})
inputType: {}
outputType: {}
Toiminto SetVariable suorittaa molemmat toiminnot:
- Funktio
ForAllmuuntaa jokaisen hakutuloksen yhdistämällä seuraavat parit:snippet-Content,url-ContentLocationjatitle-Title. - Muunnettu taulukko sijoitetaan muuttujaan
System.SearchResults, jota Copilot Studio käyttää vastausten generoimiseen.
Huomioitavia seikkoja
Pidä nämä keskeiset seikat mielessä, kun rakennat räätälöityjä tietolähteitä.
Tulosrajat
Copilot Studio käyttää enintään 15 katkelmaa kohteesta System.SearchResults vastauksen generoimiseen. Jos ohjelmointirajapinta palauttaa enemmän tuloksia, harkitse seuraavia:
- Ota käyttöön relevanssipisteytys, jotta parhaat tulokset palautetaan ensin.
- Rajoita ohjelmointirajapintavastauksesi 15 tulokseen.
- Lajittele tulokset relevanssin mukaan ennen muunnosta.
Useita mukautettuja aiheita
Voit luoda useita aiheita käyttämällä OnKnowledgeRequested-määritystä, ja jokainen aihe voi hakea tietoja eri backend-järjestelmistä. Copilot Studio kutsuu kaikkia näitä samanaikaisesti, kun se tarvitsee tietoa. Tämä lähestymistapa mahdollistaa eri hakupäätepisteiden kyselyn tai varastrategioiden toteuttamisen.
Varoitus
Tulosraja koskee kaikkia tietoaiheita yhteensä. Jos aihe A palauttaa 10 tulosta ja aihe B 8, käytetään vain 15 parhaiten pisteytettyä yhdistettyä tulosta.
Suositukset
- Lajittele tai pisteytä tulokset ennen niiden palauttamista.
- Pidä vastausskeemat yhtenäisinä.
- Käytä selkeitä aiheiden nimiä ja kuvauksia. Tämä käytäntö on hyödyllinen, kun suuret tulosjoukot vaativat relevanssisuodatusta.