当前位置: 首页 > news >正文

EdgeGPT - 新版Bing聊天功能逆向工程

在这里插入图片描述

本文翻译整理自:https://github.com/acheong08/EdgeGPT

文章目录

    • 一、关于 EdgeGPT
      • 相关链接资源
      • 关键功能特性
    • 二、安装
      • 系统要求
      • 安装命令
    • 三、认证配置
      • 获取Cookie步骤
      • 代码中使用Cookie
    • 四、使用方法
      • 1、命令行方式
      • 2、Python API方式
        • 使用`Chatbot`类
        • 使用`Query`辅助类
      • 3、Docker方式运行
    • 五、图像生成功能
      • 命令行方式
      • Python API方式
    • 六、高级控制
      • 使用`ImageGen`类


项目已归档 :由于个人原因,作者无法继续维护此代码库。


一、关于 EdgeGPT

逆向工程实现新版Bing的聊天功能


相关链接资源

  • github : https://github.com/acheong08/EdgeGPT
  • 官方文档:https://github.com/acheong08/EdgeGPT#readme

关键功能特性

  • 通过逆向工程实现Bing聊天功能
  • 支持命令行和Python API两种调用方式
  • 提供图像生成功能
  • 支持多种对话风格(creative/balanced/precise)
  • 支持cookie认证

二、安装


系统要求

  • Python 3.8+
  • 可访问https://bing.com/chat的微软账户(视地区而定)
  • 位于支持New Bing的国家/地区(中国大陆需VPN)
  • Selenium(用于自动设置cookie)

安装命令

python3 -m pip install EdgeGPT --upgrade

三、认证配置

某些地区可能无需认证即可使用聊天功能。您可以通过浏览器(用户代理设置为Edge)尝试在不登录的情况下发起聊天来验证。

如果收到以下错误,可以尝试提供cookie:
Exception: Authentication failed. You have not been accepted into the beta.


获取Cookie步骤

1、使用类似Microsoft Edge的浏览器:

  • a) 安装最新版Microsoft Edge
  • b) 或设置用户代理为Edge样式

2、访问bing.com/chat
3、安装Cookie编辑器扩展(Chrome版或Firefox版)
4、访问bing.com
5、打开扩展程序
6、点击"Export"→"Export as JSON"
7、将cookie保存为bing_cookies_*.json文件


代码中使用Cookie

cookies = json.loads(open("./path/to/cookies.json", encoding="utf-8").read())
bot = await Chatbot.create(cookies=cookies)

四、使用方法


1、命令行方式

 $ python3 -m EdgeGPT.EdgeGPT -hEdgeGPT - A demo of reverse engineering the Bing GPT chatbotRepo: github.com/acheong08/EdgeGPTBy: Antonio Cheong!help for helpType !exit to exitusage: EdgeGPT.py [-h] [--enter-once] [--search-result] [--no-stream] [--rich] [--proxy PROXY] [--wss-link WSS_LINK][--style {creative,balanced,precise}] [--prompt PROMPT] [--cookie-file COOKIE_FILE][--history-file HISTORY_FILE] [--locale LOCALE]options:-h, --help            show this help message and exit--enter-once--search-result--no-stream--rich--proxy PROXY         Proxy URL (e.g. socks5://127.0.0.1:1080)--wss-link WSS_LINK   WSS URL(e.g. wss://sydney.bing.com/sydney/ChatHub)--style {creative,balanced,precise}--prompt PROMPT       prompt to start with--cookie-file COOKIE_FILEpath to cookie file--history-file HISTORY_FILEpath to history file--locale LOCALE       your locale (e.g. en-US, zh-CN, en-IE, en-GB)

支持参数:

  • --style:设置对话风格(creative/balanced/precise)
  • --cookie-file:指定cookie文件路径
  • --locale:设置地区(如en-US/zh-CN)

2、Python API方式


使用Chatbot
import asyncio, json
from EdgeGPT.EdgeGPT import Chatbot, ConversationStyleasync def main():bot = await Chatbot.create()response = await bot.ask(prompt="Hello world", conversation_style=ConversationStyle.creative)print(json.dumps(response, indent=2))await bot.close()asyncio.run(main())

使用Query辅助类
from EdgeGPT.EdgeUtils import Queryq = Query("What are you? Give your answer as Python code")
print(q.output)  # 获取文本输出
print(q.sources)  # 获取来源
print(q.suggestions)  # 获取建议

3、Docker方式运行

docker run --rm -it -v $(pwd)/cookies.json:/cookies.json:ro -e COOKIE_FILE='/cookies.json' ghcr.io/acheong08/edgegpt

五、图像生成功能


命令行方式

$ python3 -m ImageGen.ImageGen -h

Python API方式

from EdgeGPT.EdgeUtils import ImageQueryq = ImageQuery("Meerkats at a garden party in Devon")

六、高级控制


使用ImageGen

from EdgeGPT.ImageGen import ImageGen
import jsonwith open("cookies.json", encoding="utf-8") as file:cookies = json.load(file)_U = next(cookie["value"] for cookie in cookies if cookie["name"] == "_U")image_generator = ImageGen(_U)
images = image_generator.get_images("Astronaut riding a horse")
image_generator.save_images(images)

伊织 xAI 2025-04-19(六)

http://www.xdnf.cn/news/91711.html

相关文章:

  • pip install pymysql报错
  • Python SQL 工具包:SQLAlchemy介绍
  • oracle将表字段逗号分隔的值进行拆分,并替换值
  • Spark–steaming
  • 【LLM+Code】Claude Code Agent 0.2.9 版本最细致解读
  • Cursor Free VIP 重置进程错误,轻松恢复使用!
  • Element Plus消息通知体系深度解析:从基础到企业级实践
  • SwiftInfer —— 大模型无限流式输入推理打破多轮对话长度限制
  • 序列决策问题(Sequential Decision-Making Problem)
  • 测试开发 - Java 自动化测试核心函数详解
  • 【云馨AI-大模型】Dify 1.2.0:极速集成 SearXNG,畅享智能联网搜索新境界,一键脚本轻松部署SearXNG
  • LeetCode算法题(Go语言实现)_55
  • 麒麟系统使用-系统设置
  • 详解BUG(又名:BUG的生命周期)
  • 从0到1构建企业级消息系统服务体系(终):当消息系统学会「读心术」揭秘情感计算如何让触达转化率飙升 200%
  • Unity 导出Excel表格
  • 可变参数模板 和 折叠表达式 (C++)
  • 人工智能-模型评价与优化(过拟合与欠拟合,数据分离与混淆矩阵,模型优化,实战)
  • 《AI大模型应知应会100篇》第32篇:大模型与医疗健康:辅助诊断的可能性与风险
  • RAG进阶:Embedding Models嵌入式模型原理和选择
  • 【网络应用程序设计】实验一:本地机上的聊天室
  • 1.HTTP协议与RESTful设计
  • char32_t、char16_t、wchar_t 用于 c++ 语言里存储 unicode 编码的字符,给出它们的具体定义
  • 【武汉理工大学第四届ACM校赛】copy
  • 凡清亮相第十五届北京国际电影节电影嘉年华,用音乐致敬青春与梦想
  • 调和平均数通俗易懂的解释以及为什么这样定义,有什么用
  • 《 C++ 点滴漫谈: 三十四 》从重复到泛型,C++ 函数模板的诞生之路
  • 客户对质量不满意,如何快速响应?
  • ycsb性能测试的优缺点
  • GRS认证有什么要求?GRS认证要审核多久,GRS认证流程