Introduceți un strat RAG în proiectul meu și experiența mea cu cursorul Târgu Mureș; dr a mea pentru proiectul LangChain-MySQL a arătat modul în care un agent LangChain în mai multe etape vă permite să puneți întrebări în limbaj natural prin intermediul MySQL. Comenzi grele și apeluri repetate LLM, totuși, au făcut sistemul lent și predispus la erorile OpenAI „429 prea multe solicitări”. first Articolul Prima Articolul What’s new in Part 2: încărcă doar bucățile de schemă de care aveți nevoie - coloane, chei, indici - astfel încât prompts se micșorează și latența scade. Persistent FAISS vector store - teste de unitate, integrare și mock-DB conectate la CI - captează cazurile de schema-drift și de recuperare a marginii înainte de a ajunge la producție. Comprehensive test suite Se adaugă relații de cheie străină la vectorul DB, care îmbunătățește reprezentarea schemei și reduce utilizarea token-urilor. LLM rate‑limit resolution — Înainte de a ne scufunda în, aici sunt cele două show-stopper-uri din partea 1: Problem 1 — LLM Lost in Table Relationships LLM nu știe cum se conectează tabelele - în cele din urmă scrieți fiecare cale de aderare cu mâna în fiecare prompt. Problem 2 — Schema Bulk Breaks Rate Limits Dumping întreaga schemă de bază de date în prompt-ul dvs. mănâncă token-uri și aproape întotdeauna trips 429 de erori OpenAI înainte de a obține chiar un răspuns. Cercetare și soluționare: What is a Vector Database? a este un magazin de date specializat conceput pentru a ține și a solicita (regiuni de numere) în loc de rânduri și coloane tradiționale. vector database vector representations Integrating the Vector Database Toate metadatele de schemă ale bazei de date - DDL, relațiile PK/FK, informațiile index, comentariile - sunt trasate în documente bogate, apoi încorporate și persistă în FAISS pentru căutarea semantică rapidă. Why FAISS? LLM a sugerat FAISS. în plus De asemenea, pot folosi sau Fiecare suportă stocarea încorporată și recuperarea rapidă și poate îndeplini cerințele acestui proiect. Faisă Crăciun, Târgoviște Vărsător (Facebook AI Similarity Search) este o bibliotecă open-source dezvoltată de grupul de cercetare Fundamental AI al Meta pentru căutarea eficientă a asemănărilor și gruparea vectorilor densi. Faisă What I Store: More Than Just a Table Blueprint? În mod esențial, nu stocez doar detaliile de schemă de bază, cum ar fi numele tabelelor și ale coloanelor, în această bază de date vectorială. What is RAG? Retrieval-Augmented Generation (RAG) este modelul de: recuperarea celor mai relevante embeddings din vectorul DB, Creșterea promptului LLM cu acest context recuperat, Generarea răspunsului final. Cu alte cuvinte, RAG se bazează pe un vector DB pentru a obține doar bitele potrivite de cunoștințe înainte de a apela LLM. Why They Matter to LLM-Powered Apps? Un vector DB + RAG vă permite să vă păstrați "baza de cunoștințe" în afara promptului și să trageți doar ceea ce este necesar. Gândiți-vă la LLM ca la un student care își poate aminti doar câteva pagini la un moment dat. vectorul DB este catalogul bibliotecii, iar RAG este fluxul de lucru de colectare a paginilor exacte necesare înainte ca studentul să-și scrie eseul. How Vector DB Helps with LLM API Rate Limit? O bază de date vectorială stochează schema dvs. ca încorporări – fiecare tabel, coloană sau relație devine o bucată căutată. Când un utilizator pune o întrebare (cum ar fi „Câți pacienți au vizitat săptămâna trecută?”), sistemul transformă această întrebare într-o încorporare și efectuează o căutare de asemănare. Aşa cum , şi . top-k most relevant tables patients visits appointments Acest context concentrat este apoi trecut la LLM, păstrând invitațiile mici, oferind în același timp informațiile de care are nevoie pentru a genera SQL precis. Retrieval-Augmented Generation Flow (Steps 4 & 5) for the Project După implementarea conștientizării cheii străine în baza mea de date vectoriale, cele 2 probleme (menționate mai devreme) sunt rezolvate în mod corespunzător. Link de pe GitHub: click here Aici Demos Încărc un eșantion de bază de date - Într-un mediu de testare Sakilă sakila Sakilă Sakilă Fiecare răspuns conține 3 părți Răspunde Query Caută rezultate Explicaţie să să să In the Second Half of This Article, How Do I Steer My AI Coder(s)? În a doua jumătate a acestui articol, cum îmi controlez coderul (coderele) AI? Am condus proiectul prin stabilirea obiectivelor și punerea de întrebări, LLM a gestionat ridicarea grea. a evidențiat problemele, a propus soluții și a explicat compromisurile, în timp ce am luat deciziile finale pe care calea de a urma. Câteva sfaturi pentru șoferi: Stabiliți obiective și priorități clare, apoi lăsați LLM să se ocupe de detaliile de implementare. First, Think Like a Leader: Rulați testele, cereți LLM să debugheze orice eșecuri și veți găsi adesea sugerând proiecte mai curate la jumătatea cursului. Solid tests are your safety net — but with the LLM acting as your pair programmer, you get instant feedback. La fel ca un manager uman, micromanagementul dăunează eficienței echipei. Specificați ce trebuie să se întâmple, dar aveți încredere în LLM pentru a decide cum. Constrângerile excesive pot duce la designuri ciudate sau bug-uri ascunse. În plus, vă trage în detaliile de implementare și vă epuizează. Desigur, atunci când intrați în această situație, ar fi mai bine să scrieți codul manual. Avoid Micromanagement: — În cazul în care LLM rulează sau alunecă de pe pistă, un impuls rapid sau o clarificare este tot ceea ce este necesar pentru a reveni la curs. Nu este neobișnuit ca un LLM să-și petreacă 20 de minute încercând să rezolve un test fără succes. Intervene When Needed Nu uitați - fiecare cerere LLM costă bani. Fiți conștienți de acest lucru atunci când LLM este în modul de auto-interogare. Linkedinul meu Aici Aici