EdgeGPT:微软必应聊天AI的逆向工程API全解析

EdgeGPT:微软必应聊天AI的逆向工程API全解析

【免费下载链接】EdgeGPT Reverse engineered API of Microsoft's Bing Chat AI 【免费下载链接】EdgeGPT 项目地址: https://gitcode.com/gh_mirrors/ed/EdgeGPT

你还在为无法自由调用微软必应聊天AI(Bing Chat AI)而烦恼吗?作为普通用户,想在自己的程序中集成这项强大的AI能力却苦于没有官方API?本文将带你全面了解EdgeGPT——这个由开发者逆向工程实现的必应聊天AI接口,让你无需复杂配置就能轻松接入AI对话能力。读完本文,你将掌握EdgeGPT的安装配置、核心功能使用以及实际应用场景,让AI对话能力成为你项目中的得力助手。

项目概述:打破壁垒的EdgeGPT

EdgeGPT是一个开源项目,其核心功能是对微软必应聊天AI的API进行逆向工程,从而提供一套可供开发者直接使用的接口。项目路径为gh_mirrors/ed/EdgeGPT,主要目标是让开发者能够绕过官方限制,在合规合法的前提下自由地在自己的应用中集成必应聊天AI的功能。

该项目的核心文件结构清晰,主要包含以下几个部分:

快速上手:从安装到首次对话

环境准备与安装

使用EdgeGPT非常简单,首先需要确保你的环境满足以下要求:

  • Python 3.8或更高版本
  • 能够访问必应聊天的微软账户(部分地区可能需要)
  • 网络环境需在必应聊天支持的国家或地区

安装EdgeGPT模块的命令非常简单,只需在终端中执行:

python3 -m pip install EdgeGPT --upgrade

如果你需要从源码安装,可以通过以下命令获取项目:

git clone https://gitcode.com/gh_mirrors/ed/EdgeGPT
cd EdgeGPT
python3 -m pip install -r requirements.txt
python3 setup.py install

身份验证配置

在大多数地区,微软已将聊天功能开放给所有人,可能不需要额外的身份验证。但如果你遇到了Exception: Authentication failed.错误,就需要提供cookie来解决。

获取cookie的步骤如下:

  1. 使用Microsoft Edge浏览器访问https://bing.com/chat
  2. 安装Chrome或Firefox的cookie editor扩展
  3. 访问https://bing.com,打开扩展程序
  4. 点击"导出"并选择"导出为JSON",将内容保存到剪贴板
  5. 将剪贴板内容粘贴到bing_cookies_*.json文件中(文件名必须符合此模式)

在代码中使用cookie的方式如下:

import json
from EdgeGPT.EdgeGPT import Chatbot

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

首次对话:命令行与Python API

安装完成后,你可以直接通过命令行启动EdgeGPT聊天:

python3 -m EdgeGPT.EdgeGPT

这将启动一个交互式对话界面,你可以直接输入问题与AI对话。

如果你想在Python代码中使用EdgeGPT,可以通过以下简单示例实现:

import asyncio
from EdgeGPT.EdgeGPT import Chatbot, ConversationStyle

async def main():
    # 创建聊天机器人实例
    bot = await Chatbot.create()
    
    # 发送问题并获取回答
    response = await bot.ask(
        prompt="你好,介绍一下你自己",
        conversation_style=ConversationStyle.creative,
        simplify_response=True
    )
    
    # 打印回答结果
    print(response["text"])
    
    # 关闭连接
    await bot.close()

if __name__ == "__main__":
    asyncio.run(main())

核心功能解析:聊天与图像生成

聊天机器人核心功能

EdgeGPT的聊天功能主要通过src/EdgeGPT/EdgeGPT.py中的Chatbot类实现。这个类提供了丰富的方法来管理和进行对话:

  • ask(prompt, conversation_style): 发送问题并获取回答
  • ask_stream(prompt): 以流的方式获取回答,适合实时显示
  • save_conversation(filename): 保存对话历史到文件
  • load_conversation(filename): 从文件加载对话历史
  • reset(): 重置对话

对话风格可以通过ConversationStyle来指定,主要有三种类型:

  • creative: 创意模式,回答更具创造性和想象力
  • balanced: 平衡模式,兼顾创造性和准确性
  • precise: 精确模式,回答更注重事实和准确性

以下是一个使用不同对话风格的示例:

from EdgeGPT.EdgeGPT import ConversationStyle

# 创意模式
creative_response = await bot.ask(
    prompt="写一首关于人工智能的诗",
    conversation_style=ConversationStyle.creative
)

# 精确模式
precise_response = await bot.ask(
    prompt="什么是人工智能?请给出准确的定义",
    conversation_style=ConversationStyle.precise
)

图像生成功能

除了聊天功能,EdgeGPT还提供了图像生成能力,通过src/EdgeGPT/ImageGen.py中的ImageGen类实现。使用图像生成功能同样简单直观。

从命令行使用图像生成功能:

python3 -m ImageGen.ImageGen --prompt "在花园派对上的猫鼬" --output-dir ./images

在Python代码中使用图像生成:

from EdgeGPT.ImageGen import ImageGen

# 创建图像生成器实例
image_generator = ImageGen(auth_cookie="你的认证cookie")

