-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplugin.contracts.json
More file actions
233 lines (233 loc) · 9.02 KB
/
plugin.contracts.json
File metadata and controls
233 lines (233 loc) · 9.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
{
"version": "1",
"plugin": "workflow-plugin-vectorstore",
"modules": {
"vectorstore.provider": {
"description": "Initializes a Pinecone adapter and registers it by module name for use by vector step types. Milvus support is planned but not yet implemented.",
"required_inputs": {
"provider": {
"type": "string",
"description": "Backend provider. Currently only 'pinecone' is supported (milvus is planned but not yet implemented)."
},
"api_key": {
"type": "string",
"description": "API key for authenticating with the vector database service."
}
},
"optional_inputs": {
"host": {
"type": "string",
"description": "Custom host URL for self-hosted or private-link endpoints."
},
"namespace": {
"type": "string",
"description": "Default namespace for all vector operations in this module instance."
},
"index_name": {
"type": "string",
"description": "Default index name for operations that do not specify one explicitly."
}
},
"outputs": {}
}
},
"steps": {
"step.vector_upsert": {
"description": "Upsert vectors (with IDs, values, and metadata) into the configured vector store index.",
"required_inputs": {
"module": {
"type": "string",
"description": "Name of the vectorstore.provider module instance to use."
},
"vectors": {
"type": "slice",
"description": "Array of vector objects, each with 'id' (string), 'values' ([]float), and optional 'metadata' (map)."
}
},
"optional_inputs": {},
"outputs": {
"upserted_count": {
"type": "int",
"description": "Number of vectors successfully upserted."
}
}
},
"step.vector_query": {
"description": "Perform a similarity search and return the top-K nearest matches.",
"required_inputs": {
"module": {
"type": "string",
"description": "Name of the vectorstore.provider module instance to use."
},
"vector": {
"type": "slice",
"description": "The query vector (array of float values) to search with."
}
},
"optional_inputs": {
"top_k": {
"type": "int",
"description": "Maximum number of results to return.",
"default": 10
},
"filter": {
"type": "map",
"description": "Optional metadata filter map to narrow the search."
}
},
"outputs": {
"matches": {
"type": "slice",
"description": "Matched vectors, each with 'id', 'score', 'values', and 'metadata'."
},
"count": {
"type": "int",
"description": "Total number of matches returned."
}
}
},
"step.vector_fetch": {
"description": "Fetch vectors by their IDs from the vector store.",
"required_inputs": {
"module": {
"type": "string",
"description": "Name of the vectorstore.provider module instance to use."
},
"ids": {
"type": "slice",
"description": "List of vector IDs to fetch."
}
},
"optional_inputs": {},
"outputs": {
"vectors": {
"type": "slice",
"description": "Fetched vectors, each with 'id', 'values', and 'metadata'."
},
"count": {
"type": "int",
"description": "Number of vectors returned."
}
}
},
"step.vector_delete": {
"description": "Delete vectors by IDs or by a metadata filter. Exactly one of 'ids' or 'filter' must be provided.",
"required_inputs": {
"module": {
"type": "string",
"description": "Name of the vectorstore.provider module instance to use."
}
},
"optional_inputs": {
"ids": {
"type": "slice",
"description": "List of vector IDs to delete. Mutually exclusive with 'filter'."
},
"filter": {
"type": "map",
"description": "Metadata filter for bulk deletion. Mutually exclusive with 'ids'."
}
},
"outputs": {
"deleted_count": {
"type": "int",
"description": "Number of vectors deleted (set when deleting by IDs)."
},
"deleted_by_filter": {
"type": "bool",
"description": "True when deletion was performed by metadata filter."
}
}
},
"step.vector_create_index": {
"description": "Create a new vector index in the configured vector store.",
"required_inputs": {
"module": {
"type": "string",
"description": "Name of the vectorstore.provider module instance to use."
},
"name": {
"type": "string",
"description": "Name of the index to create."
},
"dimension": {
"type": "int",
"description": "Vector dimension (must match your embedding model's output size)."
},
"cloud": {
"type": "string",
"description": "Cloud provider: 'aws', 'gcp', or 'azure'."
}
},
"optional_inputs": {
"metric": {
"type": "string",
"description": "Similarity metric: 'cosine', 'dotproduct', or 'euclidean'.",
"default": "cosine"
},
"region": {
"type": "string",
"description": "Cloud region (e.g. 'us-east-1')."
}
},
"outputs": {
"created": {
"type": "string",
"description": "Name of the newly created index."
}
}
},
"step.vector_list_indexes": {
"description": "List all vector indexes available in the configured vector store.",
"required_inputs": {
"module": {
"type": "string",
"description": "Name of the vectorstore.provider module instance to use."
}
},
"optional_inputs": {},
"outputs": {
"indexes": {
"type": "slice",
"description": "List of index descriptors, each with 'name', 'dimension', 'metric', and 'vector_count'."
},
"count": {
"type": "int",
"description": "Total number of indexes returned."
}
}
},
"step.vector_describe_index": {
"description": "Describe an existing vector index, returning its dimension, metric, and vector count.",
"required_inputs": {
"module": {
"type": "string",
"description": "Name of the vectorstore.provider module instance to use."
},
"name": {
"type": "string",
"description": "Name of the index to describe."
}
},
"optional_inputs": {},
"outputs": {
"name": {
"type": "string",
"description": "Index name."
},
"dimension": {
"type": "int",
"description": "Vector dimension of the index."
},
"metric": {
"type": "string",
"description": "Distance metric used by the index."
},
"vector_count": {
"type": "int",
"description": "Total number of vectors stored in the index."
}
}
}
}
}