Populære emner
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
En enkel teknikk gjør RAG ~32x minne effektivt!
- Perplexity bruker det i søkeindeksen
- Azure bruker det i søkesamlebåndet
- HubSpot bruker den i sin AI-assistent
La oss forstå hvordan du bruker det i RAG-systemer (med kode):
La oss i dag bygge et RAG-system som spør etter 36M+ vektorer i <30ms ved hjelp av binær kvantisering.
Teknisk stabel:
- @llama_index for orkestrering
- @milvusio som vektoren DB
- @beam_cloud for serverløs distribusjon
- @Kimi_Moonshot Kimi-K2 som LLM arrangert på Groq
La oss bygge det!
Her er arbeidsflyten:
- Ta inn dokumenter og generer binære innebygginger.
- Opprett en binær vektorindeks og lagre innebygginger i vektordatabasen.
- Hent top-k lignende dokumenter som brukerens spørring.
- LLM genererer et svar basert på ytterligere kontekst.
La oss implementere dette!
0️⃣ Sett opp Groq
Før vi begynner, lagre Groq API-nøkkelen din i en .env-fil og last den inn i miljøet ditt for å utnytte verdens raskeste AI-slutning.
Sjekk dette 👇

1️⃣ Last inn data
Vi inntar dokumentene våre ved hjelp av LlamaIndex sitt katalogleserverktøy.
Den kan lese ulike dataformater, inkludert Markdown, PDF-er, Word-dokumenter, PowerPoint-kortstokker, bilder, lyd og video.
Sjekk dette 👇

2️⃣ Generer binære innebygginger
Deretter genererer vi tekstinnebygginger (i float32) og konverterer dem til binære vektorer, noe som resulterer i en 32x reduksjon i minne og lagring.
Dette kalles binær kvantisering.
Sjekk denne implementeringen 👇

3️⃣ Indeksering av vektorer
Etter at vår binære kvantisering er ferdig, lagrer og indekserer vi vektorene i en Milvus-vektordatabase for effektiv gjenfinning.
Indekser er spesialiserte datastrukturer som bidrar til å optimalisere ytelsen til datahentingsoperasjoner.
Sjekk dette 👇

4️⃣ Henting
I gjenfinningsfasen gjør vi:
- Bygg inn brukerspørringen og bruk binær kvantisering på den.
- Bruk Hamming-avstand som søkeberegning for å sammenligne binære vektorer.
- Hent de 5 mest like bitene.
- Legg til de hentede bitene i konteksten.
Sjekk dette👇

5️⃣ Generasjon
Til slutt bygger vi en generasjonspipeline ved hjelp av Kimi-K2-instruksjonsmodellen, servert på den raskeste AI-konklusjonen av Groq.
Vi angir både spørringen og den hentede konteksten i en ledetekstmal og sender den til LLM.
Sjekk dette 👇

6️⃣ Distribusjon med Beam
Beam muliggjør ultrarask serverløs distribusjon av enhver AI-arbeidsflyt.
Dermed pakker vi appen vår inn i et Streamlit-grensesnitt, spesifiserer Python-bibliotekene og dataspesifikasjonene for beholderen.
Til slutt distribuerer vi appen i noen få linjer med kode👇

7️⃣ Kjør appen
Beam lanserer beholderen og distribuerer vår strømlinjeformede app som en HTTPS-server som lett kan nås fra en nettleser.
Sjekk denne demoen 👇
For å virkelig vurdere skalaen og slutningshastigheten, tester vi det distribuerte oppsettet over PubMed-datasettet (36M+ vektorer).
Appen vår:
- forespurte 36M+ vektorer i <30ms.
- genererte et svar i <1-er.
Sjekk denne demoen👇
Gjort!
Vi har nettopp bygget den raskeste RAG-stabelen som utnytter BQ for effektiv gjenfinning og
ved hjelp av ultrarask serverløs distribusjon av arbeidsflyten vår for kunstig intelligens.
Her er arbeidsflyten igjen for referanse 👇
Det er en innpakning!
Hvis du syntes det var innsiktsfullt, kan du dele det på nytt med nettverket ditt.
Finn meg → @_avichawla
Hver dag deler jeg opplæringsprogrammer og innsikt om DS, ML, LLM-er og RAG-er.

4. aug., 14:33
En enkel teknikk gjør RAG ~32x minne effektivt!
- Perplexity bruker det i søkeindeksen
- Azure bruker det i søkesamlebåndet
- HubSpot bruker den i sin AI-assistent
La oss forstå hvordan du bruker det i RAG-systemer (med kode):
695,77K
Topp
Rangering
Favoritter