summaryrefslogtreecommitdiffstats
path: root/g4f/Provider
diff options
context:
space:
mode:
Diffstat (limited to 'g4f/Provider')
-rw-r--r--g4f/Provider/TeachAnything.py22
1 files changed, 18 insertions, 4 deletions
diff --git a/g4f/Provider/TeachAnything.py b/g4f/Provider/TeachAnything.py
index 3d34293f..97fe0272 100644
--- a/g4f/Provider/TeachAnything.py
+++ b/g4f/Provider/TeachAnything.py
@@ -14,6 +14,17 @@ class TeachAnything(AsyncGeneratorProvider, ProviderModelMixin):
api_endpoint = "/api/generate"
working = True
default_model = "llama-3.1-70b"
+ models = [default_model]
+
+ @classmethod
+ def get_model(cls, model: str) -> str:
+ if model in cls.models:
+ return model
+ elif model in cls.model_aliases:
+ return cls.model_aliases[model]
+ else:
+ return cls.default_model
+
@classmethod
async def create_async_generator(
@@ -24,6 +35,7 @@ class TeachAnything(AsyncGeneratorProvider, ProviderModelMixin):
**kwargs: Any
) -> AsyncResult:
headers = cls._get_headers()
+ model = cls.get_model(model)
async with ClientSession(headers=headers) as session:
prompt = format_prompt(messages)
@@ -61,16 +73,18 @@ class TeachAnything(AsyncGeneratorProvider, ProviderModelMixin):
return {
"accept": "*/*",
"accept-language": "en-US,en;q=0.9",
+ "cache-control": "no-cache",
"content-type": "application/json",
"dnt": "1",
"origin": "https://www.teach-anything.com",
+ "pragma": "no-cache",
"priority": "u=1, i",
"referer": "https://www.teach-anything.com/",
- "sec-ch-ua": '"Not/A)Brand";v="8", "Chromium";v="126"',
- "sec-ch-ua-mobile": "?0",
- "sec-ch-ua-platform": '"Linux"',
+ "sec-ch-us": '"Not?A_Brand";v="99", "Chromium";v="130"',
+ "sec-ch-us-mobile": "?0",
+ "sec-ch-us-platform": '"Linux"',
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin",
- "user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
+ "user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"
}