Globe Agent 框架
这个仓库是我们通过实践发现非常有用的 LLM 提示/编程技术的集合。 所有示例都使用 OpenAI ChatGPT API,并采用自定义封装,你可以通过以下命令安装:
pip install chatgpt-wrapper
吐槽:
我们创建这个仓库是因为开源 LLM 代理编程框架变得异常复杂和过度抽象。 这些库似乎以病毒式传播为首要目标,而不是功能性,因此它们功能密集且臃肿。 它们与实际发送给 LLM 的提示之间的抽象程度太高,以至于你无法针对自己的用例进行优化。
这个仓库不是一个可以安装并通过 API 使用的库。相反,我们将我们发现的最有用的想法提炼为最小的可复现代码示例,展示代理编程领域中有用的概念。
我们的目标是鼓励代码和想法的分叉和复制粘贴。
如果你觉得这些代码有用或有趣,请在 Twitter 上标记 @ivan_yevenko 和/或 @sincethestudy,并分享你的代理代码。你也应该加入我们的 Discord 来分享你正在做的事情。我们举办 AI 代理黑客马拉松,比如这个,Discord 是了解它们的最好方式。
推理器
在 reasoners/
文件夹中,我们介绍了内部独白、面向目标编程和结构化输出的概念。它让我们可以编写如下代码:
reasoner.set_objective("执行某项任务")
while not reasoner.objective_complete:
thought = reasoner.internal_monlogue("我需要制定一个计划")
plan = reasoner.extract_info("以下是我的计划,以列表形式呈现:\n{plan}", List[str])
for step in plan:
execute_step(step)
reasoner.evaluate_objective()
上下文管理
context_management/
文件夹展示了一些更高级的 LLM 上下文管理示例
context = Context()
memory_manager = MemoryManager(context)
memory_manager.add_memory("日期", lambda: datetime.datetime.now().strftime("%Y年%m月%d日"))
memory_manager.add_memory("用户生日", "1月1日")
memory_manager.add_memory("礼物推荐", "A、B、C、D...")
with context.branch():
memory_manager.load_memories("日期", "用户生日", "礼物推荐")
plan = plan_birthday()
代码生成
代码生成是新的函数调用。查看 code_gen/
文件夹中的函数生成示例。我们将随时间添加更多内容到这个文件夹。
由 Ivan Yevenko 制作