GPTRouter 0.2.1__tar.gz → 0.2.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {GPTRouter-0.2.1 → GPTRouter-0.2.5}/GPTRouter.egg-info/PKG-INFO +1 -1
- {GPTRouter-0.2.1 → GPTRouter-0.2.5}/PKG-INFO +1 -1
- {GPTRouter-0.2.1 → GPTRouter-0.2.5}/gpt_router/client.py +10 -1
- GPTRouter-0.2.5/gpt_router/enums.py +162 -0
- {GPTRouter-0.2.1 → GPTRouter-0.2.5}/gpt_router/models.py +4 -2
- {GPTRouter-0.2.1 → GPTRouter-0.2.5}/setup.py +1 -1
- GPTRouter-0.2.1/gpt_router/enums.py +0 -40
- {GPTRouter-0.2.1 → GPTRouter-0.2.5}/GPTRouter.egg-info/SOURCES.txt +0 -0
- {GPTRouter-0.2.1 → GPTRouter-0.2.5}/GPTRouter.egg-info/dependency_links.txt +0 -0
- {GPTRouter-0.2.1 → GPTRouter-0.2.5}/GPTRouter.egg-info/requires.txt +0 -0
- {GPTRouter-0.2.1 → GPTRouter-0.2.5}/GPTRouter.egg-info/top_level.txt +0 -0
- {GPTRouter-0.2.1 → GPTRouter-0.2.5}/LICENSE +0 -0
- {GPTRouter-0.2.1 → GPTRouter-0.2.5}/README.md +0 -0
- {GPTRouter-0.2.1 → GPTRouter-0.2.5}/gpt_router/__init__.py +0 -0
- {GPTRouter-0.2.1 → GPTRouter-0.2.5}/gpt_router/constants.py +0 -0
- {GPTRouter-0.2.1 → GPTRouter-0.2.5}/gpt_router/exceptions.py +0 -0
- {GPTRouter-0.2.1 → GPTRouter-0.2.5}/pyproject.toml +0 -0
- {GPTRouter-0.2.1 → GPTRouter-0.2.5}/setup.cfg +0 -0
|
@@ -3,7 +3,7 @@ from pydantic import parse_obj_as
|
|
|
3
3
|
import logging
|
|
4
4
|
import json
|
|
5
5
|
import httpx
|
|
6
|
-
from typing import Generator, List, Union
|
|
6
|
+
from typing import Generator, List, Optional, Union
|
|
7
7
|
|
|
8
8
|
from gpt_router.models import (
|
|
9
9
|
ImageGenerationRequest,
|
|
@@ -206,6 +206,9 @@ class GPTRouterClient:
|
|
|
206
206
|
*,
|
|
207
207
|
ordered_generation_requests: List[ModelGenerationRequest],
|
|
208
208
|
is_stream=False,
|
|
209
|
+
tag: Optional[str] = None,
|
|
210
|
+
user_id: Optional[str] = None,
|
|
211
|
+
history_id: Optional[str] = None,
|
|
209
212
|
) -> GenerationResponse:
|
|
210
213
|
api_path = "/v1/generate"
|
|
211
214
|
api_method = "POST"
|
|
@@ -215,6 +218,9 @@ class GPTRouterClient:
|
|
|
215
218
|
request.dict(exclude_none=True, by_alias=True)
|
|
216
219
|
for request in ordered_generation_requests
|
|
217
220
|
],
|
|
221
|
+
"tag": tag,
|
|
222
|
+
"createdByUserId": user_id,
|
|
223
|
+
"historyId": history_id,
|
|
218
224
|
}
|
|
219
225
|
if is_stream:
|
|
220
226
|
return self.astream_events(
|
|
@@ -242,6 +248,9 @@ class GPTRouterClient:
|
|
|
242
248
|
payload=api_payload,
|
|
243
249
|
)
|
|
244
250
|
generated_images = api_response.get("response", [])
|
|
251
|
+
if isinstance(generated_images, dict):
|
|
252
|
+
generated_images = generated_images.get('artifacts', [])
|
|
253
|
+
|
|
245
254
|
return [
|
|
246
255
|
parse_obj_as(ImageGenerationResponse, generated_img)
|
|
247
256
|
for generated_img in generated_images
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
from collections import namedtuple
|
|
2
|
+
from enum import Enum
|
|
3
|
+
|
|
4
|
+
class ProvidersEnum(Enum):
|
|
5
|
+
OPENAI = "openai"
|
|
6
|
+
CHAT_OPENAI = "chat_openai"
|
|
7
|
+
ANTHROPIC = "anthropic"
|
|
8
|
+
CHAT_ANTHROPIC = "chat_anthropic"
|
|
9
|
+
AZURE_CHAT_OPENAI = "azure_chat_openai"
|
|
10
|
+
COHERE = "cohere"
|
|
11
|
+
DALLE = "dall-e"
|
|
12
|
+
TOGETHER_AI = "together_ai"
|
|
13
|
+
MISTRAL_AI = "mistral_ai"
|
|
14
|
+
PERPLEXITY = "perplexity"
|
|
15
|
+
STABLE_DIFFUSION = "stable-diffusion"
|
|
16
|
+
DALL_E = "dall-e"
|
|
17
|
+
OPENROUTER = "openrouter"
|
|
18
|
+
|
|
19
|
+
class ModelsEnum(Enum):
|
|
20
|
+
OPENAI_GPT_35_TURBO_16K = "gpt-3.5-turbo-16k"
|
|
21
|
+
AZURE_GPT_35_TURBO_16K = "gpt-35-turbo-16k"
|
|
22
|
+
|
|
23
|
+
OPENAI_GPT_35_TURBO_1106 = "gpt-3.5-turbo-1106"
|
|
24
|
+
|
|
25
|
+
OPENAI_GPT_35_TURBO_0613 = "gpt-3.5-turbo-0613"
|
|
26
|
+
|
|
27
|
+
AZURE_GPT_35_TURBO = "gpt-35-turbo"
|
|
28
|
+
|
|
29
|
+
OPENAI_GPT_4 = "gpt-4"
|
|
30
|
+
AZURE_GPT_4 = "gpt-4"
|
|
31
|
+
|
|
32
|
+
OPENAI_GPT_4_0613 = "gpt-4-0613"
|
|
33
|
+
|
|
34
|
+
OPENAI_GPT_4_32K = "gpt-4-32k"
|
|
35
|
+
AZURE_GPT_4_32K = "gpt-4-32k"
|
|
36
|
+
|
|
37
|
+
OPENAI_GPT_35_TURBO_INSTRUCT = "gpt-3.5-turbo-instruct"
|
|
38
|
+
|
|
39
|
+
CLAUDE_INSTANT_12 = "claude-instant-1.2"
|
|
40
|
+
|
|
41
|
+
DALLE_3 = "dall-e-3"
|
|
42
|
+
|
|
43
|
+
STABLE_DIFFUSION_XL = "stable-diffusion-xl-1024-v1-0"
|
|
44
|
+
STABLE_DIFFUSION_V6 = "stable-diffusion-v1-6"
|
|
45
|
+
|
|
46
|
+
class StreamingEventType(Enum):
|
|
47
|
+
UPDATE = "update"
|
|
48
|
+
META = "meta"
|
|
49
|
+
ERROR = "error"
|
|
50
|
+
GENERATION_SOURCE = "generation_source"
|
|
51
|
+
END = "end"
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
ModelDetails = namedtuple("ModelDetails", ["provider_name", "model_name"])
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
class GPTRouterEngines(Enum):
|
|
58
|
+
OPENAI_GPT_35_TURBO = ModelDetails(
|
|
59
|
+
ProvidersEnum.CHAT_OPENAI.value, "gpt-3.5-turbo"
|
|
60
|
+
)
|
|
61
|
+
OPENAI_GPT_35_TURBO_0613 = ModelDetails(
|
|
62
|
+
ProvidersEnum.CHAT_OPENAI.value, "gpt-3.5-turbo-0613"
|
|
63
|
+
)
|
|
64
|
+
OPENAI_GPT_35_TURBO_1106 = ModelDetails(
|
|
65
|
+
ProvidersEnum.CHAT_OPENAI.value, "gpt-3.5-turbo-1106"
|
|
66
|
+
)
|
|
67
|
+
OPENAI_GPT_35_TURBO_16K_0613 = ModelDetails(
|
|
68
|
+
ProvidersEnum.CHAT_OPENAI.value, "gpt-3.5-turbo-16k-0613"
|
|
69
|
+
)
|
|
70
|
+
OPENAI_GPT_35_TURBO_INSTRUCT = ModelDetails(
|
|
71
|
+
ProvidersEnum.OPENAI.value, "gpt-3.5-turbo-instruct"
|
|
72
|
+
)
|
|
73
|
+
OPENAI_GPT_35_TURBO_0125 = ModelDetails(
|
|
74
|
+
ProvidersEnum.CHAT_OPENAI.value, "gpt-3.5-turbo-0125"
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
OPENAI_GPT_4_0613 = ModelDetails(ProvidersEnum.CHAT_OPENAI.value, "gpt-4-0613")
|
|
78
|
+
OPENAI_GPT_4_TURBO = ModelDetails(
|
|
79
|
+
ProvidersEnum.CHAT_OPENAI.value, "gpt-4-1106-preview"
|
|
80
|
+
)
|
|
81
|
+
OPENAI_GPT_4_TURBO_2024_04_09 = ModelDetails(
|
|
82
|
+
ProvidersEnum.CHAT_OPENAI.value, "gpt-4-turbo-2024-04-09"
|
|
83
|
+
)
|
|
84
|
+
|
|
85
|
+
OPENAI_GPT_4_TURBO_0125 = ModelDetails(
|
|
86
|
+
ProvidersEnum.CHAT_OPENAI.value, "gpt-4-0125-preview"
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
AZURE_OPENAI_GPT_4_TURBO_0125 = ModelDetails(
|
|
90
|
+
ProvidersEnum.AZURE_CHAT_OPENAI.value, "gpt4-turbo-0125"
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
OPENAI_GPT_4_O = ModelDetails(ProvidersEnum.CHAT_OPENAI.value, "gpt-4o")
|
|
94
|
+
|
|
95
|
+
OPENAI_GPT_4_32K_0613 = ModelDetails(
|
|
96
|
+
ProvidersEnum.CHAT_OPENAI.value, "gpt-4-32k-0613"
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
AZURE_GPT_35_TURBO = ModelDetails(
|
|
100
|
+
ProvidersEnum.AZURE_CHAT_OPENAI.value, "gpt-35-turbo"
|
|
101
|
+
)
|
|
102
|
+
AZURE_GPT_35_TURBO_16K = ModelDetails(
|
|
103
|
+
ProvidersEnum.AZURE_CHAT_OPENAI.value, "gpt-35-turbo-16k"
|
|
104
|
+
)
|
|
105
|
+
AZURE_GPT_35_TURBO_1106 = ModelDetails(
|
|
106
|
+
ProvidersEnum.AZURE_CHAT_OPENAI.value, "gpt-35-turbo-1106"
|
|
107
|
+
)
|
|
108
|
+
|
|
109
|
+
AZURE_GPT_4 = ModelDetails(ProvidersEnum.AZURE_CHAT_OPENAI.value, "gpt-4")
|
|
110
|
+
AZURE_GPT_4_TURBO = ModelDetails(
|
|
111
|
+
ProvidersEnum.AZURE_CHAT_OPENAI.value, "gpt-4-turbo"
|
|
112
|
+
)
|
|
113
|
+
AZURE_GPT_4_32K = ModelDetails(
|
|
114
|
+
ProvidersEnum.AZURE_CHAT_OPENAI.value, "gpt-4-32k"
|
|
115
|
+
)
|
|
116
|
+
|
|
117
|
+
CLAUDE_INSTANT_12 = ModelDetails(
|
|
118
|
+
ProvidersEnum.ANTHROPIC.value, "claude-instant-1.2"
|
|
119
|
+
)
|
|
120
|
+
CLAUDE_2 = ModelDetails(ProvidersEnum.ANTHROPIC.value, "claude-2")
|
|
121
|
+
CLAUDE_21 = ModelDetails(ProvidersEnum.ANTHROPIC.value, "claude-2.1")
|
|
122
|
+
CLAUDE_3_OPUS = ModelDetails(
|
|
123
|
+
ProvidersEnum.ANTHROPIC.value, "claude-3-opus-20240229"
|
|
124
|
+
)
|
|
125
|
+
|
|
126
|
+
MISTRAL_7B = ModelDetails(
|
|
127
|
+
ProvidersEnum.TOGETHER_AI.value, "mistralai/Mistral-7B-Instruct-v0.2"
|
|
128
|
+
)
|
|
129
|
+
MIXTRAL_8X7B = ModelDetails(
|
|
130
|
+
ProvidersEnum.TOGETHER_AI.value, "mistralai/Mixtral-8x7B-Instruct-v0.1"
|
|
131
|
+
)
|
|
132
|
+
LLAMA_2_70B = ModelDetails(
|
|
133
|
+
ProvidersEnum.TOGETHER_AI.value, "togethercomputer/llama-2-70b-chat"
|
|
134
|
+
)
|
|
135
|
+
|
|
136
|
+
MISTRAL_MEDIUM = ModelDetails(ProvidersEnum.MISTRAL_AI.value, "mistral-medium")
|
|
137
|
+
|
|
138
|
+
PPTX_70B_ONLINE = ModelDetails(
|
|
139
|
+
ProvidersEnum.PERPLEXITY.value, "pplx-70b-online"
|
|
140
|
+
)
|
|
141
|
+
PPTX_7B_ONLINE = ModelDetails(ProvidersEnum.PERPLEXITY.value, "pplx-7b-online")
|
|
142
|
+
|
|
143
|
+
STABLE_DIFFUSION_XL = ModelDetails(
|
|
144
|
+
ProvidersEnum.STABLE_DIFFUSION.value, "stable-diffusion-xl-1024-v1-0"
|
|
145
|
+
)
|
|
146
|
+
DALLE_3 = ModelDetails(ProvidersEnum.DALL_E.value, "dall-e-3")
|
|
147
|
+
|
|
148
|
+
LLAMA_3_70B_NITRO = ModelDetails(
|
|
149
|
+
ProvidersEnum.OPENROUTER, "meta-llama/llama-3-70b-instruct:nitro"
|
|
150
|
+
)
|
|
151
|
+
|
|
152
|
+
CLAUDE_3_SONNET = ModelDetails(
|
|
153
|
+
ProvidersEnum.CHAT_ANTHROPIC.value, "claude-3-sonnet-20240229"
|
|
154
|
+
)
|
|
155
|
+
|
|
156
|
+
CLAUDE_3_HAIKU = ModelDetails(
|
|
157
|
+
ProvidersEnum.CHAT_ANTHROPIC.value, "claude-3-haiku-20240307"
|
|
158
|
+
)
|
|
159
|
+
|
|
160
|
+
OPENROUTER_CLAUDE_3_HAIKU = ModelDetails(
|
|
161
|
+
ProvidersEnum.OPENROUTER.value, "anthropic/claude-3-haiku"
|
|
162
|
+
)
|
|
@@ -21,6 +21,7 @@ class GenerationParams(BaseModel):
|
|
|
21
21
|
functions: Optional[List[Any]] = None
|
|
22
22
|
function_call: Optional[dict] = None
|
|
23
23
|
tools: Optional[List[Any]] = None
|
|
24
|
+
response_format: Optional[Dict[str, Any]] = None
|
|
24
25
|
|
|
25
26
|
|
|
26
27
|
class ModelGenerationRequest(BaseModel):
|
|
@@ -92,5 +93,6 @@ class ImageGenerationRequest(BaseModel):
|
|
|
92
93
|
|
|
93
94
|
|
|
94
95
|
class ImageGenerationResponse(BaseModel):
|
|
95
|
-
|
|
96
|
-
|
|
96
|
+
url: str = None
|
|
97
|
+
base64: str = None
|
|
98
|
+
finish_reason: Optional[str] = Field(default="SUCCESS", alias='finishReason')
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
from enum import Enum
|
|
2
|
-
|
|
3
|
-
class ProvidersEnum(Enum):
|
|
4
|
-
OPENAI = "openai"
|
|
5
|
-
CHAT_OPENAI = "chat_openai"
|
|
6
|
-
ANTHROPIC = "anthropic"
|
|
7
|
-
AZURE_CHAT_OPENAI = "azure_chat_openai"
|
|
8
|
-
COHERE = "cohere"
|
|
9
|
-
DALLE = "dall-e"
|
|
10
|
-
|
|
11
|
-
class ModelsEnum(Enum):
|
|
12
|
-
OPENAI_GPT_35_TURBO_16K = "gpt-3.5-turbo-16k"
|
|
13
|
-
AZURE_GPT_35_TURBO_16K = "gpt-35-turbo-16k"
|
|
14
|
-
|
|
15
|
-
OPENAI_GPT_35_TURBO_1106 = "gpt-3.5-turbo-1106"
|
|
16
|
-
|
|
17
|
-
OPENAI_GPT_35_TURBO_0613 = "gpt-3.5-turbo-0613"
|
|
18
|
-
|
|
19
|
-
AZURE_GPT_35_TURBO = "gpt-35-turbo"
|
|
20
|
-
|
|
21
|
-
OPENAI_GPT_4 = "gpt-4"
|
|
22
|
-
AZURE_GPT_4 = "gpt-4"
|
|
23
|
-
|
|
24
|
-
OPENAI_GPT_4_0613 = "gpt-4-0613"
|
|
25
|
-
|
|
26
|
-
OPENAI_GPT_4_32K = "gpt-4-32k"
|
|
27
|
-
AZURE_GPT_4_32K = "gpt-4-32k"
|
|
28
|
-
|
|
29
|
-
OPENAI_GPT_35_TURBO_INSTRUCT = "gpt-3.5-turbo-instruct"
|
|
30
|
-
|
|
31
|
-
CLAUDE_INSTANT_12 = "claude-instant-1.2"
|
|
32
|
-
|
|
33
|
-
DALLE_3 = "dall-e-3"
|
|
34
|
-
|
|
35
|
-
class StreamingEventType(Enum):
|
|
36
|
-
UPDATE = "update"
|
|
37
|
-
META = "meta"
|
|
38
|
-
ERROR = "error"
|
|
39
|
-
GENERATION_SOURCE = "generation_source"
|
|
40
|
-
END = "end"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|