Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions modules/vector-index/pages/use-vector-indexes.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ Hyperscale Vector indexes can handle the large datasets and perform these vector
=== Hyperscale Vector Index Application Workflow


After you create a Hyperscale Vector index, your application follows the workflow shown in the following diagram:
To create and use a Hyperscale Vector index, your application follows the workflow shown in the following diagram:

.Application Workflow with Hyperscale Vector Indexes
[plantuml,hyperscale-vector-app-workflow,svg]
Expand Down Expand Up @@ -214,7 +214,7 @@ Vector similarity searches can be added to these searches to find similar demand

=== Composite Vector Index Application Workflow

After you create a Composite Vector index, your application follows the workflow shown in the following diagram:
To create and use a Composite Vector index, your application follows the workflow shown in the following diagram:

.Application Workflow with Composite Vector Indexes
[plantuml,composite-vector-app-workflow,svg]
Expand Down Expand Up @@ -263,7 +263,7 @@ Real estate applications can use Search Vector Indexes to find properties within

=== Search Vector Index Application Workflow

After you create an Search Vector Index, your application follows the workflow shown in the following diagram:
To create and use an Search Vector Index, your application follows the workflow shown in the following diagram:

.Application Workflow with Search Vector Indexes
[plantuml,fts-app-workflow,svg]
Expand Down
141 changes: 65 additions & 76 deletions modules/vector-index/partials/composite-vector-app-workflow.puml
Original file line number Diff line number Diff line change
@@ -1,83 +1,72 @@
@startuml ai-app-workflow

!pragma layout smetana
!include <material/common>
!include <material/numeric_1_box>
!include <material/numeric_2_box>
!include <material/numeric_3_box>
!include <material/numeric_4_box>
!include <material/numeric_5_box>
!include <material/numeric_6_box>
!include <material/numeric_7_box>
!include <material/numeric_8_box>
sprite Couchbase <svg width="98" height="98" viewBox="0 0 98 98">
<path fill="#EC1218"
d="m 82.1,57.6 c 0,2.9 -1.7,5.5 -5,6.1 -5.8,1 -17.9,1.6 -28.1,1.6 -10.2,0 -22.3,-0.7 -28.1,-1.6 -3.3,-0.6 -5,-3.2 -5,-6.1 V 38.4 c 0,-2.9 2.3,-5.7 5,-6.1 1.7,-0.3 5.6,-0.6 8.8,-0.6 1.2,0 2.2,0.9 2.2,2.3 V 47.3 C 37.8,47.3 43,47 49,47 c 6,0 11.2,0.3 17.2,0.3 V 34.1 c 0,-1.4 1,-2.3 2.2,-2.3 3.2,0 7.1,0.3 8.8,0.6 2.7,0.4 5,3.2 5,6.1 z M 49,0 C 21.9,0 0,21.9 0,49 0,76.1 21.9,98 49,98 76.1,98 98,76.1 98,49 98,21.9 76.1,0 49,0 Z" />
</svg>

'title: Application Workflow with Composite Vector Indexes

skinparam defaultTextAlignment center

skinparam linetype ortho

top to bottom direction


frame "Your Application" as APP {
card DL [
Data
Loading
]
card EM [
Embedding
Models
]
card SE [
Search & Query Logic
]

DL --> EM : <$ma_numeric_1_box{scale=0.4}>Complex\nData
EM --> DL : Vectors
SE --> EM : <$ma_numeric_4_box{scale=0.4}>Complex\nData
EM --> SE : Vectors

}

frame "<$Couchbase{scale=0.15}> Couchbase Cluster" as CC {
database DS [
<$Couchbase{scale=0.15,color=red}>
..
Data
..
Service
..
]
rectangle " <$Couchbase{scale=0.15}> Index Service" as IS {
card COMPOSITE [
Composite
Vector
Index
]
}

rectangle "<$Couchbase{scale=0.15}> Query Service" as QS {

}

}


DL ----> DS : <$ma_numeric_2_box{scale=0.4}> Data &\nVectors
DS --> COMPOSITE : <$ma_numeric_3_box{scale=0.4}> Scalars &\nVectors

QS --> COMPOSITE : <$ma_numeric_6_box{scale=0.4}> Scan\nRequest

QS <-- COMPOSITE : <$ma_numeric_7_box{scale=0.4}> Index Scan\nResults

SE ----> QS : <$ma_numeric_5_box{scale=0.4}> Queries

QS ----> SE :<$ma_numeric_8_box{scale=0.4}> Query Results


@enduml
skinparam maxMessageSize 60
skinparam roundcorner 5
skinparam responseMessageBelowArrow true
skinparam sequenceMessageAlign left
skinparam ParticipantPadding 10
skinparam Padding 2
skinparam BoxPadding 20

box Your Application #FloralWhite
queue "Data\nLoading" as Loading
queue "Search &\nQuery Logic" as Logic
collections "Embedding\nModels" as Models
end box

box <$Couchbase{scale=0.15}> Couchbase Cluster #FloralWhite
participant "Query\nService" as Query
participant "Data\nService" as Data
participant "Index\nService" as Index
end box

