Anna LLM:llesi pääsy tietoihisi ilman hienosäätöä. RAG yhdistää yleiskäyttöiset kielimallit ja toimialakohtaisen tiedon.

Haluat rakentaa AI-assistentin, joka vastaa kysymyksiin organisaatiosi dokumenteista – sopimuksista, käytännöistä, tietokannoista, tuotedokumentaatiosta, potilaskertomuksista. LLM:n hienosäätö datallasi on kallista, hidasta ja luo mallin, joka on jäädytetty koulutuksen ajankohtaan. Tarvitset arkkitehtuurin, jossa LLM voi käyttää ajantasaista, toimialakohtaista tietoa kyselyn aikana, mainita lähteensä ja välttää hallusinaatioita faktoista, jotka eivät ole dokumenteissasi. RAG (Retrieval-Augmented Generation) on tapa saavuttaa tämä.
Explore more design patterns and system architectures
Arkkitehtehtemme voivat auttaa suunnittelemaan ja rakentamaan järjestelmiä käyttäen tätä mallia omiin vaatimuksiin.
Ota yhteyttäRAG täydentää LLM-generointia noudetulla kontekstilla tietokannasta. Kyselyhetkellä järjestelmä muuntaa käyttäjän kysymyksen upotukseksi, hakee vektoritietokannasta semanttisesti samankaltaisia dokumenttipaloja ja sisällyttää relevanteimmat palat kontekstina LLM-kehotteeseen. Tämä perustaa mallin vastauksen todellisiin dokumentteihin, mahdollistaa lähteiden mainitsemisen ja pitää tietokannan päivitettävissä ilman uudelleenkoulutusta. Tuotanto-RAG-putkilinja käsittelee sisäänvedon (jäsentäminen, pilkkominen, upottaminen), noudon (vektorihaku, uudelleenjärjestäminen, hybridi haku) ja generoinnin (kehotteen rakentaminen, striimaus, suojaukset).
Arkkitehtuurissa on kaksi putkilinjaa. Sisäänvedon putkilinja käsittelee dokumentteja jäsentämisen (PDF, DOCX, HTML-purku), pilkkomisen (semanttinen tai kiinteän kokoinen päällekkäisyydellä), upottamisen (upotusmallin avulla) ja tallennuksen (vektoritietokanta + dokumenttitietovarasto) kautta. Kyselyputkilinja ottaa käyttäjän kysymyksen, generoi kyselyn upotuksen, noutaa ehdokaspaloja vektoritietokannasta, järjestää ne uudelleen relevanssin perusteella, rakentaa kehotteen ylimpien palojen kanssa kontekstina ja striimaa LLM-vastauksen lähdeviitteineen.
text-embedding-3-large, Cohere embed-v4 tai avoimen lähdekoodin vaihtoehtoja (BGE, E5). Eräprosessoitavissa sisäänvedossa, yhden kyselyn prosessointi haussa| Kerros | Teknologiat |
|---|---|
| Dokumenttien jäsentäminen | Unstructured, Apache Tika, LlamaParse, Docling, mukautettu OCR (Tesseract, AWS Textract) |
| Upottaminen | OpenAI text-embedding-3-large, Cohere embed-v4, BGE-M3, E5-large-v2 |
| Vektoritietokanta | Milvus, Pinecone, Qdrant, Weaviate, pgvector (pienimuotoiseen käyttöön) |
| Avainsanahaku | Elasticsearch, OpenSearch, PostgreSQL full-text search |
| Uudelleenjärjestäminen | Cohere Rerank, BGE Reranker, ColBERT v2, FlashRank |
| LLM | Claude (AI Gatewayn kautta), GPT-4, Gemini – palveluntarjoajasta riippumaton AI SDK:n kautta |
| Orkestrointi | LangChain, LlamaIndex tai mukautettu putkilinja (MW:n ensisijainen valinta tuotantoon) |
| Käytä kun | Vältä kun |
|---|---|
| Käyttäjät tarvitsevat vastauksia, jotka perustuvat organisaatiosi spesifisiin dokumentteihin | Tietokanta on alle 50 sivua – laita se vain järjestelmäkehotteeseen |
| Dokumentteja päivitetään usein ja tekoäly tarvitsee ajantasaista tietoa | Tarvitset mallin oppimaan uuden taidon/käyttäytymisen, et pääsemään uusiin faktoihin (hienosäädä sen sijaan) |
| Lähdeviittaus ja auditoitavuus ovat vaatimuksia (laki, vaatimustenmukaisuus, terveydenhuolto) | Kysymykset ovat puhtaasti keskusteluluonteisia eivätkä vaadi faktoihin perustuvaa pohjaa |
| Useat käyttäjäryhmät tarvitsevat pääsyn eri dokumenttien osajoukkoihin (luvallisesti suodatettu RAG) | Rakennat luovan kirjoittamisen työkalua, jossa faktojen tarkkuus ei ole tavoitteena |
MW rakentaa RAG-putkilinjat noudon laadusta ulospäin – mittaamme noudon tarkkuutta ennen kuin koskemme LLM-kehotteeseen. RAG-järjestelmä, jossa on keskinkertainen nouto ja erinomainen LLM, tuottaa vakuuttavan kuuloisia vääriä vastauksia. Vakioputkilinjamme sisältää noudon arviointikehikon: joukon testikyselyjä tunnetusti relevanttien dokumenttien kanssa, mitattuna MRR@5 ja NDCG@10:llä. Iteroimme pilkkomista, upotusmallia ja uudelleenjärjestämistä, kunnes noutometiikat saavuttavat tavoitekynnykset, ennen kuin optimoimme generointia. Olemme rakentaneet RAG-järjestelmiä oikeudelliseen asiakirjojen tarkistukseen, terveydenhuollon tietokantoihin ja monikieliseen asiakastukeen – ja yhteinen opetus on, että noudon laatu vastaa 80 % vastausten laadusta.
Upotushaku on helppoa 10 tuhannen vektorin kanssa. 100 miljoonan vektorin kanssa, joissa P99-viive on alle 100 ms, se on infrastruktuuriongelma – ja tämän ongelman tämä malli ratkaisee.
MicrocosmWorks toteuttaa konfliktinratkaisun RAG-putkissa lähteiden auktoriteettiarvioinnin, aikaleimaan perustuvan ajantasaisuuden painotuksen ja luottamuspisteeytyksen avulla, joka arvioi, kuinka vahvasti kukin haettu kohta tukee väitettään. Kun ristiriitaisia kohtia haetaan, putkemme esittää korkeimman auktoriteetin vastauksen tuoden samalla läpinäkyvästi esiin erimielisyyden ja lähdeviittaukset, jotta käyttäjät voivat tehdä tietoon perustuvia päätöksiä. Rakennamme myös palautesilmukoita, joissa asiantuntijat voivat merkitä virheellisiä ratkaisuja, mikä parantaa hakutulosten luokitusta ajan myötä.
MicrocosmWorks käyttää sisältötietoista chunkingia, joka soveltaa erilaisia strategioita dokumentin rakenteen perusteella – semanttista kappalejakelua proosalle, rivi- tai osiotason chunkingia taulukoille otsikkokontekstin säilyttäen, ja funktiontason chunkingia koodille liitettyine tuontilausekkeineen. Rikastamme jokaista chunkia metatiedoilla, sisältäen dokumentin otsikon, osiohierarkian ja sisältötyypin, jotta hakuprosessi voi soveltaa tyyppikohtaista pisteytystä. Tämä lähestymistapa ylittää jatkuvasti naiivin kiinteäkokoisen chunkingin 25-40 %:lla haun relevanssivertailuarvoissa asiakasprojekteissamme.
MicrocosmWorks rakentaa arviointikehikoita, jotka testaavat RAG-putkilinjoja kolmella ulottuvuudella: haun relevanssi (löydetäänkö oikeat palat), vastauksen uskottavuus (heijastaako luotu vastaus todella haettua sisältöä) ja vastauksen kattavuus (vastaako se koko kysymykseen). Luomme toimialan asiantuntijoiden kanssa vertailutestisarjoja, jotka sisältävät tunnettuja vastauksia sisältäviä kyselyitä, haastavia reunatapauksia ja kysymyksiä, jotka vaativat usean dokumentin synteesiä. Tämä arviointi suoritetaan automaattisesti CI/CD:ssä, jotta jokainen putkilinjan muutos vertaillaan peruslaatumittareihin ennen käyttöönottoa.
MicrocosmWorks valitsee vektoritietokannat perustuen skaalaasi, kyselymalliisi ja operatiivisiin vaatimuksiisi—Pinecone hallitun yksinkertaisuuden vuoksi, Weaviate hybridi-avainsana-vektorihakuun, pgvector tiimeille, jotka ovat jo panostaneet PostgreSQL:ään, ja Qdrant korkean suorituskyvyn itse isännöityihin käyttöönottoihin. Skaaloissa alle 10 miljoonan vektorin kohdalla useimmat vaihtoehdot tarjoavat alle 100 ms:n viiveen, mutta erot muuttuvat merkittäviksi satojen miljoonien vektorien kohdalla, joissa indeksityyppi, kvantisointi ja jakamisstrategia ovat valtavan tärkeitä. Me vertailemme todellisia upotusdimensioitasi ja kyselymallejasi lyhyeksi listattuja vaihtoehtoja vastaan arkkitehtuurisuunnitteluvaiheessamme.
MicrocosmWorks rakentaa inkrementaalisia ingestion-putkia, jotka seuraavat lähdeasiakirjojen repositoryja muutosten varalta, re-chunkkaavat ja re-embeddaavat vain muokatut osiot, ja päivittävät vector storen ilman täyttä reindexointia. Toteutamme document fingerprintingin, joka havaitsee sisältömuutokset osiotasolla, joten yksittäinen kappaleen muutos ei laukaise koko 200-sivuisen asiakirjan uudelleenkäsittelyä. Asiakkailla, joilla on reaaliaikaiset tuoreusvaatimukset, lisäämme live retrieval layerin, joka kysyy lähdejärjestelmää suoraan äskettäin muokattujen asiakirjojen osalta ja yhdistää nämä tulokset vector search -osumien kanssa.