01
—
为什么LLM需要 Tool Calling?
还记得LLM傻傻分不清9.9和9.11哪个更大的问题吗?截至2024年12月25日,chatgpt-4o 依然傻傻分不清。
这个问题如何结合python代码跑一个运算岂不是很容易就算出来了?小学生都会的问题LLM却不会。
—
如何做Tool Calling
如何做Tool Calling呢?需要通过 构造 prompt 来实现。具体来说有如下三种方式:
Built-in Tools (Brave, Wolfram) JSON-based Tool Calling User-defined Custom Tool Calling
Llama3.1新增加了ipython 角色,这个角色可以用于返回tool-calling的结果。
另外llama3.1都有哪些新的tag呢?
1)<|eom_id|> 通常这个tag 表示模型需要调用相应的tool。
2)<|python_tag|> 用于表示模型的 python代码输出。
下面我们看看通过 build-in tools的方式构造prompt:
如果需要 code interpreter 构造的prompt和LLM的输出为:
注意LLM并不会直接调用 code interpreter 去执行相应的代码,需要我们自己写相应的代码去执行这个python代码或者内置的相应的函数tool-call函数。
之后把 python执行的结果以及tool call 函数的输出组成新的Prompt 发送给LLM,然后等LLM给出最终的答案,就像如下:
03
—
总结
Llama3.1以后的版本已经让模型内置了支持agent的潜能,让我们的LLM根据实际需要能够做一些简单的决策了,这让LLM更加的智能和准确了,同时做Agent的门槛也降低了。
参考https://www.llama.com/docs/model-cards-and-prompt-formats/llama3_1/
进技术交流群请添加AINLP小助手微信(id: ainlp2)
请备注具体方向+所用到的相关技术点 关于AINLP
AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括LLM、预训练模型、自动生成、文本摘要、智能问答、聊天机器人、机器翻译、知识图谱、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP小助手微信(id:ainlp2),备注工作/研究方向+加群目的。