Indicizzazione dei repository di codice con IBM watsonx.ai Studio

watsonx Code Assistant Piano standard

È possibile utilizzare IBM watsonx.ai Studio per indicizzare i repository di codice e consentire la generazione aumentata del reperimento (RAG).

Prima di iniziare

  • Eseguire il provisioning di un'istanza del DB Milvus o Elasticsearch su IBM Cloud prima di eseguire il notebook.
  • Predisporre un'istanza di watsonx.ai Studio per eseguire il notebook. Per creare un'istanza di watsonx.ai Studio, vedere Catalogo di watsonx.ai Studio.
  • Assicuratevi di avere una chiave API per accedere a watsonx Code Assistant e generare spiegazioni per le funzioni nel vostro codice. Le spiegazioni sono indicizzate insieme al codice per ottenere migliori risultati di ricerca. Per ulteriori informazioni, vedere Creazione di una chiave API IBM Cloud.

Pianificazione dell'indice

Un'indicizzazione efficace è essenziale per ottimizzare le prestazioni di watsonx Code Assistant quando si utilizza RAG. Quando si indicizza il repository o i documenti, si considerano i seguenti fattori:

  • Assicurarsi che lo spazio di archiviazione nel disco sia doppio rispetto al contenuto da indicizzare.

  • Indicizzare i repository di codice quando si riutilizza il codice esistente per generarne di nuovo, individuare le implementazioni di funzioni specifiche, rispondere a domande di tipo "how-to" relative alla base di codice. È possibile includere i progetti del codice principale e le loro dipendenze, come l'implementazione delle API.

  • Indicizzare gli archivi di documentazione, come la documentazione di prodotto o di progetto, le guide tecniche e i documenti di progettazione, se è necessario che watsonx Code Assistant risponda alle query basate su questi documenti.

  • Non indicizzare i repository di codice o i documenti usati raramente per ridurre l'uso dello storage e minimizzare il tempo necessario per la creazione e la manutenzione dell'indice.

  • Utilizzare un indice per ogni repository, soprattutto per il codice sorgente, per limitare la ricerca contestuale a repository specifici.

  • Combinare più archivi di documentazione in un unico indice, se si effettua comunemente una ricerca su tutti i documenti. È possibile creare indici separati se vi è una significativa sovrapposizione di parole chiave tra i repository e se diversi team o utenti devono cercare il contesto nei repository della documentazione specifica.

  • Non unire codice proveniente da repository diversi nello stesso indice. Il codice unito riduce l'accuratezza della generazione della risposta per il prompt e porta all'accesso non autorizzato del codice se la restrizione di accesso per gli utenti non è implementata correttamente.

  • Assicurarsi di gestire correttamente la sicurezza e l'autorizzazione durante il processo di indicizzazione. Per i diversi scenari di utilizzo, vedere Scenari dei casi d'uso.

  • Assicuratevi che siano state ottenute tutte le necessarie approvazioni organizzative prima di indicizzare i contenuti riservati o sensibili. Il codice sorgente e i documenti utilizzati per RAG vengono salvati in formato testo normale e vettoriale in un archivio vettoriale al di fuori del repository GitHub.

Indicizzazione dei repository di codice

  1. Accedere a questo progetto: Creare archivi vettoriali RAG per watsonx Code Assistant.

  2. Fai clic su Create project.

  3. Selezionare un'istanza Cloud Object Storage nel campo Storage. Se l'istanza Cloud Object Storage non è disponibile nell'elenco a discesa, crearla.

  4. Fai clic su Crea.

  5. Andare alla scheda Asset del progetto e fare clic su Populate vector store notebook.

  6. Seguire le istruzioni del quaderno Populate vector store per indicizzare il codice o il documento.