- Implementering av en åpen kildekode-motor for gjenfinning av utvidet generasjon (RAG) for å håndtere komplekse dokumenter.
- Tekniske krav til maskinvare og programvare som kreves for en stabil distribusjon med containere.
- Språkmodellkonfigurasjon (LLM) og optimalisering av datainntak gjennom avansert chunking.
- Tilpasse arkitekturen ved å velge indekseringsmotorer og distribuere på ARM64.
Hvis du leter etter en måte å få kunstig intelligens til å basere svarene sine på dine egne filer, er RAGFlow et av de mest omfattende alternativene. Det er en motor for økt generering gjennom gjenvinning åpen kildekode som analyserer strukturen til dokumenter og gir modellen relevant informasjon for å redusere de vanlige hallusinasjonene til LLM-er.
Videre kan du installere den på din egen infrastruktur for å behold kontroll over dataene dine og unngå fullstendig avhengighet av eksterne plattformer. Takket være den Docker-baserte arkitekturen tillater den administrasjon av inntak, indeksering og oppretting av assistenter og agenter gjennom et visuelt grensesnitt.
Tekniske krav før oppstart

For at systemet skal fungere riktig, trenger du en datamaskin som oppfyller visse minimumskrav. Dokumenthåndtering, søkemotorer og indeksering kan bruke betydelige ressurser, spesielt når man jobber med store samlinger.
RAGFlow-dokumentasjonen fastsetter følgende krav:
- x86-prosessor med fire kjerner eller mer.
- Minst 16 GB RAM.
- Minimum 50 GB tilgjengelig lagringsplass.
- Docker 24.0.0 eller nyere.
- Docker Compose 2.26.1 eller nyere.
- Python 3.13 eller nyere.
Hvis du planlegger å bruke kodeutføreren i sandkassemodus for agentene dine, må du også installere gViewer for å isolere utførelsen og forbedre miljøsikkerheten.
Et annet viktig punkt er kjernekonfigurasjonen. Du må sørge for at verdien av vm.max_map_count være lik eller større enn 262144. Ellers kan dokumentmotoren vise minnefeil eller ikke starte riktig.
Du kan sjekke gjeldende verdi ved å bruke:
sysctl vm.max_map_count
Hvis du trenger å endre det midlertidig, kjør:
sudo sysctl -w vm.max_map_count=262144
Denne endringen vil gå tapt etter at systemet er startet på nytt. For å bevare den, legg til følgende linje i filen /etc/sysctl.conf:
vm.max_map_count=262144
Fremgangsmåte for å distribuere RAGFlow med Docker

