summaryrefslogtreecommitdiffstats
path: root/g4f
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--g4f/Provider/Pi.py28
1 files changed, 13 insertions, 15 deletions
diff --git a/g4f/Provider/Pi.py b/g4f/Provider/Pi.py
index 9ecebafb..8acf3ec6 100644
--- a/g4f/Provider/Pi.py
+++ b/g4f/Provider/Pi.py
@@ -23,32 +23,30 @@ class Pi(BaseProvider):
**kwargs
) -> CreateResult:
if not scraper:
- scraper = cls.get_scraper()
+ scraper = cls.get_scraper(proxy)
if not conversation:
conversation = cls.start_conversation(scraper)
answer = cls.ask(scraper, messages, conversation)
-
- last_answer = 0
for line in answer:
if "text" in line:
- yield line["text"][last_answer:]
- last_answer = len(line["text"])
-
- def get_scraper():
- scraper = create_scraper(
+ yield line["text"]
+
+ def get_scraper(proxy: str):
+ return create_scraper(
browser={
'browser': 'chrome',
'platform': 'windows',
'desktop': True
},
- sess=session()
+ headers={
+ 'Accept': '*/*',
+ 'Accept-Encoding': 'deflate,gzip,br',
+ },
+ proxies={
+ "https": proxy
+ }
)
- scraper.headers = {
- 'Accept': '*/*',
- 'Accept-Encoding': 'deflate,gzip,br',
- }
- return scraper
-
+
def start_conversation(scraper: CloudScraper):
response = scraper.post('https://pi.ai/api/chat/start', data="{}", headers={
'accept': 'application/json',