Motorul de context al Windsurf construiește o înțelegere profundă a codebase-ului tău, a acțiunilor anterioare și a intențiilor următoare. În trecut, abordările de generare de cod s-au concentrat pe fine-tuning-ul modelelor de limbaj de mari dimensiuni (LLM) pe un codebase, ceea ce este dificil de scalat pentru nevoile fiecărui utilizator în parte. O abordare mai recentă și mai populară valorifică retrieval-augmented generation (RAG), care se concentrează pe tehnici de construire a unor prompturi extrem de relevante și bogate în context pentru a obține răspunsuri precise de la un LLM. Am implementat o abordare RAG optimizată pentru contextul codebase-ului, care oferă sugestii de calitate superioară și reduce halucinațiile.Documentation Index
Fetch the complete documentation index at: https://docs.windsurf.com/llms.txt
Use this file to discover all available pages before exploring further.
Windsurf oferă fine-tuning complet pentru Enterprise, iar cea mai bună soluție
îmbină fine-tuning-ul cu RAG.
Context implicit
- Fișierul curent și alte fișiere deschise în IDE-ul tău, care sunt adesea foarte relevante pentru codul pe care îl scrii în prezent.
- Întregul cod local este apoi indexat (inclusiv fișierele care nu sunt deschise), iar fragmentele de cod relevante sunt preluate de motorul de regăsire al Windsurf pe măsură ce scrii cod, pui întrebări sau execuți comenzi.
- Pentru utilizatorii Pro, oferim lungimi de context extinse, limite de indexare mai mari și limite superioare pentru context personalizat și elemente de context fixate.
- Pentru utilizatorii Teams și Enterprise, Windsurf poate, de asemenea, să indexeze depozite la distanță. Acest lucru este util pentru companiile ale căror echipe de dezvoltare lucrează în mai multe depozite.
Bază de cunoștințe (Beta)
Disponibilă doar pentru clienții Teams și Enterprise.
Bază de cunoștințe
Configurează setările bazei de cunoștințe pentru echipa ta. Această pagină va fi vizibilă doar cu privilegii de administrator.
Cele mai bune practici
- Definiții de module: fixează fișierele cu definiții de clase/structuri care sunt în repo-ul tău, dar într-un modul separat de fișierul activ.
- Framework-uri/Biblioteci interne: fixează directoare cu exemple de cod pentru utilizarea framework-urilor/bibliotecilor.
- Sarcini specifice: fixează un fișier sau un folder care definește o anumită interfață (de exemplu, fișiere
.proto, fișiere de clasă abstractă, șabloane de configurare). - Zona de interes curentă: fixează directorul „cu cel mai mic numitor comun” care conține majoritatea fișierelor necesare pentru sesiunea ta curentă de lucru/codare.
- Testare: fixează un fișier anume care conține clasa pentru care scrii teste unitare.