Skip to content

Repository files navigation

api2agent

from a api key to a agent notebook 从 LLM API 调用开始,到实现一个最简单的 Agent。

学习阶段

  1. 1llmapi.py:调用 LLM API
  2. 2chatmemory.py:加入对话历史
  3. 3tool.py:加入单个计算工具
  4. 4loop.py:ReAct 风格的工具调用循环
  5. 5multitool.py:多个工具和工具注册表
  6. 6planner.py:分离计划与执行
  7. 7multiagent.py:多角色协作

注意

3

简化默认取首个tool

假设绝对命中tool

没有对tool做任何校验

4

推荐测试问题:

正例:

使用tool进行下面多次的数学计算:2+2等于?然后结果+3等于?然后结果+4等于?然后结果乘以2等于?

反例:

使用tool进行下面多次的数学计算:2+2等于?然后结果+3等于?然后结果+4等于?然后结果乘以2等于?然后结果减去1等于,然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?

只是实现了tool的loop

响应返回多个 tool_calls没有处理机制,仅取了第一个,可能会400

没有tool的注册表

5

推荐测试问题:

my name is Rudy,hello!

使用tool完成下面多个的任务:刚才我的上条消息全部转大写、计数一下它的总字数、它的总字数乘以2等于?

再乘以2等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?

my name is Rudy,hello!使用tool完成下面多个的任务:刚才我的消息全部转大写、计数一下它的总字数、它的总字数乘以2等于?

再乘以2等于?

About

简单7步从api到落地一个简易的agent

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages