You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PythonAnywhere环境下g4f库调用Bing Provider报错求助

问题描述

执行以下g4f相关代码时出现错误:

async def GPT_Request(prompt: str) -> str:
    global me
    print(prompt)
    response_generator = await g4f.ChatCompletion.create_async(
        model=g4f.models.gpt_4,
        provider=g4f.Provider.Bing,
        messages=[{"role": "user", "content": prompt}],
    )
    print(response_generator)
    return response_generator

错误日志如下:

Using Bing provider and gpt-4 model
INFO:aiogram.contrib.middlewares.logging:Process update [ID:173124119]: [failed] (in 197 ms)
ERROR:asyncio:Task exception was never retrieved
future: <Task finished name='Task-10' coro=<Dispatcher._process_polling_updates() done, defined at /home/SiriyiuS/.local/lib/python3.10/site-packages/aiogram/dispatcher/dispatcher.py:407> exception=RuntimeError('Response: ')>
Traceback (most recent call last):
  File "/home/SiriyiuS/.local/lib/python3.10/site-packages/g4f/Provider/bing/conversation.py", line 52, in create_conversation
    data = await response.json()
  File "/home/SiriyiuS/.local/lib/python3.10/site-packages/aiohttp/client_reqrep.py", line 1104, in json
    raise ContentTypeError(
aiohttp.client_exceptions.ContentTypeError: 0, message='Attempt to decode JSON with unexpected mimetype: ', url=URL('https://www.bing.com/turing/conversation/create?bundleVersion=1.1579.2')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/home/SiriyiuS/.local/lib/python3.10/site-packages/aiogram/dispatcher/dispatcher.py", line 415, in _process_polling_updates
    for responses in itertools.chain.from_iterable(await self.process_updates(updates, fast)):
  File "/home/SiriyiuS/.local/lib/python3.10/site-packages/aiogram/dispatcher/dispatcher.py", line 235, in process_updates
    return await asyncio.gather(*tasks)
  File "/home/SiriyiuS/.local/lib/python3.10/site-packages/aiogram/dispatcher/handler.py", line 116, in notify
    response = await handler_obj.handler(*args, **partial_data)
  File "/home/SiriyiuS/.local/lib/python3.10/site-packages/aiogram/dispatcher/dispatcher.py", line 256, in process_update
    return await self.message_handlers.notify(update.message)
  File "/home/SiriyiuS/.local/lib/python3.10/site-packages/aiogram/dispatcher/handler.py", line 116, in notify
    response = await handler_obj.handler(*args, **partial_data)
  File "/home/SiriyiuS/SYSorarBOT/telegbot.py", line 1980, in bot_message
    response_text = await GPT_Request(message.text)
  File "/home/SiriyiuS/SYSorarBOT/telegbot.py", line 42, in GPT_Request
    response_generator = await g4f.ChatCompletion.create_async(
  File "/home/SiriyiuS/.local/lib/python3.10/site-packages/g4f/providers/base_provider.py", line 232, in create_async
    return "".join([
  File "/home/SiriyiuS/.local/lib/python3.10/site-packages/g4f/providers/base_provider.py", line 232, in <listcomp>
    return "".join([
  File "/home/SiriyiuS/.local/lib/python3.10/site-packages/g4f/Provider/Bing.py", line 291, in stream_generate
    conversation = await create_conversation(session)
  File "/home/SiriyiuS/.local/lib/python3.10/site-packages/g4f/Provider/bing/conversation.py", line 54, in create_conversation
    raise RuntimeError(f"Response: {await response.text()}")
RuntimeError: Response: 

服务器环境为PythonAnywhere.com,已尝试设置代理及修改寻址方式,问题未解决。

解决方案
  • 更新g4f到最新开发版
    g4f的Bing Provider会因Bing接口更新频繁失效,直接安装最新分支版本:
pip install git+https://github.com/xtekky/gpt4free.git@main
  • 手动添加验证信息
    Bing对请求验证严格,需携带登录后的Cookie和合法UA。修改代码传入自定义会话:
import aiohttp

async def GPT_Request(prompt: str) -> str:
    global me
    print(prompt)
    # 从登录Bing Chat的浏览器中提取对应Cookie值
    cookies = {
        "_U": "你的_U Cookie内容",
        "SRCHD": "你的SRCHD Cookie内容"
    }
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"
    }
    async with aiohttp.ClientSession(cookies=cookies, headers=headers) as session:
        response_generator = await g4f.ChatCompletion.create_async(
            model=g4f.models.gpt_4,
            provider=g4f.Provider.Bing,
            messages=[{"role": "user", "content": prompt}],
            session=session
        )
    print(response_generator)
    return response_generator

注意:Cookie有有效期,过期后需重新从浏览器获取。

  • 切换其他稳定Provider
    如果Bing Provider持续无法使用,替换为g4f支持的其他Provider,比如:
response_generator = await g4f.ChatCompletion.create_async(
    model=g4f.models.gpt_35_turbo,
    provider=g4f.Provider.You,
    messages=[{"role": "user", "content": prompt}],
)
  • 检查PythonAnywhere网络限制
    在PythonAnywhere控制台测试直接访问Bing接口:
import aiohttp
import asyncio

async def test_bing():
    async with aiohttp.ClientSession() as session:
        response = await session.get("https://www.bing.com/turing/conversation/create?bundleVersion=1.1579.2")
        print(response.status)
        print(await response.text())

asyncio.run(test_bing())

若返回非200状态码或空内容,说明PythonAnywhere网络无法正常访问该接口,可考虑升级套餐或更换服务器。

内容的提问来源于stack exchange,提问作者SiriyiuS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 17:42:33