forked from openai/chatgpt-retrieval-plugin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathopenapi.yaml
190 lines (190 loc) · 4.61 KB
/
openapi.yaml
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
openapi: 3.0.0
info:
title: Napa Valley API
version: 1.0.0
description: This API lets you search through the Napa Valley Blog.
servers:
- url: https://seahorse-app-7m2vw.ondigitalocean.app
paths:
/query:
post:
summary: Query
operationId: query_query_post
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/QueryRequest"
required: true
responses:
"200":
description: Successful Response
content:
application/json:
schema:
$ref: "#/components/schemas/QueryResponse"
"422":
description: Validation Error
content:
application/json:
schema:
$ref: "#/components/schemas/HTTPValidationError"
security:
- HTTPBearer: []
components:
schemas:
Document:
required:
- text
type: object
properties:
id:
type: string
text:
type: string
metadata:
$ref: "#/components/schemas/DocumentMetadata"
DocumentChunkMetadata:
type: object
properties:
source:
$ref: "#/components/schemas/Source"
source_id:
type: string
url:
type: string
created_at:
type: string
author:
type: string
document_id:
type: string
DocumentChunkWithScore:
required:
- document_id
- text
- score
type: object
properties:
id:
type: string
document_id:
type: string
text:
type: string
metadata:
$ref: "#/components/schemas/DocumentChunkMetadata"
embedding:
type: array
items:
type: number
score:
description: cosine similarity between the query and the document snippet. Higher scores are more similar.
type: number
DocumentMetadata:
type: object
properties:
source:
$ref: "#/components/schemas/Source"
source_id:
type: string
url:
type: string
created_at:
type: string
author:
type: string
DocumentMetadataFilter:
type: object
properties:
document_id:
type: string
source:
$ref: "#/components/schemas/Source"
source_id:
type: string
author:
type: string
start_date:
type: string
end_date:
type: string
HTTPValidationError:
type: object
properties:
detail:
type: array
items:
$ref: "#/components/schemas/ValidationError"
Query:
required:
- query
type: object
properties:
query:
type: string
filter:
$ref: "#/components/schemas/DocumentMetadataFilter"
top_k:
description: number of results to show
type: integer
default: 5
QueryRequest:
required:
- queries
type: object
properties:
queries:
type: array
description: This is an array of search query objects, each containing a natural language query string ("query") and an optional metadata filter ("filter"). Filters can help refine search results based on criteria such as document source or time period, but are not necessary in most cases. You can send multiple queries to compare information from different sources or break down complex questions into sub-questions.
items:
$ref: "#/components/schemas/Query"
QueryResponse:
required:
- results
type: object
properties:
results:
type: array
items:
$ref: "#/components/schemas/QueryResult"
QueryResult:
required:
- query
- results
type: object
properties:
query:
type: string
results:
type: array
items:
$ref: "#/components/schemas/DocumentChunkWithScore"
Source:
enum:
- email
- file
- chat
type: string
description: An enumeration.
ValidationError:
required:
- loc
- msg
- type
type: object
properties:
loc:
type: array
items:
anyOf:
- type: string
- type: integer
msg:
type: string
type:
type: string
securitySchemes:
HTTPBearer:
type: http
scheme: bearer