Når miljøet er forberedt, er det første trinnet å klone det offisielle depotet fra RAGFlow på GitHub:
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/docker
For å unngå inkompatibiliteter mellom konfigurasjonsfilene og Docker-imaget, anbefales det å velge en stabil versjon publisert i repositoriet. Deretter kan du starte RAGFlow ved å bruke:
docker compose -f docker-compose.yml up -d
Denne kommandoen bruker CPU-en til DeepDoc-oppgaver. Hvis du har en NVIDIA GPU-kompatibel, legg til følgende variabel i filen .env før du starter beholderne:
DEVICE=gpu
Bruk deretter den samme Docker Compose-filen:
docker compose -f docker-compose.yml up -d
For å bekrefte at serveren har startet riktig, sjekk loggene til den tilhørende containeren:
docker logs -f docker-ragflow-cpu-1
Det nøyaktige containernavnet kan variere avhengig av versjonen og konfigurasjonen som brukes. Når loggene indikerer at serveren kjører i 0.0.0.0Du kan nå åpne grensesnittet.
Som standard skriver du bare inn serverens IP-adresse i nettleseren din:
http://IP_DEL_SERVIDOR
Standard HTTP-port er 80, så du trenger vanligvis ikke å skrive den inn. Når du er inne, får du tilgang til ModellleverandørerVelg leverandøren du vil bruke og konfigurer påloggingsinformasjonen. RAGFlow lar deg definere chatmodeller, innebygginger, bildegjenkjenning og andre kompatible oppgaver separat.
Dokumenthåndtering og arbeidsflyt
RAGFlows hovedfordel ligger i hvordan den behandler informasjon. I stedet for å bare dele innhold inn i vilkårlige fragmenter, bruker den forskjellige analysatorer for å tolke strukturen til dokumenter, tabeller, bilder og skannede filer.
For å begynne, opprett et datasett, last opp filene dine og velg et fragmenteringsmal egnet. Plattformen støtter ulike formater, inkludert PDF, DOCX, regneark, presentasjoner, tekstfiler og bilder.
RAGFlow tillater også inspiser de genererte fragmenteneDu kan redigere dem manuelt og legge til nøkkelord. Dette alternativet er nyttig når analysatoren ikke har tolket en tabell, overskrift eller bestemt seksjon riktig.
Når systemet henter informasjon for å svare på et spørsmål, kan det inkludere sitater som leder tilbake til de opprinnelige fragmentene. Dette forbedrer sporbarhet av svarDet garanterer imidlertid ikke at modellen vil være helt feilfri.
Etter at dokumentene er behandlet, kan du opprette en assistent fra chat-delen. Blant alternativene er muligheten til å definere hva den skal svare når den ikke finner nok informasjon i kunnskapsbasen.
Å sette en melding som «Jeg finner ikke denne informasjonen i de tilgjengelige dokumentene» bidrar til å redusere risikoen for at modellen improviserer et svar uten dokumentasjonsstøtte.
Avanserte systeminnstillinger og optimalisering
De viktigste distribusjonsparameterne finnes i filen .envDerfra kan du endre elementer som HTTP-porten, MySQL- og MinIO-passord, dokumentmotoren eller GPU-bruk.
RAGFlow bruker Elasticsearch som standardmotor for lagring og henting av tekst og vektorer. Den tillater også bytte til Infinity ved hjelp av denne variabelen:
DOC_ENGINE=infinity
Denne endringen bevarer imidlertid ikke automatisk eksisterende data. Den offisielle prosedyren krever at containerne stoppes og volumene deres slettes.
docker compose -f docker-compose.yml down -v
Parameteren -v slett Docker-volumer og alle data som er lagret på dem. Før du kjører kommandoen, sørg for at du har en sikkerhetskopi og at du virkelig vil starte med en ren installasjon.
Etter etablering DOC_ENGINE=infinity i filen .envDu kan starte containerne på nytt:
docker compose -f docker-compose.yml up -d
De offisielle RAGFlow-bildene er utformet for x86-plattformer. Hvis du bruker en prosessor ARM64For visse enheter, som de med Apple Silicon eller servere med Amazon Graviton, må du bygge et kompatibelt image ved å følge prosjektinstruksjonene.
Siden versjon 0.22 har RAGFlow kun distribuert en lettvektsversjon av imaget sitt. Denne utgaven er omtrent 2 GB stor og er avhengig av eksterne eller tilleggstjenester for å levere de nødvendige språkmodellene og innebyggingene.
Hvis du vil eksponere tjenesten for internett, anbefales det ikke å publisere porteringen direkte. Den sikreste tilnærmingen er å bruke en omvendt proxy som Nginx eller Traefik Aktiver HTTPS og legg til passende tilgangskontroller foran RAGFlow.
Integrering av lokale modeller og personvern
RAGFlow kan også bruke modeller som kjører i din egen infrastruktur. Støttede alternativer inkluderer: Ollama, LM Studio og vLLMDen spesifikke konfigurasjonen avhenger imidlertid av leverandøren og den installerte versjonen.
I en vanlig installasjon kan Ollama legges til fra Innstillinger > Modellleverandører > OllamaDer må du spesifisere modellen og adressen som RAGFlow skal kunne få tilgang til Ollama-serveren gjennom.
Hvis RAGFlow kjører i Docker, husk at localhost Den peker til selve containeren. Når Ollama er installert på vertssystemet, må du bruke en adresse som er tilgjengelig fra containerne, for eksempel maskinens IP-adresse eller host.docker.internal når den blir tilgjengelig.
For å holde data innenfor nettverket ditt er det ikke nok å bare bruke en lokal chatmodell. Du må også bekrefte at innebyggingsmodeller, bildegjenkjenning, omrangering og andre tilknyttede tjenester kjøres lokalt. Hvis noen er avhengige av et eksternt API, kan noe informasjon forlate infrastrukturen din.
Plattformen tillater bruk av omrangeringsmodeller for å endre rekkefølgen på hentede fragmenter før de sendes til LLM. Dette kan forbedre relevansen av svar i visse samlinger, selv om resultatet vil avhenge av dokumentene, den valgte modellen og søkeinnstillingene.
RAGFlow lar deg transformere en samling dokumenter til en søkbar kunnskapsbase ved hjelp av kunstig intelligens. Verktøyene for analyse, fragmentering, gjenfinning og sporbarhet hjelper deg med å få bedre informerte svar, mens lokal distribusjon gir større kontroll over infrastrukturen og databehandlingen.
Jeg er en teknologientusiast som har gjort sine "geek"-interesser til et yrke. Jeg har brukt mer enn 10 år av livet mitt på å bruke banebrytende teknologi og fikse med alle slags programmer av ren nysgjerrighet. Nå har jeg spesialisert meg på datateknologi og videospill. Dette er fordi jeg i mer enn 5 år har skrevet for forskjellige nettsteder om teknologi og videospill, og laget artikler som prøver å gi deg den informasjonen du trenger på et språk som er forståelig for alle.
Hvis du har spørsmål, spenner min kunnskap fra alt relatert til Windows-operativsystemet samt Android for mobiltelefoner. Og mitt engasjement er til deg, jeg er alltid villig til å bruke noen minutter og hjelpe deg med å løse eventuelle spørsmål du måtte ha i denne internettverdenen.