在从事我的项目输液时:
https://github.com/SychAndrii/infusion
我决定实现 2 个新功能 - 来自 LLM 的实时流式响应以及在程序完成时使用适当的退出代码。然而,我的任务不是创建传统的拉取请求以将更改集成到主分支中,而是在我的存储库中本地进行合并,然后将合并结果推送到远程存储库。
第一个问题是实施退出代码:
https://github.com/SychAndrii/infusion/issues/34
通过合并提交关闭:
https://github.com/SychAndrii/infusion/commit/b01f493a8eb3c86aad00760f41f8adf0b93b231e
这个任务非常容易实现,因为 python 为您提供了一个 sys 包来返回状态代码。我决定为我的程序设置 4 个错误状态代码:
0 - 计划成功结束。
1 - 提供的选项无效。
2 - 提供的文件无效。
3 - 未知错误。
除了添加状态码之外,我还重构了代码,使其更加直观,使用了更多功能。
我的第二个问题是实现流式传输:
https://github.com/SychAndrii/infusion/issues/33
通过合并提交关闭:
https://github.com/SychAndrii/infusion/commit/b01f493a8eb3c86aad00760f41f8adf0b93b231e
由于我在项目中使用了 LangChain 库,因此这项任务更难完成。这个库相对较新,因此使用 astream 函数进行流式传输的文档非常不直观且难以理解。
我一直讨厌Python,并且会在我的余生中继续这样做。我试图在这个项目中更轻松地使用它,但在使用 C#、TypeScript 或 Kotlin 等语言之后,我无法认真对待 Python。
以上是快进和三向合并的详细内容。更多信息请关注PHP中文网其他相关文章!