Indsæt et RAG-lag i Mit projekt og Min oplevelse med Cursor Læge; DR Min LangChain-MySQL-projektet viste, hvordan en LangChain-agent i flere faser giver dig mulighed for at stille spørgsmål på naturligt sprog via MySQL. Tunge opfordringer og gentagne LLM-opkald gjorde imidlertid systemet langsomt og tilbøjeligt til OpenAI "429 Too Many Requests" -fejl. Først Artikler Først Artikler What’s new in Part 2: indlæser kun de mønstre, du har brug for - kolonner, taster, indekser - så opfordringerne krymper og forsinkelsen falder. Persistent FAISS vector store - enhed, integration og mock-DB tests trådt ind i CI - fanger skema-drift og retrieval edge tilfælde, før de rammer produktionen. Comprehensive test suite Tilføjede udenlandske nøglerelationer til vektor DB, hvilket forbedrer skema repræsentation og reducerer token brug. LLM rate‑limit resolution — Før vi dykker ind, her er de to show-stopper fra del 1: Problem 1 — LLM Lost in Table Relationships LLM ved ikke, hvordan dine tabeller forbinder - du ender med at skrive ud hver tilslutningsvej i hånden i hver indkaldelse. Problem 2 — Schema Bulk Breaks Rate Limits Dumping den fulde database skema i din prompt spiser op tokens og næsten altid trives OpenAI 429 fejl, før du selv får et svar. Forskning og løsning: What is a Vector Database? A er er en specialiseret datalagring designet til at holde og forespørge (Rækker af tal) i stedet for traditionelle rækker og kolonner. vector database vector representations Integrating the Vector Database Alle databasens skema metadata - DDL, PK/FK relationer, indeks info, kommentarer - bliver trukket ind i rige dokumenter, derefter indlejret og vedvarende i FAISS til lynhurtig semantisk søgning. Why FAISS? LLM foreslået FAISS. desuden Jeg kan også bruge eller - hver understøtter indlejring lagring og hurtig indhentning og kan opfylde kravene i dette projekt. FAISS Chroma, Køge Tørklæde (Facebook AI Similarity Search) er et open-source-bibliotek udviklet af Meta's Fundamental AI Research-gruppe til effektivt lighedssøgning og gruppering af tætte vektorer. FAISS What I Store: More Than Just a Table Blueprint? Jeg gemmer ikke kun grundlæggende skemaoplysninger som tabeller og kolonnenavne i denne vektordatabase, jeg indsamler og gemmer også oplysninger om de udenlandske nøglerelationer, der definerer, hvordan disse tabeller forbinder. What is RAG? Retrieval-Augmented Generation (RAG) er et mønster af: Hent de mest relevante indlejringer fra vektoren DB, Forøgelse af LLM's prompt med den hentede kontekst, Generering af det endelige svar. Med andre ord, RAG afhænger af en vektor DB til at hente bare de rigtige bits af viden, før du kalder LLM. Why They Matter to LLM-Powered Apps? En vektor DB + RAG giver dig mulighed for at holde din "knowledge base" uden for prompt og trække kun det, der er nødvendigt. Tænk på LLM som en studerende, der kun kan huske et par sider ad gangen. vektor DB er bibliotekets katalog, og RAG er arbejdsprocessen med at hente de nøjagtige sider, der kræves, før den studerende skriver deres essay. How Vector DB Helps with LLM API Rate Limit? En vektordatabase gemmer dit diagram som indlejringer – hver tabel, kolonne eller relation bliver en søgbart del. Når en bruger stiller et spørgsmål (såsom "Hvor mange patienter besøgte i sidste uge?"), omdanner systemet spørgsmålet til en indlejring og udfører en lighedssøgning. Sådan som , der og . top-k most relevant tables patients visits appointments Denne fokuserede kontekst overføres derefter til LLM, og opfordringerne holdes små, mens de stadig giver de oplysninger, der er nødvendige for at generere nøjagtig SQL. Retrieval-Augmented Generation Flow (Steps 4 & 5) for the Project Efter implementering af fremmed nøgle bevidsthed i min vektor database, de 2 problemer (angivet tidligere) er ordentligt løst. Github link til: click Her er Her er Demonstration Jeg indlæser en prøvedatabase - Ind i testmiljøet Sakilæ sakila Sakilæ Sakilæ Hvert svar indeholder 3 dele Søger efter Query Resultater forklaring af af af In the Second Half of This Article, How Do I Steer My AI Coder(s)? I anden halvdel af denne artikel, hvordan styrer jeg min AI-coder(er)? Jeg drev projektet ved at sætte mål og stille spørgsmål, LLM håndterede den tunge løftning. Det fremhævede problemer, foreslog løsninger og forklarede kompromisser, mens jeg tog de endelige beslutninger om hvilken vej at følge. Et par gode råd til chaufførerne: Sæt klare mål og prioriteter, så lad LLM håndtere implementeringsdetaljerne. First, Think Like a Leader: Kør testene, bed LLM om at debugge eventuelle fejl, og du vil ofte finde det foreslår renere designs midt i løbet. Solid tests are your safety net — but with the LLM acting as your pair programmer, you get instant feedback. Ligesom en menneskelig leder skader micromanagement teamets effektivitet. Angiv, hvad der skal ske, men stol på LLM til at beslutte, hvordan. Over-begrænsende opfordringer kan føre til mærkelige designs eller skjulte bugs. Desuden trækker det dig ind i implementeringsdetaljer og udmattede dig. Naturligvis, når du kommer ind i denne situation, ville det føles bedre at skrive kode med hånden. Avoid Micromanagement: - Hvis LLM loops eller drifts off track, en hurtig skubbe eller afklaring er alt det tager at komme tilbage på kurset. Det er ikke ualmindeligt for en LLM til at bruge 20 minutter forsøger at løse en test uden succes. Intervene When Needed Glem ikke - hver LLM anmodning koster penge. Vær opmærksom på dette, når LLM er i selvforespørgsel mode. Mit LinkedIn Her er Her er