Trouter-Library commited on
Commit
02ba82e
·
verified ·
1 Parent(s): 0574c09

Create api_specification.json

Browse files
Files changed (1) hide show
  1. api_specification.json +568 -0
api_specification.json ADDED
@@ -0,0 +1,568 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "openapi": "3.0.3",
3
+ "info": {
4
+ "title": "Helion-2.5-Rnd Inference API",
5
+ "description": "Advanced language model inference API for DeepXR/Helion-2.5-Rnd. Provides chat completions, text generation, and model information endpoints.",
6
+ "version": "2.5.0-rnd",
7
+ "contact": {
8
+ "name": "DeepXR Support",
9
+ "email": "[email protected]",
10
+ "url": "https://deepxr.ai"
11
+ },
12
+ "license": {
13
+ "name": "Apache 2.0",
14
+ "url": "https://www.apache.org/licenses/LICENSE-2.0.html"
15
+ }
16
+ },
17
+ "servers": [
18
+ {
19
+ "url": "http://localhost:8000",
20
+ "description": "Local development server"
21
+ },
22
+ {
23
+ "url": "https://api.deepxr.ai",
24
+ "description": "Production server"
25
+ }
26
+ ],
27
+ "tags": [
28
+ {
29
+ "name": "chat",
30
+ "description": "Chat completion endpoints"
31
+ },
32
+ {
33
+ "name": "completions",
34
+ "description": "Text completion endpoints"
35
+ },
36
+ {
37
+ "name": "models",
38
+ "description": "Model information endpoints"
39
+ },
40
+ {
41
+ "name": "health",
42
+ "description": "Health check endpoints"
43
+ }
44
+ ],
45
+ "paths": {
46
+ "/": {
47
+ "get": {
48
+ "summary": "Root endpoint",
49
+ "description": "Returns basic model information",
50
+ "tags": ["models"],
51
+ "responses": {
52
+ "200": {
53
+ "description": "Success",
54
+ "content": {
55
+ "application/json": {
56
+ "schema": {
57
+ "type": "object",
58
+ "properties": {
59
+ "model": {
60
+ "type": "string",
61
+ "example": "DeepXR/Helion-2.5-Rnd"
62
+ },
63
+ "version": {
64
+ "type": "string",
65
+ "example": "2.5.0-rnd"
66
+ },
67
+ "status": {
68
+ "type": "string",
69
+ "example": "ready"
70
+ },
71
+ "type": {
72
+ "type": "string",
73
+ "example": "research"
74
+ }
75
+ }
76
+ }
77
+ }
78
+ }
79
+ }
80
+ }
81
+ }
82
+ },
83
+ "/health": {
84
+ "get": {
85
+ "summary": "Health check",
86
+ "description": "Returns server health status",
87
+ "tags": ["health"],
88
+ "responses": {
89
+ "200": {
90
+ "description": "Healthy",
91
+ "content": {
92
+ "application/json": {
93
+ "schema": {
94
+ "type": "object",
95
+ "properties": {
96
+ "status": {
97
+ "type": "string",
98
+ "example": "healthy"
99
+ },
100
+ "model": {
101
+ "type": "string",
102
+ "example": "DeepXR/Helion-2.5-Rnd"
103
+ },
104
+ "requests_served": {
105
+ "type": "integer",
106
+ "example": 1234
107
+ },
108
+ "uptime_seconds": {
109
+ "type": "integer",
110
+ "example": 86400
111
+ }
112
+ }
113
+ }
114
+ }
115
+ }
116
+ },
117
+ "503": {
118
+ "description": "Unhealthy"
119
+ }
120
+ }
121
+ }
122
+ },
123
+ "/v1/models": {
124
+ "get": {
125
+ "summary": "List available models",
126
+ "description": "Returns list of available models",
127
+ "tags": ["models"],
128
+ "responses": {
129
+ "200": {
130
+ "description": "Success",
131
+ "content": {
132
+ "application/json": {
133
+ "schema": {
134
+ "type": "object",
135
+ "properties": {
136
+ "object": {
137
+ "type": "string",
138
+ "example": "list"
139
+ },
140
+ "data": {
141
+ "type": "array",
142
+ "items": {
143
+ "$ref": "#/components/schemas/Model"
144
+ }
145
+ }
146
+ }
147
+ }
148
+ }
149
+ }
150
+ }
151
+ }
152
+ }
153
+ },
154
+ "/v1/chat/completions": {
155
+ "post": {
156
+ "summary": "Create chat completion",
157
+ "description": "Generate a chat completion response",
158
+ "tags": ["chat"],
159
+ "requestBody": {
160
+ "required": true,
161
+ "content": {
162
+ "application/json": {
163
+ "schema": {
164
+ "$ref": "#/components/schemas/ChatCompletionRequest"
165
+ }
166
+ }
167
+ }
168
+ },
169
+ "responses": {
170
+ "200": {
171
+ "description": "Success",
172
+ "content": {
173
+ "application/json": {
174
+ "schema": {
175
+ "$ref": "#/components/schemas/ChatCompletionResponse"
176
+ }
177
+ },
178
+ "text/event-stream": {
179
+ "schema": {
180
+ "$ref": "#/components/schemas/ChatCompletionChunk"
181
+ }
182
+ }
183
+ }
184
+ },
185
+ "400": {
186
+ "description": "Bad request"
187
+ },
188
+ "500": {
189
+ "description": "Server error"
190
+ }
191
+ }
192
+ }
193
+ },
194
+ "/v1/completions": {
195
+ "post": {
196
+ "summary": "Create text completion",
197
+ "description": "Generate a text completion",
198
+ "tags": ["completions"],
199
+ "requestBody": {
200
+ "required": true,
201
+ "content": {
202
+ "application/json": {
203
+ "schema": {
204
+ "$ref": "#/components/schemas/CompletionRequest"
205
+ }
206
+ }
207
+ }
208
+ },
209
+ "responses": {
210
+ "200": {
211
+ "description": "Success",
212
+ "content": {
213
+ "application/json": {
214
+ "schema": {
215
+ "$ref": "#/components/schemas/CompletionResponse"
216
+ }
217
+ }
218
+ }
219
+ }
220
+ }
221
+ }
222
+ }
223
+ },
224
+ "components": {
225
+ "schemas": {
226
+ "Model": {
227
+ "type": "object",
228
+ "properties": {
229
+ "id": {
230
+ "type": "string",
231
+ "example": "DeepXR/Helion-2.5-Rnd"
232
+ },
233
+ "object": {
234
+ "type": "string",
235
+ "example": "model"
236
+ },
237
+ "created": {
238
+ "type": "integer",
239
+ "example": 1706659200
240
+ },
241
+ "owned_by": {
242
+ "type": "string",
243
+ "example": "DeepXR"
244
+ }
245
+ }
246
+ },
247
+ "ChatMessage": {
248
+ "type": "object",
249
+ "required": ["role", "content"],
250
+ "properties": {
251
+ "role": {
252
+ "type": "string",
253
+ "enum": ["system", "user", "assistant"],
254
+ "description": "The role of the message author"
255
+ },
256
+ "content": {
257
+ "type": "string",
258
+ "description": "The content of the message"
259
+ },
260
+ "name": {
261
+ "type": "string",
262
+ "description": "Optional name for the participant"
263
+ }
264
+ }
265
+ },
266
+ "ChatCompletionRequest": {
267
+ "type": "object",
268
+ "required": ["messages"],
269
+ "properties": {
270
+ "model": {
271
+ "type": "string",
272
+ "default": "DeepXR/Helion-2.5-Rnd",
273
+ "description": "Model identifier"
274
+ },
275
+ "messages": {
276
+ "type": "array",
277
+ "items": {
278
+ "$ref": "#/components/schemas/ChatMessage"
279
+ },
280
+ "description": "List of messages in the conversation"
281
+ },
282
+ "temperature": {
283
+ "type": "number",
284
+ "minimum": 0,
285
+ "maximum": 2,
286
+ "default": 0.7,
287
+ "description": "Sampling temperature"
288
+ },
289
+ "top_p": {
290
+ "type": "number",
291
+ "minimum": 0,
292
+ "maximum": 1,
293
+ "default": 0.9,
294
+ "description": "Nucleus sampling parameter"
295
+ },
296
+ "top_k": {
297
+ "type": "integer",
298
+ "minimum": 0,
299
+ "default": 50,
300
+ "description": "Top-k sampling parameter"
301
+ },
302
+ "max_tokens": {
303
+ "type": "integer",
304
+ "minimum": 1,
305
+ "maximum": 131072,
306
+ "default": 4096,
307
+ "description": "Maximum tokens to generate"
308
+ },
309
+ "stream": {
310
+ "type": "boolean",
311
+ "default": false,
312
+ "description": "Whether to stream the response"
313
+ },
314
+ "stop": {
315
+ "type": "array",
316
+ "items": {
317
+ "type": "string"
318
+ },
319
+ "description": "Stop sequences"
320
+ },
321
+ "presence_penalty": {
322
+ "type": "number",
323
+ "minimum": -2,
324
+ "maximum": 2,
325
+ "default": 0,
326
+ "description": "Presence penalty"
327
+ },
328
+ "frequency_penalty": {
329
+ "type": "number",
330
+ "minimum": -2,
331
+ "maximum": 2,
332
+ "default": 0,
333
+ "description": "Frequency penalty"
334
+ },
335
+ "repetition_penalty": {
336
+ "type": "number",
337
+ "minimum": 1,
338
+ "maximum": 2,
339
+ "default": 1.1,
340
+ "description": "Repetition penalty"
341
+ },
342
+ "n": {
343
+ "type": "integer",
344
+ "minimum": 1,
345
+ "maximum": 10,
346
+ "default": 1,
347
+ "description": "Number of completions to generate"
348
+ }
349
+ }
350
+ },
351
+ "ChatCompletionResponse": {
352
+ "type": "object",
353
+ "properties": {
354
+ "id": {
355
+ "type": "string",
356
+ "description": "Unique identifier"
357
+ },
358
+ "object": {
359
+ "type": "string",
360
+ "example": "chat.completion"
361
+ },
362
+ "created": {
363
+ "type": "integer",
364
+ "description": "Unix timestamp"
365
+ },
366
+ "model": {
367
+ "type": "string",
368
+ "example": "DeepXR/Helion-2.5-Rnd"
369
+ },
370
+ "choices": {
371
+ "type": "array",
372
+ "items": {
373
+ "type": "object",
374
+ "properties": {
375
+ "index": {
376
+ "type": "integer"
377
+ },
378
+ "message": {
379
+ "$ref": "#/components/schemas/ChatMessage"
380
+ },
381
+ "finish_reason": {
382
+ "type": "string",
383
+ "enum": ["stop", "length", "content_filter"]
384
+ }
385
+ }
386
+ }
387
+ },
388
+ "usage": {
389
+ "type": "object",
390
+ "properties": {
391
+ "prompt_tokens": {
392
+ "type": "integer"
393
+ },
394
+ "completion_tokens": {
395
+ "type": "integer"
396
+ },
397
+ "total_tokens": {
398
+ "type": "integer"
399
+ }
400
+ }
401
+ }
402
+ }
403
+ },
404
+ "ChatCompletionChunk": {
405
+ "type": "object",
406
+ "properties": {
407
+ "id": {
408
+ "type": "string"
409
+ },
410
+ "object": {
411
+ "type": "string",
412
+ "example": "chat.completion.chunk"
413
+ },
414
+ "created": {
415
+ "type": "integer"
416
+ },
417
+ "model": {
418
+ "type": "string"
419
+ },
420
+ "choices": {
421
+ "type": "array",
422
+ "items": {
423
+ "type": "object",
424
+ "properties": {
425
+ "index": {
426
+ "type": "integer"
427
+ },
428
+ "delta": {
429
+ "type": "object",
430
+ "properties": {
431
+ "role": {
432
+ "type": "string"
433
+ },
434
+ "content": {
435
+ "type": "string"
436
+ }
437
+ }
438
+ },
439
+ "finish_reason": {
440
+ "type": "string",
441
+ "nullable": true
442
+ }
443
+ }
444
+ }
445
+ }
446
+ }
447
+ },
448
+ "CompletionRequest": {
449
+ "type": "object",
450
+ "required": ["prompt"],
451
+ "properties": {
452
+ "model": {
453
+ "type": "string",
454
+ "default": "DeepXR/Helion-2.5-Rnd"
455
+ },
456
+ "prompt": {
457
+ "oneOf": [
458
+ {
459
+ "type": "string"
460
+ },
461
+ {
462
+ "type": "array",
463
+ "items": {
464
+ "type": "string"
465
+ }
466
+ }
467
+ ],
468
+ "description": "Input prompt(s)"
469
+ },
470
+ "temperature": {
471
+ "type": "number",
472
+ "minimum": 0,
473
+ "maximum": 2,
474
+ "default": 0.7
475
+ },
476
+ "top_p": {
477
+ "type": "number",
478
+ "minimum": 0,
479
+ "maximum": 1,
480
+ "default": 0.9
481
+ },
482
+ "max_tokens": {
483
+ "type": "integer",
484
+ "minimum": 1,
485
+ "default": 4096
486
+ },
487
+ "stream": {
488
+ "type": "boolean",
489
+ "default": false
490
+ },
491
+ "stop": {
492
+ "type": "array",
493
+ "items": {
494
+ "type": "string"
495
+ }
496
+ },
497
+ "n": {
498
+ "type": "integer",
499
+ "minimum": 1,
500
+ "default": 1
501
+ }
502
+ }
503
+ },
504
+ "CompletionResponse": {
505
+ "type": "object",
506
+ "properties": {
507
+ "id": {
508
+ "type": "string"
509
+ },
510
+ "object": {
511
+ "type": "string",
512
+ "example": "text_completion"
513
+ },
514
+ "created": {
515
+ "type": "integer"
516
+ },
517
+ "model": {
518
+ "type": "string"
519
+ },
520
+ "choices": {
521
+ "type": "array",
522
+ "items": {
523
+ "type": "object",
524
+ "properties": {
525
+ "text": {
526
+ "type": "string"
527
+ },
528
+ "index": {
529
+ "type": "integer"
530
+ },
531
+ "finish_reason": {
532
+ "type": "string"
533
+ }
534
+ }
535
+ }
536
+ },
537
+ "usage": {
538
+ "type": "object",
539
+ "properties": {
540
+ "prompt_tokens": {
541
+ "type": "integer"
542
+ },
543
+ "completion_tokens": {
544
+ "type": "integer"
545
+ },
546
+ "total_tokens": {
547
+ "type": "integer"
548
+ }
549
+ }
550
+ }
551
+ }
552
+ }
553
+ },
554
+ "securitySchemes": {
555
+ "ApiKeyAuth": {
556
+ "type": "apiKey",
557
+ "in": "header",
558
+ "name": "Authorization",
559
+ "description": "API key authentication. Use 'Bearer YOUR_API_KEY'"
560
+ }
561
+ }
562
+ },
563
+ "security": [
564
+ {
565
+ "ApiKeyAuth": []
566
+ }
567
+ ]
568
+ }