blob: 5e8b67a26593eed463b44dabd41b11071beed432 (
about) (
plain)
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
|
from datetime import datetime
from typing import Any, Optional
from uuid import UUID
from pydantic import BaseModel
from shared.abstractions.document import DocumentResponse
from shared.abstractions.llm import Message
from shared.abstractions.user import Token, User
from shared.api.models.base import PaginatedR2RResult, R2RResults
class PromptResponse(BaseModel):
id: UUID
name: str
template: str
created_at: datetime
updated_at: datetime
input_types: dict[str, str]
class ServerStats(BaseModel):
start_time: datetime
uptime_seconds: float
cpu_usage: float
memory_usage: float
class SettingsResponse(BaseModel):
config: dict[str, Any]
prompts: dict[str, Any]
r2r_project_name: str
# r2r_version: str
class ChunkResponse(BaseModel):
id: UUID
document_id: UUID
owner_id: UUID
collection_ids: list[UUID]
text: str
metadata: dict[str, Any]
vector: Optional[list[float]] = None
class CollectionResponse(BaseModel):
id: UUID
owner_id: Optional[UUID]
name: str
description: Optional[str]
graph_cluster_status: str
graph_sync_status: str
created_at: datetime
updated_at: datetime
user_count: int
document_count: int
class ConversationResponse(BaseModel):
id: UUID
created_at: datetime
user_id: Optional[UUID] = None
name: Optional[str] = None
class MessageResponse(BaseModel):
id: UUID
message: Message
metadata: dict[str, Any] = {}
class ApiKey(BaseModel):
public_key: str
api_key: str
key_id: str
name: Optional[str] = None
class ApiKeyNoPriv(BaseModel):
public_key: str
key_id: str
name: Optional[str] = None
updated_at: datetime
description: Optional[str] = None
class LoginResponse(BaseModel):
access_token: Token
refresh_token: Token
class UsageLimit(BaseModel):
used: int
limit: int
remaining: int
class StorageTypeLimit(BaseModel):
limit: int
used: int
remaining: int
class StorageLimits(BaseModel):
chunks: StorageTypeLimit
documents: StorageTypeLimit
collections: StorageTypeLimit
class RouteUsage(BaseModel):
route_per_min: UsageLimit
monthly_limit: UsageLimit
class Usage(BaseModel):
global_per_min: UsageLimit
monthly_limit: UsageLimit
routes: dict[str, RouteUsage]
class SystemDefaults(BaseModel):
global_per_min: int
route_per_min: Optional[int]
monthly_limit: int
class LimitsResponse(BaseModel):
storage_limits: StorageLimits
system_defaults: SystemDefaults
user_overrides: dict
effective_limits: SystemDefaults
usage: Usage
# Chunk Responses
WrappedChunkResponse = R2RResults[ChunkResponse]
WrappedChunksResponse = PaginatedR2RResult[list[ChunkResponse]]
# Collection Responses
WrappedCollectionResponse = R2RResults[CollectionResponse]
WrappedCollectionsResponse = PaginatedR2RResult[list[CollectionResponse]]
# Conversation Responses
WrappedConversationMessagesResponse = R2RResults[list[MessageResponse]]
WrappedConversationResponse = R2RResults[ConversationResponse]
WrappedConversationsResponse = PaginatedR2RResult[list[ConversationResponse]]
WrappedMessageResponse = R2RResults[MessageResponse]
WrappedMessagesResponse = PaginatedR2RResult[list[MessageResponse]]
# Document Responses
WrappedDocumentResponse = R2RResults[DocumentResponse]
WrappedDocumentsResponse = PaginatedR2RResult[list[DocumentResponse]]
# Prompt Responses
WrappedPromptResponse = R2RResults[PromptResponse]
WrappedPromptsResponse = PaginatedR2RResult[list[PromptResponse]]
# System Responses
WrappedSettingsResponse = R2RResults[SettingsResponse]
WrappedServerStatsResponse = R2RResults[ServerStats]
# User Responses
WrappedUserResponse = R2RResults[User]
WrappedUsersResponse = PaginatedR2RResult[list[User]]
WrappedAPIKeyResponse = R2RResults[ApiKey]
WrappedAPIKeysResponse = PaginatedR2RResult[list[ApiKeyNoPriv]]
WrappedLoginResponse = R2RResults[LoginResponse]
WrappedLimitsResponse = R2RResults[LimitsResponse]
|