Indicizzazione dei repository di codice e della documentazione
È possibile utilizzare Jupyter Notebook per indicizzare i repository di codice e la documentazione per la generazione aumentata di recupero (RAG).
Prima di iniziare
Prima di indicizzare i tuoi repository, assicurati di soddisfare i seguenti requisiti:
- Hai installato Jupyter Notebook e verificato che la tua OpenSearch istanza sia accessibile.
- Hai installato Jupyter NotebookPython3.11.
- Hai una chiave API per accedere watsonx Code Assistant e generare spiegazioni per le funzioni nel tuo codice. Le spiegazioni sono indicizzate con il codice per ottenere risultati di ricerca migliori. Per ulteriori informazioni, consulta Generazione di chiavi API per l'autenticazione.
- Hai abilitato RAG sulla tua IBM® Software Hub istanza. Per ulteriori informazioni, consulta Configurazione della generazione aumentata dal recupero (RAG).
Informazioni su questa attività
Un'indicizzazione efficace è essenziale per ottimizzare le prestazioni watsonx Code Assistant quando si utilizza RAG. Quando si indicizzano repository o documenti, tenere presenti le seguenti best practice:
- Requisiti di archiviazione
- Assicurarsi che lo spazio di archiviazione sul disco sia almeno il doppio della dimensione del contenuto che si sta indicizzando.
- Repository di codice
- Individua i repository di codice quando hai bisogno di riutilizzare codice esistente per generare nuovo codice, individuare implementazioni di funzioni specifiche o rispondere a domande relative al codice base. Includere i progetti di codice principali e le loro dipendenze, come le implementazioni API.
- Archivi di documentazione
- Indicizza gli archivi di documentazione come la documentazione di prodotti o progetti, le guide tecniche e i documenti di progettazione quando devi watsonx Code Assistant rispondere a domande basate su tali documenti.
- Indicizzazione selettiva
- Non indicizzare repository di codice o documenti utilizzati raramente. Ciò riduce l'utilizzo dello spazio di archiviazione e minimizza il tempo necessario per la creazione e la manutenzione degli indici.
- Struttura dell'indice per il codice
- Utilizza un indice per ogni repository di codice per limitare la ricerca contestuale a repository specifici. Ciò migliora la precisione della ricerca e impedisce accessi non autorizzati.
- Struttura dell'indice per la documentazione
- È possibile combinare più archivi di documentazione in un unico indice se si effettuano ricerche comuni su tutti i documenti. Creare indici separati se vi è una significativa sovrapposizione di parole chiave tra i repository o se diversi team o utenti devono cercare repository di documentazione specifici.
- Considerazioni sulla sicurezza
- Non unire codice proveniente da repository diversi nello stesso indice. Il codice unificato riduce l'accuratezza della generazione delle risposte e può portare ad accessi non autorizzati se le restrizioni di accesso non sono implementate correttamente.
- Assicurati di gestire correttamente la sicurezza e l'autorizzazione durante il processo di indicizzazione. Per diversi scenari di utilizzo, consultare Scenari di utilizzo per RAG.
- Ottieni tutte le approvazioni organizzative necessarie prima di indicizzare contenuti riservati o sensibili. Il codice sorgente e i documenti utilizzati per RAG vengono salvati come testo semplice e in formato vettorializzato in un archivio vettoriale esterno al GitHub repository.
Procedura
Risultati
I tuoi repository di codice e la tua documentazione sono indicizzati nel OpenSearch vector store e sono pronti per essere utilizzati per RAG.
Cosa fare successivamente
Dopo aver indicizzato i repository, crea risorse di connessione per consentire watsonx Code Assistant l'accesso al contenuto indicizzato. Per ulteriori informazioni, vedere Configurazione delle risorse di connessione.