From eb13f3b01de69e03bc388d28365a211a9561ef79 Mon Sep 17 00:00:00 2001
From: Hexye <65314629+HexyeDEV@users.noreply.github.com>
Date: Wed, 4 Oct 2023 22:45:34 +0200
Subject: [PATCH 1/4] Create Cromicle.py
---
g4f/Provider/Cromicle.py | 50 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
create mode 100644 g4f/Provider/Cromicle.py
diff --git a/g4f/Provider/Cromicle.py b/g4f/Provider/Cromicle.py
new file mode 100644
index 00000000..9c2ae4bc
--- /dev/null
+++ b/g4f/Provider/Cromicle.py
@@ -0,0 +1,50 @@
+from __future__ import annotations
+
+from aiohttp import ClientSession
+from hashlib import sha256
+
+from ..typing import AsyncGenerator
+from .base_provider import AsyncGeneratorProvider
+
+
+class Cromicle(AsyncGeneratorProvider):
+ url = 'https://cromicle.top'
+ working = True
+ supports_gpt_35_turbo = True
+
+ @classmethod
+ async def create_async_generator(
+ cls,
+ model: str,
+ messages: list[dict[str, str]],
+ proxy: str = None,
+ **kwargs
+ ) -> AsyncGenerator:
+
+ async with ClientSession(
+ headers=_create_header()
+ ) as session:
+ async with session.post(
+ cls.url + '/chat',
+ proxy=proxy,
+ json=_create_payload(message, **kwargs)
+ ) as response:
+ response.raise_for_status()
+ async for stream in response.content.iter_any():
+ if stream:
+ yield stream.decode()
+
+
+def _create_header():
+ return {
+ 'accept': '*/*',
+ 'content-type': 'application/json',
+ }
+
+
+def _create_payload(message: str):
+ return {
+ 'message' : message,
+ 'token' : 'abc',
+ 'hash' : sha256(token.encode() + message.encode()).hexdigest()
+ }
From 3b418e8cc5765552a22aed72f695c188858ad35e Mon Sep 17 00:00:00 2001
From: Hexye <65314629+HexyeDEV@users.noreply.github.com>
Date: Wed, 4 Oct 2023 22:51:41 +0200
Subject: [PATCH 2/4] Update Cromicle.py
---
g4f/Provider/Cromicle.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/g4f/Provider/Cromicle.py b/g4f/Provider/Cromicle.py
index 9c2ae4bc..bd29544d 100644
--- a/g4f/Provider/Cromicle.py
+++ b/g4f/Provider/Cromicle.py
@@ -20,7 +20,7 @@ class Cromicle(AsyncGeneratorProvider):
proxy: str = None,
**kwargs
) -> AsyncGenerator:
-
+ message = messages[-1]["content"]
async with ClientSession(
headers=_create_header()
) as session:
@@ -46,5 +46,5 @@ def _create_payload(message: str):
return {
'message' : message,
'token' : 'abc',
- 'hash' : sha256(token.encode() + message.encode()).hexdigest()
+ 'hash' : sha256('abc'.encode() + message.encode()).hexdigest()
}
From b3d9ae9a5bb4ca4663a89ae8391244bb864237de Mon Sep 17 00:00:00 2001
From: Hexye <65314629+HexyeDEV@users.noreply.github.com>
Date: Wed, 4 Oct 2023 22:53:47 +0200
Subject: [PATCH 3/4] Update README.md
---
README.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 1d26700d..fefd0985 100644
--- a/README.md
+++ b/README.md
@@ -375,6 +375,7 @@ if __name__ == "__main__":
| [chat.ylokh.xyz](https://chat.ylokh.xyz) | `g4f.Provider.Ylokh` | ✔️ | ❌ | ✔️ | ✔️ | ![Active](https://img.shields.io/badge/Active-brightgreen) | ❌ |
| [you.com](https://you.com) | `g4f.Provider.You` | ✔️ | ❌ | ❌ | ✔️ | ![Active](https://img.shields.io/badge/Active-brightgreen) | ❌ |
| [chat9.yqcloud.top](https://chat9.yqcloud.top/) | `g4f.Provider.Yqcloud` | ✔️ | ❌ | ✔️ | ✔️ | ![Active](https://img.shields.io/badge/Active-brightgreen) | ❌ |
+| [cromicle.top](https://cromicle.top) | `g4f.Provider.Cromicle` | ✔️ | ❌ | ✔️ | ✔️ | ![Active](https://img.shields.io/badge/Active-brightgreen) | ❌ |
| [aiservice.vercel.app](https://aiservice.vercel.app/) | `g4f.Provider.AiService` | ✔️ | ❌ | ❌ | ❌ | ![Inactive](https://img.shields.io/badge/Inactive-red) | ❌ |
| [chat.dfehub.com](https://chat.dfehub.com/) | `g4f.Provider.DfeHub` | ✔️ | ❌ | ✔️ | ❌ | ![Inactive](https://img.shields.io/badge/Inactive-red) | ❌ |
| [free.easychat.work](https://free.easychat.work) | `g4f.Provider.EasyChat` | ✔️ | ❌ | ✔️ | ❌ | ![Inactive](https://img.shields.io/badge/Inactive-red) | ❌ |
@@ -573,4 +574,4 @@ along with this program. If not, see .
-
\ No newline at end of file
+
From 307767147003fe8559aff0f95cf781dfac77ae5e Mon Sep 17 00:00:00 2001
From: Hexye <65314629+HexyeDEV@users.noreply.github.com>
Date: Wed, 4 Oct 2023 22:59:09 +0200
Subject: [PATCH 4/4] Update models.py
---
g4f/models.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/g4f/models.py b/g4f/models.py
index 4a6c9faf..07a9b423 100644
--- a/g4f/models.py
+++ b/g4f/models.py
@@ -25,6 +25,7 @@ from .Provider import (
Aibn,
Bing,
H2o,
+ Cromicle,
)
@dataclass(unsafe_hash=True)
@@ -54,7 +55,7 @@ gpt_35_turbo = Model(
name = 'gpt-3.5-turbo',
base_provider = 'openai',
best_provider = RetryProvider([
- DeepAi, ChatgptLogin, ChatgptAi, Aivvm, GptGo, AItianhu, Aichat, AItianhuSpace, Myshell, Aibn, ChatForAi, FreeGpt, Ylokh,
+ DeepAi, ChatgptLogin, ChatgptAi, Aivvm, GptGo, AItianhu, Aichat, AItianhuSpace, Myshell, Aibn, ChatForAi, FreeGpt, Ylokh, Cromicle
])
)