20世纪60年代的聊天机器人Eliza,运行在OpenAI的Chat Completions API上
项目描述
Eliza-GPT
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 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | b4961c6212232c9d6354807fe906606ea9fee6101e75e5f7d8289b8eba671e16 |
|
MD5 | 542199ba02fc82ddb6a09970ce3b75b1 |
|
BLAKE2b-256 | 4a7e4d34a0fb98480e9b89dd936e877548e24bc062db6626105eb379f9f5c363 |
eliza_gpt-0.2.0-py3-none-any.whl 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 94637574a6ae67842b89c575730c15b20075f5f9eb9d63b0f1179cddd0811f16 |
|
MD5 | 56334e1f1e5287f85034932f507b7911 |
|
BLAKE2b-256 | 7d59ebd291c71114e3efd101d8a80783dc84ace7a0dbce0a6b4dac53ee2ceeb6 |