mirror of
https://github.com/xtekky/gpt4free.git
synced 2024-09-12 00:29:27 -04:00
Merge branch 'main' of https://github.com/xtekky/gpt4free
This commit is contained in:
commit
83443ee912
@ -4,6 +4,7 @@ import requests
|
|||||||
from .base_provider import BaseProvider
|
from .base_provider import BaseProvider
|
||||||
from ..typing import CreateResult
|
from ..typing import CreateResult
|
||||||
|
|
||||||
|
# to recreate this easily, send a post request to https://chat.aivvm.com/api/models
|
||||||
models = {
|
models = {
|
||||||
'gpt-3.5-turbo': {'id': 'gpt-3.5-turbo', 'name': 'GPT-3.5'},
|
'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'},
|
'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:
|
if not model:
|
||||||
model = "gpt-3.5-turbo"
|
model = "gpt-3.5-turbo"
|
||||||
elif model not in models:
|
elif model not in models:
|
||||||
raise ValueError(f"Model are not supported: {model}")
|
raise ValueError(f"Model is not supported: {model}")
|
||||||
|
|
||||||
headers = {
|
headers = {
|
||||||
"authority" : "chat.aivvm.com",
|
"accept" : "*/*",
|
||||||
"accept" : "*/*",
|
"accept-language" : "hu-HU,hu;q=0.9,en-US;q=0.8,en;q=0.7",
|
||||||
"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",
|
||||||
"content-type" : "application/json",
|
"sec-ch-ua" : "\"Kuki\";v=\"116\", \"Not)A;Brand\";v=\"24\", \"Pici Pocoro\";v=\"102\"",
|
||||||
"origin" : "https://chat.aivvm.com",
|
"sec-ch-ua-mobile" : "?0",
|
||||||
"referer" : "https://chat.aivvm.com/",
|
"sec-ch-ua-platform": "\"Bandóz\"",
|
||||||
"sec-ch-ua" : '"Google Chrome";v="117", "Not;A=Brand";v="8", "Chromium";v="117"',
|
"sec-fetch-dest" : "empty",
|
||||||
"sec-ch-ua-mobile" : "?0",
|
"sec-fetch-mode" : "cors",
|
||||||
"sec-ch-ua-platform" : '"macOS"',
|
"sec-fetch-site" : "same-origin",
|
||||||
"sec-fetch-dest" : "empty",
|
"Referer" : "https://chat.aivvm.com/",
|
||||||
"sec-fetch-mode" : "cors",
|
"Referrer-Policy" : "same-origin",
|
||||||
"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",
|
|
||||||
}
|
}
|
||||||
|
|
||||||
json_data = {
|
json_data = {
|
||||||
"model" : models[model],
|
"model" : models[model],
|
||||||
"messages" : messages,
|
"messages" : messages,
|
||||||
"key" : "",
|
"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)
|
"temperature" : kwargs.get("temperature", 0.7)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,25 +3,25 @@ from dataclasses import dataclass
|
|||||||
from .typing import Union
|
from .typing import Union
|
||||||
from .Provider import BaseProvider, RetryProvider
|
from .Provider import BaseProvider, RetryProvider
|
||||||
from .Provider import (
|
from .Provider import (
|
||||||
|
AItianhuSpace,
|
||||||
ChatgptLogin,
|
ChatgptLogin,
|
||||||
ChatgptAi,
|
|
||||||
ChatBase,
|
|
||||||
Vercel,
|
|
||||||
DeepAi,
|
|
||||||
Aivvm,
|
|
||||||
Bard,
|
|
||||||
H2o,
|
|
||||||
GptGo,
|
|
||||||
Bing,
|
|
||||||
PerplexityAi,
|
PerplexityAi,
|
||||||
|
ChatgptDuo,
|
||||||
|
ChatgptAi,
|
||||||
|
ChatBase,
|
||||||
|
AItianhu,
|
||||||
Wewordle,
|
Wewordle,
|
||||||
Yqcloud,
|
Yqcloud,
|
||||||
AItianhu,
|
|
||||||
AItianhuSpace,
|
|
||||||
Aichat,
|
|
||||||
Myshell,
|
Myshell,
|
||||||
|
Vercel,
|
||||||
|
DeepAi,
|
||||||
|
Aichat,
|
||||||
|
Aivvm,
|
||||||
|
GptGo,
|
||||||
|
Bard,
|
||||||
Aibn,
|
Aibn,
|
||||||
ChatgptDuo,
|
Bing,
|
||||||
|
H2o,
|
||||||
)
|
)
|
||||||
|
|
||||||
@dataclass(unsafe_hash=True)
|
@dataclass(unsafe_hash=True)
|
||||||
@ -166,7 +166,17 @@ gpt_35_turbo_0613 = Model(
|
|||||||
gpt_4_0613 = Model(
|
gpt_4_0613 = Model(
|
||||||
name = 'gpt-4-0613',
|
name = 'gpt-4-0613',
|
||||||
base_provider = 'openai',
|
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(
|
text_ada_001 = Model(
|
||||||
name = 'text-ada-001',
|
name = 'text-ada-001',
|
||||||
@ -206,13 +216,17 @@ llama7b_v2_chat = Model(
|
|||||||
|
|
||||||
class ModelUtils:
|
class ModelUtils:
|
||||||
convert: dict[str, Model] = {
|
convert: dict[str, Model] = {
|
||||||
# gpt-3.5 / gpt-4
|
# gpt-3.5
|
||||||
'gpt-3.5-turbo' : gpt_35_turbo,
|
'gpt-3.5-turbo' : gpt_35_turbo,
|
||||||
'gpt-3.5-turbo-16k' : gpt_35_turbo_16k,
|
'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-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
|
# Bard
|
||||||
'palm2' : palm,
|
'palm2' : palm,
|
||||||
'palm' : palm,
|
'palm' : palm,
|
||||||
@ -247,4 +261,4 @@ class ModelUtils:
|
|||||||
'oasst-sft-1-pythia-12b' : oasst_sft_1_pythia_12b,
|
'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,
|
'oasst-sft-4-pythia-12b-epoch-3.5' : oasst_sft_4_pythia_12b_epoch_35,
|
||||||
'command-light-nightly' : command_light_nightly,
|
'command-light-nightly' : command_light_nightly,
|
||||||
}
|
}
|
||||||
|
@ -7,19 +7,21 @@ import g4f, asyncio
|
|||||||
|
|
||||||
print("create:", end=" ", flush=True)
|
print("create:", end=" ", flush=True)
|
||||||
for response in g4f.ChatCompletion.create(
|
for response in g4f.ChatCompletion.create(
|
||||||
model=g4f.models.gpt_35_turbo,
|
model=g4f.models.gpt_4_32k_0613,
|
||||||
provider=g4f.Provider.GptGo,
|
provider=g4f.Provider.Aivvm,
|
||||||
messages=[{"role": "user", "content": "hello!"}],
|
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(response, end="", flush=True)
|
||||||
print()
|
print()
|
||||||
|
|
||||||
async def run_async():
|
async def run_async():
|
||||||
response = await g4f.ChatCompletion.create_async(
|
response = await g4f.ChatCompletion.create_async(
|
||||||
model=g4f.models.gpt_35_turbo,
|
model=g4f.models.gpt_35_turbo_16k_0613,
|
||||||
provider=g4f.Provider.GptGo,
|
provider=g4f.Provider.Aivvm,
|
||||||
messages=[{"role": "user", "content": "hello!"}],
|
messages=[{"role": "user", "content": "hello!"}],
|
||||||
)
|
)
|
||||||
print("create_async:", response)
|
print("create_async:", response)
|
||||||
|
|
||||||
asyncio.run(run_async())
|
# asyncio.run(run_async())
|
||||||
|
Loading…
Reference in New Issue
Block a user