返回提交历史
Modified
g4f/Provider/ReplicateHome.py
+22
-4
XFEstudio/gpt4free
Fix g4f/Provider/ReplicateHome.py
33cc1cb1
代码差异
1 个文件
+22
-4
@@ -16,7 +16,7 @@ class ReplicateHome(AsyncGeneratorProvider, ProviderModelMixin):
16
16
working = True
17
17
default_model = 'stability-ai/stable-diffusion-3'
18
18
models = [
19
# Models for image generation
19
# Models for image generation
20
20
'stability-ai/stable-diffusion-3',
21
21
'bytedance/sdxl-lightning-4step',
22
22
'playgroundai/playground-v2.5-1024px-aesthetic',
@@ -28,7 +28,7 @@ class ReplicateHome(AsyncGeneratorProvider, ProviderModelMixin):
28
28
]
29
29
30
30
versions = {
31
# Model versions for generating images
31
# Model versions for generating images
32
32
'stability-ai/stable-diffusion-3': [
33
33
"527d2a6296facb8e47ba1eaf17f142c240c19a30894f437feee9b91cc29d8e4f"
34
34
],
@@ -39,7 +39,6 @@ class ReplicateHome(AsyncGeneratorProvider, ProviderModelMixin):
39
39
"a45f82a1382bed5c7aeb861dac7c7d191b0fdf74d8d57c4a0e6ed7d4d0bf7d24"
40
40
],
41
41
42
43
42
# Model versions for text generation
44
43
'meta/meta-llama-3-70b-instruct': [
45
44
"dp-cf04fe09351e25db628e8b6181276547"
@@ -55,6 +54,24 @@ class ReplicateHome(AsyncGeneratorProvider, ProviderModelMixin):
55
54
image_models = {"stability-ai/stable-diffusion-3", "bytedance/sdxl-lightning-4step", "playgroundai/playground-v2.5-1024px-aesthetic"}
56
55
text_models = {"meta/meta-llama-3-70b-instruct", "mistralai/mixtral-8x7b-instruct-v0.1", "google-deepmind/gemma-2b-it"}
57
56
57
model_aliases = {
58
"stable-diffusion-3": "stability-ai/stable-diffusion-3",
59
"sdxl-lightning-4step": "bytedance/sdxl-lightning-4step",
60
"playground-v2.5-aesthetic": "playgroundai/playground-v2.5-1024px-aesthetic",
61
"llama-3-70b": "meta/meta-llama-3-70b-instruct",
62
"mixtral-8x7b": "mistralai/mixtral-8x7b-instruct-v0.1",
63
"gemma-2b": "google-deepmind/gemma-2b-it",
64
}
65
66
@classmethod
67
def get_model(cls, model: str) -> str:
68
if model in cls.models:
69
return model
70
elif model in cls.model_aliases:
71
return cls.model_aliases[model]
72
else:
73
return cls.default_model
74
58
75
@classmethod
59
76
async def create_async_generator(
60
77
cls,
@@ -76,6 +93,7 @@ class ReplicateHome(AsyncGeneratorProvider, ProviderModelMixin):
76
93
extra_data: Dict[str, Any] = {},
77
94
**kwargs: Any
78
95
) -> Union[str, ImageResponse]:
96
model = cls.get_model(model) # Use the get_model method to resolve model name
79
97
headers = {
80
98
'Accept-Encoding': 'gzip, deflate, br',
81
99
'Accept-Language': 'en-US',
@@ -109,7 +127,7 @@ class ReplicateHome(AsyncGeneratorProvider, ProviderModelMixin):
109
127
"version": version
110
128
}
111
129
if api_key is None:
112
data["model"] = cls.get_model(model)
130
data["model"] = model
113
131
url = "https://homepage.replicate.com/api/prediction"
114
132
else:
115
133
url = "https://api.replicate.com/v1/predictions"