EdgeGPT 项目介绍:解锁全新Bing GPT聊天功能

故事始于一个充满好奇心的开发者,他对Bing全新GPT聊天功能充满兴趣,但发现官方API存在一些限制。于是,他决定自己动手,进行了反向工程,创建了这个非官方的EdgeGPT项目,以解锁更多人使用Bing GPT聊天功能的可能性。

安装EdgeGPT

EdgeGPT的安装非常简单,只需运行以下命令:

python3 -m pip install EdgeGPT --upgrade

请注意,EdgeGPT需要Python的版本为3.8或更高版本。根据您的地区,您可能需要一个具有访问https://bing.com/chat的Microsoft帐户。

配置EdgeGPT

要使用EdgeGPT,您需要进行一些配置,以便进行身份验证和设置API选项。以下是配置的步骤:

  1. 首先,您需要一个Microsoft帐户,并确保具有访问https://bing.com/chat的权限(根据您的地区可能需要)。

  2. 您可以使用自己的帐户身份验证信息,也可以尝试不使用身份验证(根据地区的不同,可能无需身份验证)。

  3. 如果需要身份验证,您可以尝试提供Cookie以进行身份验证。

使用EdgeGPT

您可以使用EdgeGPT通过命令行界面或开发API进行交互。

命令行界面

要在命令行中使用EdgeGPT,只需运行以下命令:

python3 -m EdgeGPT.EdgeGPT -h

命令行界面支持多种参数选项,以满足不同需求。您可以使用命令行界面与Bing GPT进行互动,并探索其各种功能。

开发API

如果您希望在自己的应用程序中使用EdgeGPT,可以使用开发API。以下是一些基本示例:

基本示例:

import asyncio, json
from EdgeGPT.EdgeGPT import Chatbot, ConversationStyle

async def main():
    bot = await Chatbot.create() # 可选地传递Cookie以进行身份验证,如上述配置部分所述
    response = await bot.ask(prompt="Hello world", conversation_style=ConversationStyle.creative, simplify_response=True)
    print(json.dumps(response, indent=2)) # 返回如下数据结构
    """
    {
        "text": str,
        "author": str,
        "sources": list[dict],
        "sources_text": str,
        "suggestions": list[str],
        "messages_left": int
    }
    """
    await bot.close()

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

Query 和 Cookie 助手类

您可以使用Query和Cookie助手类来更灵活地生成查询和管理Cookie。这些助手类可帮助您自定义查询和管理Cookie文件。

使用Docker

如果您使用Docker,可以使用以下命令运行EdgeGPT,假设您已经在当前工作目录中有一个名为cookies.json的Cookie文件:

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

您还可以添加其他标志来自定义EdgeGPT的行为。

图像生成器的使用

EdgeGPT还包括一个图像生成器,可以根据提示生成图像。您可以从命令行界面或Python代码中使用它。

命令行界面

要从命令行中使用图像生成器,只需运行以下命令:

python3 -m ImageGen.ImageGen -h

命令行界面支持多种参数选项,以满足不同需求。您可以使用图像生成器根据提示生成图像。

在Python中运行

如果您希望在Python代码中使用图像生成器,可以使用ImageGen类。以下是一个示例:

from EdgeGPT.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()
    # 省略部分参数解析代码,详见上述配置部分
    args = parser.parse_args()

    if not args.asyncio:
        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))

结语

EdgeGPT是一个令人兴奋的项目,它为开发者提供了更多自由和灵活性,以探索和利用Bing GPT聊天功能的潜力。无论您是要创建自己的聊天机器人还是进行创新性的实验,EdgeGPT都可以成为您的强大工具。希望您享受使用EdgeGPT的过程,并探索各种有趣的应用场景!

本文由作者 王大神 原创发布于 大神网的AI博客。

转载请注明作者:王大神

原文出处:EdgeGPT 项目介绍:解锁全新Bing GPT聊天功能

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2023年10月8日
下一篇 2023年10月9日