跳转到主要内容

20世纪60年代的聊天机器人Eliza,运行在OpenAI的Chat Completions API上

项目描述

Eliza-GPT

Build status codecov

Eliza,20世纪60年代的经典聊天机器人,运行在OpenAI的Chat Completions API

为什么?

主要原因是这看起来像是一个有趣的项目,可以帮助我更好地理解OpenAI的Chat Completions API,这已经成为人机交替对话的一种标准。

此外,拥有一个快速且免费的服务,资源消耗极低,可以用作真实LLM的替代品,当响应质量不重要时,例如在开发或测试时,也是非常棒的。

如何使用

Eliza-GPT是用Python编写的,可以使用pip进行安装

$ pip install eliza-gpt

安装后,运行它以在您的计算机上启动本地服务

$ eliza-gpt
Eliza-GPT is running!
Set base_url="http://127.0.0.1:5005/v1" in your OpenAI client to connect.

配置

运行--help以了解配置选项,包括

  • 设置监听IP地址和端口。
  • 添加用于身份验证的API密钥。
  • 更改(模拟)响应时间。设置为0以获得几乎立即的响应。

与聊天客户端连接

如果您使用的是OpenAI的官方Python客户端,请按照以下方式向其中添加base_url选项

openai_client = OpenAI(base_url='http://127.0.0.1:5005/v1')

如果您使用Langchain,请使用以下方法连接到Eliza-GPT

chat = ChatOpenAI(base_url='http://127.0.0.1:5005/v1')

如果您有一个直接与聊天完成端点通信的自定义客户端,请将 http://127.0.0.1:5005/v1 配置为您的端点。

Eliza-GPT 支持直接和流式接口。

示例

示例目录包含使用 OpenAI 客户端和 Langchain 实现的演示应用程序,请参阅 这里

实现细节

Eliza-GPT 实现了 OpenAI 聊天完成 API 的一部分,忽略任何无用的内容。特别是,目前只实现了 /v1/chat/completions 端点。来自 OpenAI API 的任何其他端点都将返回 404 错误给调用者。

目前支持的聊天完成端点方面包括

  • messages 参数中给出的聊天历史。只有具有 user 角色的消息用于“预热”Eliza,以便它提供合理的响应。
  • stream 参数,它决定了响应是否应以单个 JSON 对象或作为服务器发送事件的流形式给出。
  • seed 选项,这使得可能的响应是确定的。

这些尚未使用或未实现

  • 聊天历史中具有与 user 角色不同的任何消息。
  • 模型名称。Eliza-GPT 在响应中返回请求的模型名称。
  • n 参数,它控制返回多少个响应。Eliza-GPT 总是返回一个响应。
  • max_tokens 参数。
  • 温度和其他 LLM 特定调整参数。
  • stop 参数。
  • 与模型可能调用的工具或函数相关的任何内容。
  • 与对数概率相关的任何内容。

致谢

在此项目中使用的 Eliza 聊天机器人称为 Eliza.py,由 Riccardo Di Maio 创建。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

eliza-gpt-0.2.0.tar.gz (46.2 kB 查看散列)

上传时间

构建分布

eliza_gpt-0.2.0-py3-none-any.whl (46.7 kB 查看散列)

上传时间 Python 3

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面