记录和回放ASGI网页加载
项目描述
asgi-replay
用于使用ASGI记录和回放请求的工具。
非常早期的原型
这是一个早期原型。我只使用过这个工具一次。
安装
pip install asgi-replay
用法
该工具提供两个命令 - 一个用于记录ASGI请求的日志,另一个用于运行服务器回放它们。
记录
asgi-replay record https://www.example.com log.json --port 8000
这将在端口8000
上运行本地服务器,将内容代理到www.example.com
- 并将每个请求记录到log.json
中。
log.json
文件将每次请求时被覆盖。这个工具主要是为了捕获单个HTTP交互。
如果您添加--increment
,则将为每个请求写入一个新的文件,从log-0.json
开始,然后是log-1.json
等。
回放
要回放单个日志 - 使得对本地服务器的任何HTTP请求都会回放确切的响应 - 运行以下命令
asgi-replay replay log.json --port 8000
(8000是两个命令的默认端口。)
我为什么要构建这个
我想构建一个可以模拟OpenAI完成端点流式响应的小型应用程序。
我构建的应用程序在这里:https://github.com/simonw/openai-canned-completion
您可以使用LLM像这样访问它
OPENAI_API_KEY='x' \
OPENAI_API_BASE='https://openai-canned-completion.vercel.app/v1' \
llm 'hello'
我首先在我的机器上运行以下命令
asgi-replay record https://api.openai.com log.json --port 8000
然后
OPENAI_API_BASE='https://#:8000/v1' \
llm 'hello'
这运行了对OpenAI的实际请求,并将响应保存在log.json
中。
然后我像这样运行回放
asgi-replay record https://api.openai.com log.json --port 8000
然后当我再次运行llm
命令时,我得到了相同的响应,而没有调用OpenAI API
OPENAI_API_BASE='https://#:8000/v1' \
llm 'hello'
Hello! How can I assist you today?
我将保存的ASGI日志复制到这个ASGI应用程序中:https://github.com/simonw/openai-canned-completion/blob/main/canned.py
项目详情
下载文件
下载您平台对应的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分布
asgi-replay-0.1a0.tar.gz (3.2 kB 查看哈希值)
构建分布
asgi_replay-0.1a0-py3-none-any.whl (3.5 kB 查看哈希值)
关闭
asgi-replay-0.1a0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3721a22aa3a0c207cc2d70c9f9865c91e786686d6475e958a13dd61b6acb910f |
|
MD5 | 7182ddd1016c91dcf76c7af187d7a180 |
|
BLAKE2b-256 | e5e891358cb41bc2eb1861927fa8376bc622c3d3bfc402081a5f180969ff7ebf |
关闭
asgi_replay-0.1a0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fe48bac162e73a96d1e9232287aa5a3bbed55f73cda9af121e922aad7c6a4c37 |
|
MD5 | 06a7e08f375166474e996b574a4e9227 |
|
BLAKE2b-256 | f0e41c8fe2155bb9317e0702fdd4e3655083908cd637652efdaa38e3224be819 |