Interakt & Hygraph

AI-søgning til Hygraph: Open source, self-hosted og ingen gebyrer pr. søgning

Produkter og indhold i én søgeløsning, en AI-assistent, der kun svarer ud fra dit eget indhold, og en regning, der ikke vokser i takt med mere trafik.

Hygraph strukturerer dit indhold.

Interakt gør det søgbart og bruger det til at besvare spørgsmål – med ét søgefelt og én AI-assistent på tværs af produkter, vejledninger og politikker.

Løsningen er open source og kan hostes i dit eget miljø. Dermed undgår du gebyrer pr. søgning, vælger selv din AI-model og beholder dine data i dit eget miljø.

Læs videre for at se, hvordan det fungerer, og hvor lidt kode det faktisk kræver.





Hvis du skriver »vandtæt jakke til en skotsk vinter« i Meridians søgefelt. Hvad får du så?

Et FAQ-svar om tapede søm, en købsguide til vandtæthed og to regnjakker i én rangeret liste.

Det virker ikke særligt bemærkelsesværdigt, før du opdager, at FAQ’en og jakkerne ligger i forskellige indeks – og på de fleste websites endda i helt forskellige søgeløsninger.

Meridian er et demosite, vi har bygget med Hygraph: tøj og friluftsudstyr, 159 produkter og godt hundrede redaktionelle indholdselementer. Søgning og chat leveres af Interakt, vores søge- og AI-chatplatform med MIT-licens.

Hele løsningen er offentligt tilgængelig her.

BEMÆRK: Hvis du bare vil have et hurtigt overblik over, hvad vi har lavet, så se denne video.

Ét søgefelt til både katalog og magasin

Et Hygraph-site er næsten aldrig kun et katalog. Meridian har 159 produkter, men også 32 vejledninger og trin for trin-guides, 20 blogindlæg, 42 FAQ’er og 6 sider med politikker.

Den opdeling er helt normal. Det samme gælder den løsning, man typisk ender med: Produkterne får en særskilt søgeløsning, det redaktionelle indhold får den søgefunktion, der følger med CMS’et, og en kunde, der stiller ét spørgsmål, får kun halvdelen af svaret.

Vi gav Interakt to indeks:

  • Ét til produkter.

  • Ét til alt andet.

Derefter koblede vi begge til én samlet søgeoplevelse.

Resultaterne samles med Reciprocal Rank Fusion, så rangeringen er uafhængig af, hvilket indeks et dokument kommer fra. Dertil kommer automatisk fuldførelse, fanerne Alle / Produkter / Vejledninger og hjælp samt en sidebjælke med filtre og løbende opdaterede antal for type, mærke, produktserie, farve, størrelse, bedømmelse og tilgængelighed.

Se, hvordan det ser ud og fungerer, i følgende video.

En AI-assistent, der svarer ud fra dit indhold, ikke modellens hukommelse

Chatwidgetten ligger nederst til højre på alle sider. Det er et script tag og et init() kald. Der er ingen npm-pakke og intet framework, og den vises i en shadow root, så websitets CSS ikke kan ødelægge widgetten, og widgetten ikke kan ødelægge websitets CSS.

Det nyttige er, at den ikke svarer ud fra modellens hukommelse. Hvert svar bygger på de samme indeks, som søgefeltet bruger, via værktøjer, der genereres ud fra dem.

Spørg efter en vandtæt jakke til under 300 dollars, og den søger i produktindekset.

Spørg, hvordan du returnerer en jakke, og den søger i indholdsindekset og svarer ud fra returpolitikken.

Det andet spørgsmål er værd at stille i enhver demonstration af en AI-assistent. Det afslører, om assistenten er koblet til hele websitet eller kun den nemme halvdel.

Tre veje ind i indekset til tre forskellige brugere

At holde søgningen opdateret er tre forskellige opgaver, fordi tre forskellige brugere har behov for det:

  1. En udvikler vil bruge en terminal. Derfor findes CLI, som genindlæser alt indhold.

  2. Hygraph selv skal ikke have nogen til at gøre noget. En signeret webhook udløses ved publicering, afpublicering og sletning og kører automatisk.

  3. En redaktør vil hverken bruge terminalen eller håndtere webhooks.

Derfor byggede vi en side i Hygraph Studio med App Framework: En knap med teksten »Genindlæs alt indhold«, som vises under App views i indholdseditoren, viser resultatet i en tabel og udløser en indbygget Hygraph-notifikation, når den er færdig. Alle 264 dokumenter på cirka seks sekunder.

Knappen og kommandolinjeværktøjet kalder den samme funktion. En genindlæsning fra Studio og en fra terminalen kan derfor ikke udvikle sig i hver sin retning og begynde at producere forskellige dokumenter.

Publicér i Hygraph - søgbart på få sekunder

For det meste er der dog ingen, der trykker på noget. En redaktør publicerer en guide, og den er søgbar, før hun har skiftet fane. Afpublicér den, og den er væk. Gendan den, og den er tilbage.

Webhooken er signeret, og signaturen verificeres mod forespørgslens rå indhold. Handlingen afgøres af operationen – publicering, afpublicering eller sletning – og aldrig af de medsendte data, fordi en sletning stadig sender hele indholdselementet, som det så ud før sletningen. En handler, der alene undersøgte indholdet, ville uden videre indeksere noget igen, som netop var blevet slettet. Det ville efterlade søgeresultater, der peger på 404-sider. Sletninger håndteres via bulk-endpointet, som er idempotent, så en gentaget webhook er harmløs frem for at medføre en fejl.

Spørgsmålet om omkostninger handler om prismodeller

Her bliver open source mere end en filosofisk holdning.

De søgeløsninger, man typisk kobler til et headless CMS – såsom Algolia, Coveo eller en hostet Elastic-løsning – afregner normalt efter to ting: antal indekserede poster og antal søgeforespørgsler. Begge dele stiger, netop når websitet gør det, det er skabt til. Du publicerer mere, så du betaler mere. Flere mennesker læser dit indhold, så du betaler mere. Måleren tæller din egen succes.

Interakt har MIT-licens. Det kører som ét Docker-image med Postgres og pgvector samt enten Elasticsearch eller Azure AI Search. Hoster du det selv, består den ekstra omkostning ved en søgning af den computerkapacitet, du allerede har i drift. Hvis du ikke ønsker at hoste det selv, så kontakt os. Vi finder en løsning, der passer til dig og din virksomhed.

Det giver også to fordele, der betyder lige så meget som afregningen. Du vælger selv AI-udbyderen – typisk OpenAI, Anthropic, Azure OpenAI, Google Vertex, HuggingFace eller Ollama på din egen hardware – og du kan skifte udbyder for hver oplevelse fra administrationspanelet uden at ændre kode. Og dit katalog og dine kunders søgeforespørgsler forlader aldrig dit miljø, hvilket i regulerede brancher i sig selv kan være afgørende.

Vil du have den tekniske version?

Det meste af integrationen med Interakt var ikke specifikt for Hygraph. Hvorfor skulle det være det?

Ud over den specialbyggede Hygraph-app gør vi det nemt at overføre alle data. Det er ret enkelt, og de fleste udviklere eller AI-værktøjer kan gøre det for dig meget hurtigt.

Hvis du vil se den konkrete implementering af denne demo, kan du finde den nedenfor.

Kontakt os

Image of Roland Villemoes

Roland Villemoes

CTO

Mobile: +1-646-637-2936

Email: rv@alpha-solutions.com