# 生成图像链接
images = image_generator.get_images("在花园派对上的猫鼬")

# 保存图像
image_generator.save_images(images, output_dir="./images")

EdgeGPT还提供了一个更简单的ImageQuery助手类,可以一行代码实现图像生成:

from EdgeGPT.EdgeUtils import ImageQuery

# 生成图像并保存到当前目录
q = ImageQuery("在花园派对上的猫鼬")

高级应用:深入EdgeGPT功能

对话历史管理

EdgeGPT提供了对话历史的保存和加载功能,这对于需要持续对话的应用场景非常有用。

保存对话历史:

await bot.save_conversation("my_conversation.json")

加载之前保存的对话:

await bot.load_conversation("my_conversation.json")
# 获取对话历史
history = await bot.get_conversation()
print(history)

使用Query助手类简化操作

EdgeGPT提供了Query助手类,可以极大简化常见操作。使用Query类可以快速创建查询并获取结果:

from EdgeGPT.EdgeUtils import Query

# 创建一个查询(默认使用精确模式)
q = Query("什么是Python?用代码示例解释")

# 直接打印结果
print(q)

# 获取其他相关信息
print("来源:", q.sources)
print("建议问题:", q.suggestions)
print("代码片段:", q.code)

你还可以修改对话模式或指定cookie文件:

q = Query(
    "解释机器学习的基本概念",
    style="creative",  # 使用创意模式
    cookie_file="./my_cookies.json"  # 指定cookie文件
)

批量与异步处理

对于需要处理大量请求的场景,EdgeGPT支持异步操作,可以显著提高效率。以下是一个异步批量处理问题的示例:

import asyncio
from EdgeGPT.EdgeGPT import Chatbot, ConversationStyle

async def process_questions(questions):
    bot = await Chatbot.create()
    results = []
    
    for question in questions:
        response = await bot.ask(
            prompt=question,
            conversation_style=ConversationStyle.balanced,
            simplify_response=True
        )
        results.append({
            "question": question,
            "answer": response["text"]
        })
    
    await bot.close()
    return results

# 要处理的问题列表
questions = [
    "什么是人工智能?",
    "机器学习和深度学习有什么区别?",
    "Python在数据科学中有什么应用?"
]

# 运行异步处理
results = asyncio.run(process_questions(questions))

# 打印结果
for result in results:
    print(f"问题: {result['question']}")
    print(f"回答: {result['answer']}\n")

实际应用场景与案例

集成到自己的应用程序

EdgeGPT可以轻松集成到各种Python应用程序中,为你的项目添加AI对话能力。以下是一个简单的Web应用示例(使用Flask框架):

from flask import Flask, request, jsonify
import asyncio
from EdgeGPT.EdgeGPT import Chatbot, ConversationStyle

app = Flask(__name__)
bot = None

async def init_bot():
    global bot
    bot = await Chatbot.create()

# 在应用启动时初始化bot
loop = asyncio.get_event_loop()
loop.run_until_complete(init_bot())

@app.route('/chat', methods=['POST'])
def chat():
    data = request.json
    prompt = data.get('prompt', '')
    
    if not prompt:
        return jsonify({"error": "请提供问题"}), 400
    
    # 使用异步运行bot.ask
    loop = asyncio.new_event_loop()
    asyncio.set_event_loop(loop)
    
    try:
        response = loop.run_until_complete(
            bot.ask(
                prompt=prompt,
                conversation_style=ConversationStyle.balanced,
                simplify_response=True
            )
        )
        return jsonify({
            "answer": response["text"],
            "suggestions": response["suggestions"],
            "messages_left": response["messages_left"]
        })
    finally:
        loop.close()

if __name__ == '__main__':
    app.run(debug=True)

Docker部署

为了更方便地部署和使用EdgeGPT,项目提供了Docker支持。使用Docker可以避免环境配置问题,直接运行:

假设当前目录有一个cookies.json文件,运行以下命令:

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

你还可以添加额外参数,如使用创意模式并启用富文本输出:

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

总结与展望

EdgeGPT作为微软必应聊天AI的逆向工程API,为开发者提供了一个强大而灵活的工具,可以轻松地将AI对话和图像生成能力集成到自己的项目中。无论是构建聊天机器人、开发AI辅助工具,还是探索AI的各种可能性,EdgeGPT都能提供有力的支持。

项目的主要优势在于:

  • 使用简单,安装配置便捷
  • 功能完整,支持聊天和图像生成
  • 接口友好,提供多种使用方式
  • 持续更新,跟进官方API变化

随着AI技术的不断发展,EdgeGPT也将继续进化,为开发者带来更多可能性。无论你是AI爱好者、学生还是专业开发者,EdgeGPT都是一个值得尝试的强大工具。

如果你对EdgeGPT感兴趣,不妨立即开始尝试,探索AI世界的无限可能!记得点赞、收藏本文,关注项目更新,以便获取最新的功能和使用技巧。

提示:使用AI技术时,请遵守相关法律法规和服务条款,合理使用AI能力。

【免费下载链接】EdgeGPT Reverse engineered API of Microsoft's Bing Chat AI 【免费下载链接】EdgeGPT 项目地址: https://gitcode.com/gh_mirrors/ed/EdgeGPT

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值