Morpheus Devcontainer
Morpheus devcontainer 提供了一个快速设置的开发和探索环境,用于 Visual Studio Code (Code)。devcontainer 是一个轻量级容器,它挂载了一个带有缓存包的 Conda 环境,从而减少了后续启动时的 Conda 下载时间。它为添加以开发者为中心的脚本提供了一个简单的框架,并整合了一些有用的 Code 插件,例如 clangd 和 CMake 支持。
有关 devcontainer 的更多信息,请访问 containers.dev
。
要开始使用,只需在 Code 中打开 Morpheus 仓库根文件夹。编辑器右下角应该会出现一个窗口,询问您是否想在 dev 容器内重新打开工作区。单击确认对话框后,容器将首先构建,然后启动,然后远程连接。
如果窗口没有出现,或者您想重建容器,请单击 ctrl-shift-p 并搜索 Dev Containers: Rebuild and Reopen in Container
。按 Enter 键,容器将首先构建,然后启动,然后远程连接。
连接到 Code 中的 devcontainer 后,setup-morpheus-env
脚本将开始运行并解决 Morpheus Conda 环境(此 Conda 环境是 Morpheus 仓库和 dev 容器本地的,不会覆盖任何主机环境)。您应该在 Code 的一个集成终端中看到脚本正在执行。脚本完成后,我们就可以开始 Morpheus 的开发或探索了。默认情况下,每个新的集成终端都会自动激活 Morpheus 环境。
devcontainer 的 PATH
(.devcontainer/bin
) 中提供了几个方便的脚本,用于启动、停止和与 Triton 和 Kafka 交互。可以根据需要添加更多脚本。
与 Triton 交互
要启动 Triton 并将其连接到 devcontainer 网络,可以使用 dev-triton-start
脚本。以下示例启动或重启加载了 abp-pcap-xgb
模型的 Triton。
dev-triton-start abp-pcap-xgb
现在应该启动 Triton,并且 DNS 可解析为 triton
。
ping triton
要加载不同的模型,只需使用不同的模型名称调用 dev-triton-start
。可以通过向命令添加更多模型名称来同时加载多个模型。
dev-triton-start model-1 model-2 ... model-n
要停止 Triton,请调用 dev-triton-stop
。这可能需要几秒钟,因为 Triton 服务器会优雅地关闭。
dev-triton-stop
与 Kafka 交互
要启动 Kafka 并将其连接到 devcontainer 网络,可以使用 dev-kafka-start
脚本。以下示例启动或重启 Kafka 和 Zookeeper。
dev-kafka-start
现在应该启动 Kafka,并且 DNS 可解析为 kafka
。
ping kafka
直接与 Kafka 交互以将测试数据生成到特定主题可能非常有用。为此,可以使用 dev-kafka-produce
脚本。此脚本打开与 Kafka 服务器的连接并启动 kafka-console-producer.sh
。在本例中,使用特定主题。启动后,将出现一个提示,您可以在其中将换行符分隔的消息输入到控制台中。
dev-kafka-produce test-topic
>
从文件生成消息也可能很有用。为此,可以使用带有两个参数的 dev-kafka-produce
脚本。第一个参数是主题名称,第二个参数是要转发到控制台生成器的文件。
dev-kafka-produce test-topic $MORPHEUS_ROOT/examples/data/pcap_dump.jsonlines
要检索 Kafka 和 Zookeeper 的日志,请使用 dev-kafka-logs
脚本。
dev-kafka-logs
要停止 Kafka 和 Zookeeper,请使用 dev-kafka-stop
脚本。
dev-kafka-stop