summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTekky <98614666+xtekky@users.noreply.github.com>2023-10-01 04:27:52 +0200
committerGitHub <noreply@github.com>2023-10-01 04:27:52 +0200
commit9e9f174ebd9d0374c82f0283e8302a9a1e8e09e5 (patch)
treed0877c38f65af36a5060a69d733f455a43c288d4
parent~ (diff)
parent~ (diff)
downloadgpt4free-9e9f174ebd9d0374c82f0283e8302a9a1e8e09e5.tar
gpt4free-9e9f174ebd9d0374c82f0283e8302a9a1e8e09e5.tar.gz
gpt4free-9e9f174ebd9d0374c82f0283e8302a9a1e8e09e5.tar.bz2
gpt4free-9e9f174ebd9d0374c82f0283e8302a9a1e8e09e5.tar.lz
gpt4free-9e9f174ebd9d0374c82f0283e8302a9a1e8e09e5.tar.xz
gpt4free-9e9f174ebd9d0374c82f0283e8302a9a1e8e09e5.tar.zst
gpt4free-9e9f174ebd9d0374c82f0283e8302a9a1e8e09e5.zip
-rw-r--r--g4f/Provider/Aivvm.py31
-rw-r--r--g4f/models.py48
-rw-r--r--testing/test_chat_completion.py14
3 files changed, 54 insertions, 39 deletions
diff --git a/g4f/Provider/Aivvm.py b/g4f/Provider/Aivvm.py
index 7a3d57bd..1ba6d6f1 100644
--- a/g4f/Provider/Aivvm.py
+++ b/g4f/Provider/Aivvm.py
@@ -4,6 +4,7 @@ import requests
from .base_provider import BaseProvider
from ..typing import CreateResult
+# to recreate this easily, send a post request to https://chat.aivvm.com/api/models
models = {
'gpt-3.5-turbo': {'id': 'gpt-3.5-turbo', 'name': 'GPT-3.5'},
'gpt-3.5-turbo-0613': {'id': 'gpt-3.5-turbo-0613', 'name': 'GPT-3.5-0613'},
@@ -32,29 +33,27 @@ class Aivvm(BaseProvider):
if not model:
model = "gpt-3.5-turbo"
elif model not in models:
- raise ValueError(f"Model are not supported: {model}")
-
+ raise ValueError(f"Model is not supported: {model}")
+
headers = {
- "authority" : "chat.aivvm.com",
- "accept" : "*/*",
- "accept-language" : "en,fr-FR;q=0.9,fr;q=0.8,es-ES;q=0.7,es;q=0.6,en-US;q=0.5,am;q=0.4,de;q=0.3",
- "content-type" : "application/json",
- "origin" : "https://chat.aivvm.com",
- "referer" : "https://chat.aivvm.com/",
- "sec-ch-ua" : '"Google Chrome";v="117", "Not;A=Brand";v="8", "Chromium";v="117"',
- "sec-ch-ua-mobile" : "?0",
- "sec-ch-ua-platform" : '"macOS"',
- "sec-fetch-dest" : "empty",
- "sec-fetch-mode" : "cors",
- "sec-fetch-site" : "same-origin",
- "user-agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36",
+ "accept" : "*/*",
+ "accept-language" : "hu-HU,hu;q=0.9,en-US;q=0.8,en;q=0.7",
+ "content-type" : "application/json",
+ "sec-ch-ua" : "\"Kuki\";v=\"116\", \"Not)A;Brand\";v=\"24\", \"Pici Pocoro\";v=\"102\"",
+ "sec-ch-ua-mobile" : "?0",
+ "sec-ch-ua-platform": "\"Bandóz\"",
+ "sec-fetch-dest" : "empty",
+ "sec-fetch-mode" : "cors",
+ "sec-fetch-site" : "same-origin",
+ "Referer" : "https://chat.aivvm.com/",
+ "Referrer-Policy" : "same-origin",
}
json_data = {
"model" : models[model],
"messages" : messages,
"key" : "",
- "prompt" : "You are ChatGPT, a large language model trained by OpenAI. Follow the user's instructions carefully. Respond using markdown.",
+ "prompt" : kwargs.get("system_message", "You are ChatGPT, a large language model trained by OpenAI. Follow the user's instructions carefully. Respond using markdown."),
"temperature" : kwargs.get("temperature", 0.7)
}
diff --git a/g4f/models.py b/g4f/models.py
index 7c2d6822..cca9e850 100644
--- a/g4f/models.py
+++ b/g4f/models.py
@@ -3,25 +3,25 @@ from dataclasses import dataclass
from .typing import Union
from .Provider import BaseProvider, RetryProvider
from .Provider import (
+ AItianhuSpace,
ChatgptLogin,
- ChatgptAi,
+ PerplexityAi,
+ ChatgptDuo,
+ ChatgptAi,
ChatBase,
+ AItianhu,
+ Wewordle,
+ Yqcloud,
+ Myshell,
Vercel,
DeepAi,
+ Aichat,
Aivvm,
- Bard,
- H2o,
GptGo,
- Bing,
- PerplexityAi,
- Wewordle,
- Yqcloud,
- AItianhu,
- AItianhuSpace,
- Aichat,
- Myshell,
+ Bard,
Aibn,
- ChatgptDuo,
+ Bing,
+ H2o,
)
@dataclass(unsafe_hash=True)
@@ -166,7 +166,17 @@ gpt_35_turbo_0613 = Model(
gpt_4_0613 = Model(
name = 'gpt-4-0613',
base_provider = 'openai',
- best_provider = Vercel)
+ best_provider = Aivvm)
+
+gpt_4_32k = Model(
+ name = 'gpt-4-32k',
+ base_provider = 'openai',
+ best_provider = Aivvm)
+
+gpt_4_32k_0613 = Model(
+ name = 'gpt-4-32k-0613',
+ base_provider = 'openai',
+ best_provider = Aivvm)
text_ada_001 = Model(
name = 'text-ada-001',
@@ -206,13 +216,17 @@ llama7b_v2_chat = Model(
class ModelUtils:
convert: dict[str, Model] = {
- # gpt-3.5 / gpt-4
+ # gpt-3.5
'gpt-3.5-turbo' : gpt_35_turbo,
'gpt-3.5-turbo-16k' : gpt_35_turbo_16k,
- 'gpt-4' : gpt_4,
- 'gpt-4-0613' : gpt_4_0613,
'gpt-3.5-turbo-16k-0613' : gpt_35_turbo_16k_0613,
+ # gpt-4
+ 'gpt-4' : gpt_4,
+ 'gpt-4-0613' : gpt_4_0613,
+ 'gpt-4-32k' : gpt_4_32k,
+ 'gpt-4-32k-0613' : gpt_4_32k_0613,
+
# Bard
'palm2' : palm,
'palm' : palm,
@@ -247,4 +261,4 @@ class ModelUtils:
'oasst-sft-1-pythia-12b' : oasst_sft_1_pythia_12b,
'oasst-sft-4-pythia-12b-epoch-3.5' : oasst_sft_4_pythia_12b_epoch_35,
'command-light-nightly' : command_light_nightly,
- } \ No newline at end of file
+ }
diff --git a/testing/test_chat_completion.py b/testing/test_chat_completion.py
index d901e697..7600e46b 100644
--- a/testing/test_chat_completion.py
+++ b/testing/test_chat_completion.py
@@ -7,19 +7,21 @@ import g4f, asyncio
print("create:", end=" ", flush=True)
for response in g4f.ChatCompletion.create(
- model=g4f.models.gpt_35_turbo,
- provider=g4f.Provider.GptGo,
- messages=[{"role": "user", "content": "hello!"}],
+ model=g4f.models.gpt_4_32k_0613,
+ provider=g4f.Provider.Aivvm,
+ messages=[{"role": "user", "content": "send a bunch of emojis. i want to test something"}],
+ temperature=0.0,
+ stream=True
):
print(response, end="", flush=True)
print()
async def run_async():
response = await g4f.ChatCompletion.create_async(
- model=g4f.models.gpt_35_turbo,
- provider=g4f.Provider.GptGo,
+ model=g4f.models.gpt_35_turbo_16k_0613,
+ provider=g4f.Provider.Aivvm,
messages=[{"role": "user", "content": "hello!"}],
)
print("create_async:", response)
-asyncio.run(run_async())
+# asyncio.run(run_async())