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.mzph.cn/web/76729.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三网通电玩城平台系统结构与源码工程详解(四):子游戏集成与服务器调度机制全解

本篇将深入讲解三网通电玩城平台中子游戏接入、前后端资源组织方式、服务器调度逻辑、并发接入方案等核心内容,重点覆盖“李逵劈鱼”、“水果玛丽”、“疯狂玛丽”等热门组件,辅以完整代码框架与部署逻辑。 一、子游戏资源目录结构与加载机制 平台采用标…

1.1 AI大模型与Agent的兴起及其对企业数字化转型的推动作用

随着人工智能技术的飞速发展,AI大模型和智能代理(Agent)的兴起正成为推动企业数字化转型的重要力量。从2017年GPT-1的首次亮相到2025年GPT-4和Qwen 2.5等多模态模型的成熟,AI大模型经历了显著的技术演进;与此同时&…

位运算练习:起床困难综合征(贪心,位运算)(算法竞赛进阶指南学习笔记)

目录 前情提要起床困难综合征(贪心,位运算) 前情提要 一些基础运算操作用法看看上一篇; 起床困难综合征(贪心,位运算) 题目原文 [P2114 NOI2014] 起床困难综合症 - 洛谷 思路分析 题目很长…

PowerBi中REMOVEFILTERS怎么使用?

在 Power BI 的 DAX 中,REMOVEFILTERS() 是一个非常重要的函数,常用于取消某个字段或表的筛选上下文(Filter Context),从而让你的计算不受切片器(Slicer)、筛选器或视觉对象的限制。 ✅ 一、REM…

Vue3 实战:打造多功能旅游攻略选项卡页面

在旅游类应用开发中,为用户提供全面、直观的信息展示界面至关重要。本文将分享如何基于 Vue3 Axios 技术栈,实现一个包含攻略、游记、问答三大板块的旅游攻略选项卡页面,从样式设计到交互逻辑,带你深入了解整个开发过程。 项目背…

JavaScript性能优化实战(1):性能优化基础与性能分析工具

性能优化的重要性与业务价值 在当今竞争激烈的互联网环境中,网站和应用的性能已成为用户体验和业务成功的关键因素。研究表明,页面加载时间每增加1秒,转化率可能下降7%,而53%的用户会在页面加载时间超过3秒后放弃访问。这些数据直接揭示了性能优化对业务的巨大影响: 用户…

Unity 脚本使用(二)——UnityEngine.AI——NavMesh

描述 Singleton class 用于访问被烘培好的 NavMesh. 使用NavMesh类可以执行空间查询(spatial queries),例如路径查找和可步行性测试。此类还允许您设置特定区域类型的寻路成本,并调整寻路和避免的全局行为。 静态属性&#xff0…

Java 静态内部类面试题与高质量答案合集

本文整理了关于 Java 静态内部类(Static Nested Class)在面试中的高频问题及标准答案,帮助你理解其底层原理、内存表现以及实际应用。 1. 什么是静态内部类?和普通内部类有什么区别? 答: 静态内部类是定义…

为什么买不到一定阻抗特性曲线的磁环

为什么买不到一定阻抗特性曲线的磁环: 磁环绕不同的圈数,阻抗特性曲线不同,磁环没有类似于磁珠的特定频率和阻抗特性曲线的磁环。 磁环与磁珠的核心区别: 磁珠是一种固定频率阻抗器件,出厂时已通过材料和工艺设计确定…

【MATLAB海洋专题】历史汇总

【MATLAB海洋专题】历史汇总 目录 01:海洋专题进阶教学 02:海洋数据处理 03:海洋数据下载 04:海洋配色 05:海洋专题基础教学 06: 其他基础画图 07:python 画海图专题 08:模式相关文件制作 01…

数据仓库ODS、DWD、DWS、ADS各层介绍

数据仓库Data warehouse(可简写为DW或者DWH)建设的目的,是为前端查询和分析作为基础,主要应用于OLAP(on-line Analytical Processing),支持复杂的分析操作,侧重决策支持,…

动态提示词(小模型)、RAG和提示词系统

动态提示词(小模型)、RAG和提示词系统 目录 动态提示词(小模型)、RAG和提示词系统小模型方案:动态提示词基于规则的动态提示词生成基于模板的动态提示词生成基于小模型的动态提示词生成基于强化学习的动态提示词生成基于元学习的动态提示词生成动态提示词(小模型)RAG(检…

并发设计模式实战系列(3):工作队列

🌟 ​大家好,我是摘星!​ 🌟 今天为大家带来的是并发设计模式实战系列,第三章工作队列(Work Queue)​​,废话不多说直接开始~ 目录 一、核心原理深度拆解 1. 生产者-消费者架构 …

云账号安全事件应急响应指南:应对来自中国IP的异常访问

在当今数字化时代,云服务已成为企业IT基础设施的核心。然而,随之而来的安全挑战也日益突出。本文将详细介绍当发现云账号被来自中国的IP地址异常利用时,应如何快速有效地响应,以确保账户安全并最小化潜在风险。 1. 确认异常活动 首先,我们需要确认是否真的发生了安全事件…

三网通电玩城平台系统结构与源码工程详解(五):客户端热更机制与多端资源分发流程

本篇将聚焦三网通平台在多客户端部署中的资源热更机制设计、跨平台同步策略、版本控制与前端资源发布管理,帮助开发者搭建高效稳定的资源更新系统。 一、资源分发平台架构 为实现安卓端、iOS端、PC端的统一更新分发,平台采用 Node.js Express 构建资源…

spark和hadoop的区别

一、spark概述 二、处理速度 三、 编程模型 四、实时性处理 五、spark内置模块 六、spark的运行模式

AI写代码之GO+Python写个爬虫系统

下面我们我们来利用AI,来用GOPython写个爬虫系统。 帮我写一个Python语言爬取数据写入Mysql的案例,信息如下: 1、Mysql数据库地址是:192.168.1.20 ,mysql用户名是:root, Mysql密码是&#xff1…

从单模态到多模态:深度生成模型的演进历程

在人工智能领域,生成模型的发展一直是研究热点。从最早的自编码器到如今的多模态扩散模型,这一技术路线不断突破,为创意内容生成、数据增强和表示学习等领域带来革命性变化。本文将详细介绍几种关键生成模型的技术原理和演进路径,…

【系统架构设计师】嵌入式微处理器

目录 1. 说明2. 微处理器(MPU)3. 微控制器(MCU)4. 信号处理器(DSP)5. 图形处理器(GPU)6. 片上系统(SoC)7. 例题7.1 例题1 1. 说明 1.嵌入式微处理器主要用于处理相关任务。2.由于嵌入式系统通常都在室外使用,可能处于不同环境,因此,选择处理…

Cursor Free VIP 重置进程错误,轻松恢复使用!

快速修复 Cursor Free VIP 重置进程错误,轻松恢复使用! 在使用 Cursor Free VIP 的过程中,突然遭遇 “重置进程错误” 是不是让你手忙脚乱?当屏幕弹出 “文件未找到: C:\Users\用户\AppData\Local\Programs\Cursor\resources\app…