Gosoft Connect - tekoälychat, joka nojaa omiin dokumentteihinne
Multi-tenant-widget-palvelu, jonka tekoälychat vastaa kunkin asiakkaan omasta tietopohjasta - koko hakupino itse ylläpidettynä yhdellä CPU-nodella.
Mikä se on
Gosoft Connect on multi-tenant-SaaS, jonka olen suunnitellut ja rakentanut yksin GoSoftissa, omassa yhtiössäni: upotettavia verkkosivuwidgettejä - tekoälychat, livechat, lomakkeet, popupit - ja hallintaportaali. Jokaisella asiakastyötilalla on tietopohja, jota täytetään neljällä tavalla: liittämällä tekstiä, noutamalla URL, lataamalla tiedostoja tai indeksoimalla kokonainen sivukartta. Asiakkaan sivuston tekoälychat vastaa kävijöiden kysymyksiin tähän tietopohjaan nojaten, striimaten token kerrallaan, ja sillä on työkalut yritystietojen hakuun, liidien keräämiseen ja keskustelun siirtoon ihmiselle. Chatin ympärillä ovat koostesähköpostit, lomakevastausten tekoälytiivistelmät, keskustelujen luokittelu, öisin ajettavat raportit kysymyksistä, joihin botti ei osannut vastata, sekä syötteen ja vastausten moderointi.
Hakuputki
Vastaukset pohjautuvat hybridihakuun: tiheät vektorit ja tekstihaun pisteytys yhdistetään reciprocal rank fusion -menetelmällä, minkä jälkeen cross-encoder järjestää tulokset uudelleen, dokumenttikohtaisella monimuotoisuusrajalla ja kielitietoisella haulla suomen-, ruotsin- ja englanninkieliseen sisältöön. Paloittelu on kappaletietoista, ja jokainen pala saa kontekstiotsikon; sisältöhashien ansiosta muuttumattomia dokumentteja ei koskaan upoteta uudelleen.
Stack & infrastruktuuri
Jälleen tarkoituksella pieni: kaikki pyörii yhdellä Linux-nodella, pelkällä CPU:lla. Upotusmalli (bge-m3) ja uudelleenjärjestäjä (bge-reranker-v2-m3) ajetaan paikallisesti ONNX:llä - ei GPU:ta, ei embedding-API:a. Asiakkaan dokumentit lähtevät koneelta täsmälleen yhtä asiaa varten: itse LLM-kutsua (OpenAI, malli valittavissa työtilakohtaisesti). Vektorivarasto on tavallinen PostgreSQL pgvectorilla - yksi tietokanta kaikelle. Bun ja Hono taustalla, Solid.js-portaali, nginx edessä.
Insinöörityö
Luvut, jotka voin julkaista, ovat insinöörilukuja. Uudelleenjärjestäjän kvantisointi pudotti haun 14 sekunnista 4,1:een CPU:lla, itse järjestysvaiheen 5,6:sta 1,1:een. Varhainen kuormitustesti pudotti kaksi kymmenestä samanaikaisesta chatista ja kaatoi prosessin, kun muistinkäyttö oli 10,4 GB; inferenssisemaforin ja eräpaloittelun jälkeen sama testi palveli 10/10 muistihuipun ollessa 6,8 GB, ilman yhtäkään uudelleenkäynnistystä. Tuotannossa kesäkuusta 2026 lähtien.