Una raccolta di documenti può contenere conoscenze preziose, ma può essere difficile da utilizzare. Trovare una risposta potrebbe richiedere l'apertura di diversi file, la ricerca di termini correlati e la riconciliazione di diverse versioni. Abbiamo costruito una base di conoscenza documentale per rendere quel contenuto ricercabile e riutilizzabile attraverso domande in linguaggio naturale, bozze generate e confronti di documenti.
La base di conoscenza documentale combina Oracle APEX, PL/SQL, Oracle AI Database per lo storage vettoriale e l'inferenza AI. Il suo flusso di lavoro principale è indipendente dall'argomento: organizzare una raccolta di documenti, recuperare passaggi rilevanti e utilizzarli per rispondere a domande o creare nuovi contenuti. Articoli di supporto, guide per sviluppatori, runbook operativi e documentazione di prodotto sono tutti esempi di raccolte adatte a questo schema.
Punti chiave
Ecco i punti chiave del progetto:
- Integrare documenti DOCX in file memorizzati, metadata, frammenti di testo ed embedding.
- Utilizzare Oracle AI Vector Search e RAG per recuperare prove per ogni domanda.
- Chiedere risposte basate su fonti con nomi di file e intestazioni per supportare la revisione.
- Generare contenuti modificabili da passaggi recuperati e modelli di prompt.
- Confrontare documenti selezionati all'interno di un contesto delimitato; verificare la copertura prima di interpretare le omissioni.
Revisionare i risultati generati: tabelle, lunghi passaggi, embedding mancanti o recupero limitato possono escludere prove. Verificare risposte, bozze e confronti rispetto agli originali.
Ambito di implementazione
La base di conoscenza documentale è un semplice progetto interno, non una distribuzione in produzione. Dimostra un flusso di lavoro riutilizzabile per trovare risposte, redigere contenuti e confrontare documenti. La raccolta fornisce l'argomento: guide di supporto, documentazione per sviluppatori, procedure operative, materiali di onboarding o conoscenze di prodotto. Questi esempi più ampi illustrano come lo schema può essere adattato; ognuno richiede documenti, prompt e verifiche di copertura adatti.
L'attuale caricatore aggiunge file DOCX e metadata. Le visualizzazioni di amministrazione mostrano la copertura dei documenti, lo stato di ingestione e gli embedding mancanti.
Cosa possono fare gli utenti
La base di conoscenza documentale organizza il lavoro intorno a tre capacità:
- Fare una domanda. La ricerca semantica recupera passaggi rilevanti e genera una risposta con riferimenti alle fonti. Per una raccolta di supporto, una domanda potrebbe essere “Come faccio a risolvere i problemi di timeout di connessione?”
- Creare una bozza. I contenuti recuperati e le istruzioni del modello guidano un output come un riassunto, un articolo di conoscenza o una bozza di risposta. La raccolta di documenti e il prompt determinano l'argomento e il formato.
- Confrontare documenti. Un documento selezionato e una linea di base forniscono le prove per un confronto strutturato. In una raccolta di documentazione, il compito potrebbe essere quello di riassumere le modifiche tra due versioni.
Casi d'uso per una base di conoscenza documentale
La raccolta e il compito danno alla base di conoscenza il suo scopo. Questi esempi illustrano applicazioni della stessa architettura; ognuno richiede contenuti sorgente e prompt adatti.
Come funziona l'architettura
Oracle APEX fornisce l'interfaccia del browser, i moduli e i report. I pacchetti PL/SQL estraggono il testo, recuperano i passaggi, assemblano i prompt e chiamano il servizio AI. Oracle AI Database fornisce storage vettoriale nativo e AI Vector Search insieme ai dati relazionali. In questa implementazione, lo schema memorizza i BLOB DOCX originali, i nomi dei file, le date, gli hash, lo stato di elaborazione, il testo estratto, i frammenti ordinati e gli embedding. Memorizza anche le domande di ricerca e i vettori di query, le risposte generate, i modelli di prompt riutilizzabili e i prompt e gli output assemblati per i report e i confronti generati. Il pacchetto di risposta memorizza il testo della risposta, ma non memorizza il prompt assemblato.
Mantenere questi record in Oracle AI Database consente a SQL di unire direttamente prove e metadata, applicare filtri di categoria e recuperare prompt e output di generazione salvati senza sincronizzare un archivio vettoriale separato. Questo rende il flusso di lavoro più facile da ispezionare e mantenere; non garantisce però di per sé un'estrazione completa o risposte accurate.
L'applicazione ha due flussi principali:
- Documento → Estrazione del testo → Suddivisione in frammenti → Creazione di embedding → Memorizzazione
- Domanda → Creazione di embedding → Trovare frammenti rilevanti → Generare risposta
Questo è il retrieval augmented generation, o RAG. Il modello riceve passaggi sorgente selezionati con ogni richiesta; non lo addestriamo sui documenti caricati. Mantenere i vettori insieme ai dati relazionali consente a SQL di combinare il ranking semantico con filtri di metadata e selezione esplicita di documenti.
Il nostro wrapper AI è configurato per i punti finali OCI Generative AI utilizzando formati di embedding e richiesta di chat compatibili con OpenAI. Gli URL dei punti finali e gli identificatori del modello sono valori di configurazione. I segreti API appartengono alle Web Credentials di APEX e sono riferiti dalla chiamata REST, tenendoli fuori dal codice dell'applicazione. I punti finali predefiniti e i placeholder del modello sono valori di configurazione, non prove che quelle combinazioni siano attualmente supportate. Confermare sia l'accesso all'embedding che alla chat nel target environment utilizzando la documentazione del servizio.
Prerequisiti e configurazione
Ecco i prerequisiti e i passaggi di configurazione:
- Supporto Oracle APEX e database. Utilizzare uno spazio di lavoro APEX e uno schema di parsing su un ambiente Oracle Database che supporti `VECTOR`, `TOVECTOR` e `VECTORDISTANCE`. Verificare le versioni installate di APEX e database; la fonte non stabilisce una versione minima testata di APEX. I pacchetti personalizzati utilizzano `APEXZIP`, `APEXJSON` e `APEXWEBSERVICE`.
- Accesso a OCI Generative AI. Configurare punti finali HTTPS di embedding e chat raggiungibili, ID di modello autorizzati, disponibilità regionale e i permessi di servizio richiesti. Impostare `EMBEDDINGSURL`, `EMBEDDINGMODEL`, `CHATURL` e `CHATMODEL`. Testare entrambe le chiamate; un punto finale di chat compatibile con OpenAI non implica automaticamente supporto per l'embedding compatibile. Le colonne vettoriali e la conversione attuali si aspettano 1.536 dimensioni, quindi controllare il diagnostico delle dimensioni di embedding prima dell'ingestione.
- APEX Web Credentials. Per la configurazione del token di portatore del progetto, creare una credenziale HTTP Header con intestazione `Authorization` e valore segreto `Bearer
`, limitata con Valida per URL ai prefissi di servizio previsti. Impostare `WEBCREDENTIALSTATIC_ID` su quell'ID Static della credenziale. Le istruzioni di build del progetto successive utilizzano `credentials-for-standards-ai`, mentre la sorgente originale utilizza `openai-api-key`; abbinare la credenziale attiva dello spazio di lavoro invece di copiare una delle due in modo cieco. Configurare l'accesso alla rete in uscita come richiesto dall'ambiente del database. - Schema, pagine e un piccolo DOCX di prova. Installare lo schema e i pacchetti di ingestione, AI, ricerca, risposta, modello, report e confronto, verificare la compilazione e collegare i processi delle pagine APEX. Iniziare con un DOCX rappresentativo e ispezionare il testo estratto, i frammenti e gli embedding prima di testare le risposte. La sorgente fornita non è una distribuzione APEX completa e verificata one-click. L'attuale caricatore è solo per DOCX; PDF, HTML, Markdown e immagini necessitano di parser aggiuntivi.
Consultare la [guida Oracle alle Web Credentials](https://docs.oracle.com/en/database/oracle/apex/26.1/htmdb/understanding-web-credentials.html) e la [documentazione OCI Generative AI API key e endpoint](https://docs.oracle.com/en-us/iaas/Content/generative-ai/api-keys.htm) per l'autenticazione e la configurazione del servizio supportati.
