Yhdistä mukautettuihin tietolähteisiin

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 ForAll muuntaa jokaisen hakutuloksen yhdistämällä seuraavat parit:snippet-Content, url-ContentLocation ja title-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.