EdgeGPT 是 Bing Chat AI 逆向工程的 API。
设置
安装模块
python3 -m pip install EdgeGPT --upgrade
要求
- python 3.8+
- 一个已经通过候补名单的微软账户 https://bing.com/chat (必填)
- 需要在 New Bing 支持的国家(中国大陆需使用VPN)
检查访问权限 (必需)
- 安装最新版本的 Microsoft Edge
- 或者, 您可以使用任何浏览器并将用户代理设置为Edge的用户代理 (例如
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.51
). 您可以使用像 "User-Agent Switcher and Manager" Chrome 和 Firefox 这样的扩展轻松完成此操作. - 打开 bing.com/chat
- 如果您看到聊天功能,就准备就绪
获取身份验证 (必需)
- 安装 Chrome 或 Firefox 的 cookie editor 扩展
- 移步到
bing.com
- 打开扩展程序
- 点击右下角的"导出" (将会把内容保存到你的剪贴板上)
- 把你剪贴板上的内容粘贴到
cookies.json
文件中
图片生成
$ python3 -m ImageGen -h usage: ImageGen.py [-h] [-U U] [--cookie-file COOKIE_FILE] --prompt PROMPT [--output-dir OUTPUT_DIR] [--quiet] [--asyncio] optional arguments: -h, --help show this help message and exit -U U Auth cookie from browser --cookie-file COOKIE_FILE File containing auth cookie --prompt PROMPT Prompt to generate images for --output-dir OUTPUT_DIR Output directory --quiet Disable pipeline messages --asyncio Run ImageGen using asyncio
开发演示
from ImageGen import ImageGen import argparse import json async def async_image_gen(args) -> None: async with ImageGenAsync(args.U, args.quiet) as image_generator: images = await image_generator.get_images(args.prompt) await image_generator.save_images(images, output_dir=args.output_dir) if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("-U", help="Auth cookie from browser", type=str) parser.add_argument("--cookie-file", help="File containing auth cookie", type=str) parser.add_argument( "--prompt", help="Prompt to generate images for", type=str, required=True, ) parser.add_argument( "--output-dir", help="Output directory", type=str, default="./output", ) args = parser.parse_args() # Load auth cookie with open(args.cookie_file, encoding="utf-8") as file: cookie_json = json.load(file) for cookie in cookie_json: if cookie.get("name") == "_U": args.U = cookie.get("value") break if args.U is None: raise Exception("Could not find auth cookie") if not args.asyncio: # Create image generator image_generator = ImageGen(args.U, args.quiet) image_generator.save_images( image_generator.get_images(args.prompt), output_dir=args.output_dir, ) else: asyncio.run(async_image_gen(args))
评论