group Load
|||
?o-> Loading
activate Loading #Maroon
autonumber "<b>(0)"
Loading -> Models: Complex data
activate Models #GoldenRod
autonumber stop
Models -> Loading: Vectors
deactivate Models
autonumber resume
Loading -> Data: Data & vectors
deactivate Loading
activate Data #midnightblue
Data -> Index: Scalars & vectors
deactivate Data
activate Index #deepskyblue
note left of Index: Composite\nVector\nIndex
end

group Query
' blank message to align the group boxes
autonumber stop
Loading -[#transparent]> Loading
?o-> Logic
activate Logic #IndianRed
autonumber resume
Logic -> Models: Complex data
activate Models #GoldenRod
autonumber stop
Models -> Logic: Vector
deactivate Models
autonumber resume
Logic -> Query: Query
activate Query #teal
Query -> Index: Scan request
Index -> Query: Index scan result
deactivate Index
Query -> Logic: Query results
deactivate Query
deactivate Logic
|||
end

@enduml
127 changes: 60 additions & 67 deletions modules/vector-index/partials/fts-vector-app-workflow.puml
Original file line number Diff line number Diff line change
@@ -1,74 +1,67 @@
@startuml ai-app-workflow

!pragma layout smetana
!include <material/common>
!include <material/numeric_1_box>
!include <material/numeric_2_box>
!include <material/numeric_3_box>
!include <material/numeric_4_box>
!include <material/numeric_5_box>
!include <material/numeric_6_box>
!include <material/numeric_7_box>
!include <material/numeric_8_box>
sprite Couchbase <svg width="98" height="98" viewBox="0 0 98 98">
<path fill="#EC1218"
d="m 82.1,57.6 c 0,2.9 -1.7,5.5 -5,6.1 -5.8,1 -17.9,1.6 -28.1,1.6 -10.2,0 -22.3,-0.7 -28.1,-1.6 -3.3,-0.6 -5,-3.2 -5,-6.1 V 38.4 c 0,-2.9 2.3,-5.7 5,-6.1 1.7,-0.3 5.6,-0.6 8.8,-0.6 1.2,0 2.2,0.9 2.2,2.3 V 47.3 C 37.8,47.3 43,47 49,47 c 6,0 11.2,0.3 17.2,0.3 V 34.1 c 0,-1.4 1,-2.3 2.2,-2.3 3.2,0 7.1,0.3 8.8,0.6 2.7,0.4 5,3.2 5,6.1 z M 49,0 C 21.9,0 0,21.9 0,49 0,76.1 21.9,98 49,98 76.1,98 98,76.1 98,49 98,21.9 76.1,0 49,0 Z" />
</svg>

'title: Application Workflow with Search Vector Indexes

skinparam defaultTextAlignment center

skinparam linetype ortho

top to bottom direction


frame "Your Application" as APP {
card DL [
Data
Loading
]
card EM [
Embedding
Models
]
card SE [
Search & Query Logic
]

DL --> EM : <$ma_numeric_1_box{scale=0.4}>Complex\nData
EM -d-> DL : Vectors
SE --> EM : <$ma_numeric_4_box{scale=0.4}>Complex\nData
EM --> SE : Vectors

}

frame "<$Couchbase{scale=0.15}> Couchbase Cluster" as CC {
database DS [
<$Couchbase{scale=0.15,color=red}>
..
Data
..
Service
..
]

rectangle " <$Couchbase{scale=0.15}> Search Service" as SSERV {
card SI [
FTS Vector
Index
]
}

}


DS ----> SI : Text &\nVectors
DL ----> DS : <$ma_numeric_2_box{scale=0.4}> Data &\nVectors

SE ----> SSERV : <$ma_numeric_5_box{scale=0.4}>Searches

SSERV ----> SE :<$ma_numeric_6_box{scale=0.4}> Results

@enduml
skinparam maxMessageSize 60
skinparam roundcorner 5
skinparam responseMessageBelowArrow true
skinparam sequenceMessageAlign left
skinparam ParticipantPadding 10
skinparam Padding 2
skinparam BoxPadding 50

box Your Application #FloralWhite
queue "Data\nLoading" as Loading
queue "Search &\nQuery Logic" as Logic
collections "Embedding\nModels" as Models
end box

box <$Couchbase{scale=0.15}> Couchbase Cluster #FloralWhite
participant "Data\nService" as Data
participant "Search\nService" as Search
end box

group Load
|||
?o-> Loading
activate Loading #Maroon
autonumber "<b>(0)"
Loading -> Models: Complex data
activate Models #GoldenRod
autonumber stop
Models -> Loading: Vectors
deactivate Models
autonumber resume
Loading -> Data: Data & vectors
deactivate Loading
activate Data #midnightblue
Data -> Search: Text & vectors
deactivate Data
activate Search #LightGreen
note left of Search: Search\nVector\nIndex
end

group Search
' blank message to align the group boxes
autonumber stop
Loading -[#transparent]> Loading
?o-> Logic
activate Logic #IndianRed
autonumber resume
Logic -> Models: Complex data
activate Models #GoldenRod
autonumber stop
Models -> Logic: Vector
deactivate Models
autonumber resume
Logic -> Search: Search
Search -> Logic:Results
deactivate Search
deactivate Logic
|||
end

@enduml
Loading