Confronto versione API
Per la maggior parte dei metodi API, i parametri di richiesta e il corpo della risposta differiscono tra v1 e v2. Scopri i metodi v2 equivalenti o alternativi che puoi utilizzare per eseguire azioni supportate dall'API v1.
Le informazioni di confronto presumono che stai utilizzando l'ultima versione dell'API v1 (versione 2019-04-30) e la confronta con la versione più recente dell'API v2 (versione 2020-08-30).
Ambienti
Non esiste alcun concetto di un ambiente ** in v2. I dettagli di distribuzione come la dimensione e la capacità dell'indice sono gestiti in base al tipo di piano di servizio. In v2, le raccolte vengono organizzate in progetti. È possibile creare diversi tipi di progetti per applicare le impostazioni di configurazione predefinite alle raccolte che si aggiungono ai progetti.
Non esistono metodi equivalenti in v2 per i metodi di ambiente v1. Tuttavia, la seguente tabella mostra i metodi v2 che servono funzioni simili ai metodi v1 corrispondenti. Anche i parametri supportati e i corpi di risposta restituiti per ciascun metodo differiscono.
| Azione | API v1 | API v2 correlate |
|---|---|---|
| Crea un ambiente | POST /v1/environments |
POST /v2/projects |
| Elencare gli ambienti | GET /v1/environments |
GET /v2/projects |
| Ottieni informazioni sull'ambiente | GET /v1/environments/{environment_id} |
GET /v2/projects/{project_id} |
| Aggiorna un ambiente | PUT /v1/environments/{environment_id} |
POST /v2/projects/{project_id}v2 utilizza POST anziché PUT. |
| Elimina un ambiente | DELETE /v1/environment/{environment_id} |
DELETE /v2/projects/{project_id} |
| Elenca campi tra le raccolte | GET /v1/environments/{environment_id}/fields |
GET /v2/projects/{project_id}/fields |
Configurazioni
L'API v2 non dispone di un endpoint dedicato alle configurazioni. Invece, le impostazioni di configurazione per progetti, raccolte e query vengono specificate direttamente nell'API per tali oggetti. Non tutti i parametri di configurazione disponibili in v1 sono disponibili o applicabili in v2.
Nell'API di configurazione v1, l'oggetto JSON utilizzato per specificare un oggetto di configurazione contiene diversi parametri disponibili in formati diversi da altri endpoint v2 o non disponibili in v2. La seguente tabella descrive come trovare i parametri correlati in v2.
Non puoi modificare la conversione dei documenti durante il processo di inserimento in v2 come in v1.
| parametro di configurazione v1 | API v2 |
|---|---|
"conversions.html": { ... } |
Non disponibile |
"conversions.image_text_recognition": { ... } |
Non disponibile dall'API. Tuttavia, è possibile abilitare OCR (optical character recognition) per una raccolta dall'interfaccia utente del prodotto per estrarre il testo dalle immagini. Anche l'OCR ha altri vantaggi. Ad esempio, se una pagina in un documento non può essere elaborata, OCR converte la pagina in un'immagine e la scansiona per assicurarsi che il documento sia caricato correttamente. |
"conversions.json_normalizations": { ... } |
Spostato nell'API Collections. |
"conversions.pdf": { ... } |
Non disponibile. Se sono stati utilizzati parametri speciali per estrarre il testo dalle immagini nei PDF, abilitare OCR (optical character recognition) dall'interfaccia utente del prodotto per la raccolta che contiene invece i PDF. |
"conversions.segment": { ... } |
Non disponibile in modo programmatico. È possibile suddividere un documento ad ogni ricorrenza di un campo generato da SDU, ad esempio subtitle dall'interfaccia utente del prodotto. L'oggetto segment_metadata con informazioni parent_id, id e total_segments non è disponibile in v2. È possibile utilizzare il campo metadata.parent_document_id per trovare il parent comune per molti segmenti
di documenti. |
"conversions.word": { ... } |
Non disponibile |
"enrichments": { ... } |
|
"normalizations": [ ... ] |
Spostato nell'API Collections. |
"source": { ... } |
Non disponibile. Configurare le connessioni alle origini dati esterne tramite l'interfaccia utente. Per ulteriori informazioni, consultare Creazione di raccolte. |
Raccolte
| Azione | API v1 | API v2 |
|---|---|---|
| Crea una raccolta | POST /v1/environments/{environment_id}/collections |
POST /v2/projects/{project_id}/collectionsI parametri e risposte supportati differiscono tra le due versioni. Vedi le note della raccolta. |
| Elenca raccolte | GET /v1/environments/{environment_id}/collections |
GET /v2/projects/{project_id}/collectionsIn v2, nell'elenco vengono restituiti solo l'ID raccolta e il nome di ogni raccolta. Devi utilizzare il metodo Get collection per restituire ulteriori dettagli su ogni raccolta. |
| Richiama dettagli raccolta | GET /v1/environments/{environment_id}/collections/{collection_id} |
GET /v2/projects/{project_id}/collections/{collection_id}Consultare le note della raccolta. |
| Aggiorna una raccolta | PUT /v1/environments/{environment_id}/collections/{collection_id} |
POST /v2/projects/{project_id}/collections/{collection_id} |
| Elimina una raccolta | DELETE /v1/environments/{environment_id}/collections/{collection_id} |
DELETE /v2/projects/{project_id}/collections/{collection_id}In v2, il campo status non viene restituito nella risposta. |
| Elenca campi di raccolta | GET /v1/environments/{environment_id}/collections/{collection_id}/fields v1 elenca i campi per raccolta. |
GET /v2/projects/{project_id}/fields v2 elenca invece i campi per progetto. È possibile passare un singolo ID raccolta con il parametro collection_ids per ottenere i campi
da una sola raccolta. |
Note API delle raccolte
La seguente tabella mostra le importanti differenze tra le API di raccolta v1 e v2.
| Metodo | Note |
|---|---|
| Crea una raccolta | La risposta v2 non include i campi status e configuration_id. È possibile ottenere le informazioni sullo stato di un documento specifico utilizzando il metodo Richiama dettagli documento.Gli oggetti disk_usage, training_status e crawl_status non sono presenti nel corpo della risposta in v2. L'oggetto document_counts non è attualmente presente nel corpo della risposta
in v2. Lo stato di addestramento viene restituito nella risposta del metodo Get project. Le altre informazioni non sono disponibili in v2. In v2, puoi
definire gli arricchimenti da applicare ai documenti nella raccolta specificando un oggetto enrichments facoltativo. |
| Richiama dettagli raccolta | La risposta v2 non include i campi status e configuration_id. È possibile ottenere le informazioni sullo stato di un documento specifico utilizzando il metodo Richiama dettagli documento.Gli oggetti document_counts, disk_usage, training_status e crawl_status non sono presenti nel corpo della risposta in v2. Lo stato di addestramento viene restituito nella risposta
del metodo Get project. Le altre informazioni non sono disponibili in v2. Ad esempio, non è possibile ottenere il numero di documenti per una raccolta e non è possibile ottenere lo stato della ricerca per indicizzazione per
una raccolta che si connette ad una origine dati esterna in v2. In v2, puoi ottenere informazioni sugli arricchimenti applicati alla raccolta. |
| Aggiorna una raccolta | v2 utilizza POST invece di PUT. In v2, puoi aggiornare gli arricchimenti applicati ai documenti nella raccolta specificando un oggetto enrichments facoltativo.La risposta v2 non include i campi status e configuration_id. |
Modifiche query
Il metodo disponibile in v1 per configurare la tokenizzazione in modo programmatico non è supportato nell'API v2.
| API v1 | API v2 |
|---|---|
| API del dizionario di token | Non disponibile. |
| Espansioni v1 API | Espansioni v2 API |
| API v1 parole non significative | Stopwords v2 API |
Documenti
| Azione | API v1 | API v2 |
|---|---|---|
| Elenca documenti | Non disponibile dall'API v1 | GET /v2/projects/{project_id}/collections/{collection_id}/documents |
| Creare un documento | POST /v1/environments/{environment_id}/collections/{collection_id}/documents |
POST /v2/projects/{project_id}/collections/{collection_id}/documentsA differenza di v1, la risposta v2 non include un oggetto avvisi. Tuttavia, puoi ottenere le informazioni particolari utilizzando il metodo Get document details in v2. |
| Aggiornare un documento | POST /v1/environments/{environment_id}/collections /{collection_id}/documents/{document_id} |
POST /v2/projects/{project_id}/collections/{collection_id}/documents/{document_id}Quando si aggiorna un documento che è stato suddiviso, tutti i segmenti del documento vengono sovrascritti. |
| Ottieni dettagli documento | GET /v1/environments/{environment_id}/collections /{collection_id}/documents/{document_id} |
GET /v2/projects/{project_id}/collections/{collection_id}/documents/{document_id} In v2, non vi è alcun oggetto statusDescription. v2 ha un oggetto children con informazioni su eventuali avvisi associati ai documenti secondari generati durante l'inserimento. |
| Eliminare un documento | DELETE /v1/environments/{environment_id}/collections /{collection_id}/documents/{document_id} |
DELETE /v2/projects/{project_id}/collections/{collection_id}/documents/{document_id}Impossibile eliminare singolarmente i segmenti di un documento caricato. Eliminare tutti i segmenti con una richiesta DELETE che include il risultato parent_document_id di un segmento. |
v2 introduce un'intestazione personalizzata denominata X-Watson-Discovery-Force che non è disponibile in v1. È necessario includere l'intestazione quando si esegue un'operazione sui dati condivisi tra molte raccolte per indicare
che si desidera eseguire l'operazione in ciascuna raccolta. Se non si include l'intestazione, viene restituito un errore 403.
I campi dei file JSON aggiunti a una raccolta vengono convertiti in modo diverso durante l'inserimento tra v1 e v2. Per ulteriori informazioni su come i file JSON vengono archiviati nell'indice v2, consulta File JSON.
Query
Alcune configurazioni dei risultati della query vengono applicate al servizio per impostazione predefinita in base al tipo di progetto creato. Per ulteriori dettagli, consultare Impostazioni del progetto predefinite.
Note query
-
Le query v2 restituiscono risultati da tutte le raccolte nel progetto. Per limitare la query ad utilizzare solo determinate raccolte all'interno del progetto, utilizzare il parametro di query
collection_ids. Non è possibile interrogare più raccolte che vengono aggiunte a progetti differenti con una richiesta di query v2. -
I risultati di v2 includono un campo
confidence, ma non un camposcore.Il punteggio di affidabilità ha sostituito le informazioni sul punteggio in v1, ma il punteggio è stato mantenuto per la compatibilità con le versioni precedenti. In v2, viene restituito solo il campo di confidenza.
-
Utilizza le chiamate POST (invece delle chiamate GET) per inoltrare le interrogazioni con v2.
-
Le query v1 accettano molti parametri. La tabella Confronto parametri query associa i parametri v1 ai parametri v2.
Confronto parametri di query parametro v1 parametro v2 Note N/D collection_ids Utilizzare questo parametro in v2 per specificare gli ID raccolta. filtro filtro Stesso linguaggio di espressione. query query Stesso linguaggio di espressione. natural_language_query natural_language_query Nessuna nota. passages passages Il formato del passaggio è stato modificato ed è stato migliorato in v2. Il parametro passages:trueè stato modificato inpassages.enable:true. Oltre alle opzionicount,charactersefields, è possibile specificareper_document, che classifica i documenti in base alla qualità del documento e restituisce i passaggi più classificati per documento. È anche possibile specificarefind_answersper restituire un oggetto risposta per passaggio, che contiene una risposta succinta alla query.aggregazione aggregazione Stesso linguaggio di espressione. conteggio conteggio Nessuna nota. scostamento scostamento Nessuna nota. restituire restituire Nessuna nota. ordinamento ordinamento Nessuna nota. evidenziare evidenziare Se passages.enabledepassages.per_documentsonotrue, i passaggi vengono restituiti per ogni documento invece che per le evidenziazioni.suggerimenti ortografico suggerimenti ortografico Nessuna nota. deduplicare N/D Non supportato in v2. similar similar Il formato è stato modificato in v2. Il parametro similar:trueè stato modificato insimilar.enable:true. I parametridocument_idsefieldssono cambiati da stringhe a array di stringhe. Il parametrodocument_idsora è obbligatorio seenabledè true.bias N/D Non supportato in v2.
Dati di addestramento
Puoi utilizzare l'API dei dati di addestramento v1 per gestire due oggetti correlati:
- query formate
- esempi utilizzati per preparare le query
Questi due oggetti hanno endpoint API separati in v1. In v2, gli esempi utilizzati per preparare ciascuna query vengono forniti insieme alla query e solo un endpoint viene utilizzato per gestire i dati di addestramento.
Ad esempio, per aggiungere una query addestrata e i relativi documenti di esempio di addestramento in v2, utilizzi la richiesta POST /v2/projects/{project_id}/training_data/queries e passi la query e tutti gli esempi nel payload
di una chiamata. Allo stesso modo, se desideri aggiornare un esempio nella serie di addestramento in v2, devi passare la query e l'esempio modificato (insieme a tutti gli altri esempi) all'endpoint di aggiornamento v2. In v1, per aggiornare
informazioni di esempio, si utilizza l'endpoint di esempio di aggiornamento per modificare solo un esempio.
Un'altra differenza importante tra v1 e v2 è che in v1, il modello sottoposto a training è associato a una particolare raccolta. In v2, il modello sottoposto a training è associato ad un progetto. Puoi utilizzare i dati da più raccolte all'interno
di un progetto per addestrare un modello di rilevanza. Quando crei o aggiorni gli esempi di formazione in v2, l'API richiede collection_id per la raccolta in cui è memorizzato il documento.
Dati utente
L'API dei dati utente è la stessa in v2 e v1.
| Azione | API v1 | API v2 |
|---|---|---|
| Elimina | DELETE /v1/user_data |
DELETE /v2/user_dataSimile a v1. Utilizzare customer_id per eliminare i dati associati a tale ID cliente. |
Eventi e feedback
L'API di feedback e gli eventi v1 (/v1/events) non è disponibile in v2.
Credenziali
L'API delle credenziali v1 (/v1/environments/{environment_id}/credentials) non è disponibile in v2. La funzionalità è disponibile dall'interfaccia utente del prodotto v2.
Codici di stato
Per quasi tutti il metodo API, i codici di stato restituiti per richieste v2 sono diversi dai codici di stato restituiti per le richieste v1.