Skip to content

Commit cd99115

Browse files
authored
Merge pull request #97 from neurostuff/enh/add_semantic_search
[ENH] add semantic search
2 parents bd08687 + a825d3d commit cd99115

File tree

1 file changed

+110
-0
lines changed

1 file changed

+110
-0
lines changed

neurostore-openapi.yml

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,16 @@ paths:
109109
type: string
110110
example: 'TestPipeline'
111111
- $ref: '#/components/parameters/paginate'
112+
- name: has_embeddings
113+
in: query
114+
description: Filter configs as whether they have embeddings saved.
115+
schema:
116+
type: boolean
117+
- name: embedding_dimensions
118+
in: query
119+
description: Filter configs by number of dimensions in the embeddings.
120+
schema:
121+
type: integer
112122
responses:
113123
'200':
114124
description: OK
@@ -1280,6 +1290,33 @@ paths:
12801290
required: false
12811291
schema:
12821292
type: string
1293+
- name: semantic_search
1294+
in: query
1295+
description: Semantic search query string
1296+
required: false
1297+
schema:
1298+
type: string
1299+
- name: pipeline_config_id
1300+
in: query
1301+
description: Pipeline configuration identifier to filter studies
1302+
required: false
1303+
schema:
1304+
type: string
1305+
- name: distance_threshold
1306+
in: query
1307+
description: Distance threshold for semantic search (default 0.5)
1308+
required: false
1309+
schema:
1310+
type: number
1311+
format: float
1312+
example: 0.5
1313+
- name: overall_cap
1314+
in: query
1315+
description: Maximum number of overall results to return (default 3000)
1316+
required: false
1317+
schema:
1318+
type: integer
1319+
example: 3000
12831320
- name: feature_flatten
12841321
in: query
12851322
required: false
@@ -1470,6 +1507,40 @@ paths:
14701507
$ref: '#/components/schemas/note-collection-request'
14711508
security:
14721509
- JSON-Web-Token: []
1510+
/pipeline-embeddings/:
1511+
get:
1512+
summary: List pipeline embeddings
1513+
tags:
1514+
- pipeline-embeddings
1515+
parameters:
1516+
- $ref: '#/components/parameters/paginate'
1517+
responses:
1518+
'200':
1519+
description: OK
1520+
content:
1521+
application/json:
1522+
schema:
1523+
$ref: '#/components/schemas/pipeline-embedding-list'
1524+
'/pipeline-embeddings/{id}':
1525+
parameters:
1526+
- schema:
1527+
type: string
1528+
name: id
1529+
in: path
1530+
required: true
1531+
get:
1532+
summary: Get a pipeline embedding by id
1533+
tags:
1534+
- pipeline_embeddings
1535+
responses:
1536+
'200':
1537+
description: OK
1538+
content:
1539+
application/json:
1540+
schema:
1541+
$ref: '#/components/schemas/pipeline-embedding'
1542+
'404':
1543+
$ref: '#/components/responses/404'
14731544
components:
14741545
schemas:
14751546
pipeline:
@@ -2465,6 +2536,44 @@ components:
24652536
$ref: '#/components/schemas/base-study-return'
24662537
metadata:
24672538
$ref: '#/components/schemas/metadata'
2539+
pipeline-embedding:
2540+
allOf:
2541+
- $ref: '#/components/schemas/readable-resource-attributes'
2542+
- type: object
2543+
properties:
2544+
config_id:
2545+
type: string
2546+
base_study_id:
2547+
type: string
2548+
nullable: true
2549+
date_executed:
2550+
type: string
2551+
format: date-time
2552+
nullable: true
2553+
file_inputs:
2554+
type: object
2555+
nullable: true
2556+
status:
2557+
type: string
2558+
description: Current status of the pipeline execution (e.g. SUCCESS, FAILURE, ERROR, UNKNOWN)
2559+
embedding:
2560+
type: array
2561+
items:
2562+
type: number
2563+
format: float
2564+
required:
2565+
- config_id
2566+
- status
2567+
- embedding
2568+
pipeline-embedding-list:
2569+
type: object
2570+
properties:
2571+
results:
2572+
type: array
2573+
items:
2574+
$ref: '#/components/schemas/pipeline-embedding'
2575+
metadata:
2576+
$ref: '#/components/schemas/metadata'
24682577
responses:
24692578
'404':
24702579
description: Example response
@@ -2747,3 +2856,4 @@ tags:
27472856
- name: conditions
27482857
- name: user
27492858
- name: annotations
2859+
- name: pipeline_embeddings

0 commit comments

Comments
 (0)