Merge pull request #2077 from lobowarren/main

Add Pizzagpt Provider
This commit is contained in:
Tekky 2024-06-24 19:48:25 +01:00 committed by GitHub
commit 9e728ced0f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 49 additions and 0 deletions

48
g4f/Provider/Pizzagpt.py Normal file
View File

@ -0,0 +1,48 @@
import json
from aiohttp import ClientSession
from ..typing import Messages, AsyncResult
from .base_provider import AsyncGeneratorProvider
class Pizzagpt(AsyncGeneratorProvider):
url = "https://www.pizzagpt.it"
api_endpoint = "/api/chatx-completion"
supports_message_history = False
supports_gpt_35_turbo = True
working = True
@classmethod
async def create_async_generator(
cls,
model: str,
messages: Messages,
proxy: str = None,
**kwargs
) -> AsyncResult:
payload = {
"question": messages[-1]["content"]
}
headers = {
"Accept": "application/json",
"Accept-Encoding": "gzip, deflate, br, zstd",
"Accept-Language": "en-US,en;q=0.9",
"Content-Type": "application/json",
"Origin": cls.url,
"Referer": f"{cls.url}/en",
"Sec-Fetch-Dest": "empty",
"Sec-Fetch-Mode": "cors",
"Sec-Fetch-Site": "same-origin",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36",
"X-Secret": "Marinara"
}
async with ClientSession() as session:
async with session.post(
f"{cls.url}{cls.api_endpoint}",
json=payload,
proxy=proxy,
headers=headers
) as response:
response.raise_for_status()
response_json = await response.json()
yield response_json["answer"]["content"]

View File

@ -44,6 +44,7 @@ from .MetaAIAccount import MetaAIAccount
from .Ollama import Ollama
from .PerplexityLabs import PerplexityLabs
from .Pi import Pi
from .Pizzagpt import Pizzagpt
from .Replicate import Replicate
from .ReplicateImage import ReplicateImage
from .Vercel import Vercel