breadcrumbDescription
Kør vektorsøgninger ved brug af forespørgsels-API
Brug forespørgsels-API til at køre vektorsøgninger i Data 360. Brug disse eksempler som udgangspunkt.
Du kan bruge Data 360 SQL til at skrive tilpassede vektorsøgerklæringer. Med Data 360 Query API kan du bruge disse SQL-erklæringer i dine tilpassede applikationer.
Basisvektorsøgning
Denne syntaks udfører en vektorsøgning på tværs af et DMO (indeksdatamodelobjekt) for at finde den definerede streng.
SELECT *
FROM vector_search(TABLE(<Your_Vector_Embedding DMO>),
'<Search_String>',
'<PreFilteringColumn><Operator>"<Value>"',
'<k=topK results>'
)Hvor:
- <Din_Vektor_Integrering>
- API-navnet på indeks-DMO.
- Search_String
- Søgerengen for vektorsøgningen.
- PrefilteringColumn (Præfiltreringskolonne)
Et boolesk udtryk, der filtrerer skalære felter i det primære nøglefelt for at begrænse søgningen. Hvis du ønsker flere oplysninger om forudfiltrering, kan du se Vektorforespørgselsudtryk og forudfiltrering.
- k=topK_resultater
- Antallet af de mest tilsvarende resultater, der skal returneres.
Vektorsøgning med indeks- og segment-DMO'er
Denne syntaks udfører en vektorsøgning på tværs af et indeks-DMO og et segment-DMO.
SELECT
v.score__c AS Score__c,
c.chunk__c AS Chunk__c
FROM
vector_search(
TABLE(<Your_Vector_Embedding_DMO>),
'<Search_String>',
'language = \'English\' AND status = \'active\'',
10
) v
JOIN
<Your Chunk DMO> c ON v.RecordId__c = c.RecordId__c
AND c.KQ_RecordId__c IS NOT DISTINCT FROM v.KQ_RecordId__c
ORDER BY 1
LIMIT 10
Hvor:
- Score__c
- Lighedsscoren for hver vektor med inputsøgerstrengen.
- Chunk__c
- Det segment, der blev brugt til at generere vektorintegrationen.
- language=\'Engelsk\' OG status=\'aktiv\'
- Et eksempel på præfiltrering med to filtre. Disse filtre kombineres ved brug af den logiske
AND-operator. - 10
- Returnerer top 10-resultaterne.
- <Dit segment-DMO>
- API-navnet på segment-DMO.
- RecordId__c og KQ_RecordId__c
- Sammenføjningserklæringen matcher både RecordID og nøglekvalificeret registrerings-id, mens der undgås NULL-værdier. Når du tilslutter dig DMO'er og DLO'er, skal du bruge nøglekvalificerede til at undgå id-overlapninger.
Vektorsøgning med DMO'er og ustrukturerede datamodelobjekter (UDMO)
Dette eksempel udfører en vektorsøgning, henter de relevante kodestykker og deres scores, angiver filstierne for kildedokumenterne for kodestykkerne og returnerer top 10-resultaterne.
SELECT
v.score__c AS Score__c,
c.chunk__c AS Chunk__c,
u.FilePath__c AS FilePath__c
FROM
vector_search(TABLE(<Your Vector_Embedding DMO>), '<Search String>', '', 10) v
JOIN
<Your_Chunk_DMO> c ON v.RecordId__c = c.RecordId__c
AND c.KQ_RecordId__c IS NOT DISTINCT FROM v.KQ_RecordId__c
JOIN
<Your_UDMO> u ON c.SourceRecordId__c = u.FilePath__c
ORDER BY 1 DESC
LIMIT 10;
Hvor:
- Your_UDMO
- API-navnet på det UDMO, der bruges til at oprette segmenterne.
- FilePath__c
- Den relative sti for hver fil, der blev brugt til at oprette segmenter og vektorintegrationer.
- Vektorforespørgselsudtryk og forhåndsfiltrering
Gør dine vektorsøgerforespørgsler bedre med forhåndsfiltreringsfelter. Brug logiske operatorer, og administrer sagsfølsomhed for feltnavne og værdier for at sikre præcis hentning af data.
