直达「 通往AGI之路 」飞书知识库 →
首页/问答列表/问答详情

deepseek支持function calling,在dify的agent的prompt里要如何写才能调用工具

回答

在 Dify 的 agent 的 prompt 中实现调用工具的方法如下:

  1. 提示词注入阶段:
    • INSTRUCTION 为注入到系统提示中的字符串,包含 TOOL_EAXMPLE、tools_instructions、REUTRN_FORMAT 三个部分。
    • TOOL_EAXMPLE 用于提示 LLM 如何理解和使用工具,编写时应使用无关紧要的工具作为示例,避免 LLM 混淆。
    • tools_instructions 是将通用的工具字典转换成 LLM 可读的工具列表,实际使用时可动态调整。
    • REUTRN_FORMAT 定义了调用 API 的格式。
  2. 工具结果回传阶段:
    • 利用正则表达式抓取输出中的“tool”和“parameters”参数。
    • 对于 interpreter 工具,使用另一种正则表达式提取 LLM 输出的代码,提高使用成功率。
    • 通过识别 LLM 返回的调用工具的字典,提取对应的值,传入相应的工具函数,将工具返回的结果以 observation 的角色返回给 LLM。对于不接受该角色的 LLM 接口,可改为回传给 user 角色。

此外,当模型判断需要调用工具函数时,即检测到返回的 json 里面 function_call 字段不为空,则执行异步函数调用,可通过判断返回的 functionCall 的名称来执行不同的函数并返回结果。

在提升可控性方面,有以下建议:

  1. 放弃 JSON mode,虽然模型能力提升能输出 JSON,但仍会出错,且不能保证 100%正确,而模型厂家对 Function Calling 有微调优化。
  2. 降低 System prompt 依赖,化繁为简,能在 Tools 里写的东西尽量写在里面。
  3. API Response 增强 Prompt,这一步的准确率很高,可增加给大模型的约束和提示。
  4. 尽量让模型做选择,而不是填空,减少 token 输出,提高速度和准确率。
  5. 利用 Tools 来做 Route,构建 Multi Agent,术业有专攻。
内容由 AI 大模型生成,请仔细甄别(powered by aily)

参考资料

无需微调,仅用提示词工程就能让 LLM 获得 tool calling 的功能

本文采用的提示词工程主要有两部分代码组成:提示词注入和工具结果回传。提示词注入用于将工具信息以及使用工具的提示词添加到系统提示中。工具结果回传则是解析tool calling的输出,并将工具返回的内容再次嵌入LLM。[heading2]1、提示词注入阶段[content]INSTRUCTION为最后注入到系统提示中的字符串,他又包含了TOOL_EAXMPLE、tools_instructions、REUTRN_FORMAT三个部分。TOOL_EAXMPLE用于提示LLM如何理解tool以及如何使用tool。在编写TOOL_EAXMPLE时,请注意用一些无关紧要的工具作为示例,例如本文使用的将数字加一和数字减一的工具,从而避免LLM混淆真正可以使用的工具与示例工具。tools_instructions是由目前通用的工具字典转换成LLM可读的工具列表。实际使用LLM时,可以通过输入不同的工具来动态调整tools_instructions,让LLM得知目前可用的工具有哪些以及如何使用。REUTRN_FORMAT定义了调用API的格式。[heading2]2、工具结果回传阶段[content]利用正则表达式抓取输出中的"tool"和"parameters"参数。对于interpreter工具,使用了另一种正则表达式来提取LLM输出的代码,提高LLM使用interpreter工具的成功率。本文使用代码如下:通过识别LLM返回的调用工具的字典,提取出对应的值,再传入相应的工具函数,最后将工具返回的结果以observation的角色返回给LLM。对于一些不接受observation、tool、function角色的LLM接口,可以改为回传给user角色,例如:通过以上提示词工程,可以避免微调,让完全没有tool calling能力的LLM获得稳定的tool calling能力。

游戏实操| 利用LLM进行环境叙事和解谜——《Im Here2》

[title]游戏实操|利用LLM进行环境叙事和解谜——《Im Here2》[heading1]三、Demo实现[heading2]3.2提示词设计具体而言,当模型判断需要调用工具函数时,即检测到返回的json里面function_call字段不为空,则执行异步函数调用,这里采用回调的方式以获取函数返回的结果。通过判断返回的functionCall的名称来执行不同的函数,执行逻辑同时返回结果。1.对守卫者和指引者一类具有单一明确任务的代理来说,虽然不同代理负责不同的谜题如一般谜题和世界观谜题,但由于指令结构的存在保持着一定的兼容性,所以只要调试出一个可行的结构,进一步更换谜题和回答正确后提供的线索即可。在这里调试它们的指示预设更像是尝试使它们输出特定的内容,有点像:《完蛋!我被LLM包围了!》,感兴趣的可以试玩一下:[https://huggingface.co/spaces/LLMRiddles/LLMRiddles](https://huggingface.co/spaces/LLMRiddles/LLMRiddles)[https://modelscope.cn/studios/LLMRiddles/LLMRiddles/summary](https://modelscope.cn/studios/LLMRiddles/LLMRiddles/summary)这里举了两个有不同谜题的代理示例,可以试着一段段输入测试查看模型输出的结果,指令预设如下:守卫者1:【角色预设+谜题】

AI Agent产品经理血泪史(一):一年来我摸过的那些石头【Tools篇】

上面讲到了4种实现Function Calling的方式:Json Output:通过Prompt的方式让模型输出JSON格式内容优劣势:Prompt麻烦,输出不稳定,串业务成本高Json Mode:官方Josn Output,1106与Tools同期推出优劣势:JSON格式稳定,但实际上它与Tools的适用场景是不同的,JSON mode是为了输出JSON存在的,而Tools是为了Call API存在的Function Calling和Tools就不再赘述但是从可控的角度来说,还是会推荐Function Calling和Tools来实现。1、放弃JSON mode:随着模型能力提升,模型能够准确地输出JSON,但是它还是会出错,不能保证100%正确;模型厂家对Function Calling是有微调优化的,也有说法是专门的MOE专家,但是无从验证;2、降低System prompt依赖,化繁为简S yste m prompt里面写的东西太多了,你不能保证模型能很好地遵循它;能在Tools里面去写的东西,尽量写在Tools里面3、API Response增强Prompt:其实所有输入给模型的内容,都可以算作是Pormpt。同理,Tools调用的结果也就是API Response也会被返回给到模型。可以在这一步增加一些给大模型的约束和提示,这里的准确率非常高,毛估估95%以上。4、尽量让模型做选择,而不是填空把确定的答案做成选项给到模型,比如用Enum的方式。一方面减少token的输出,提高速度;另一方面,准确率高5、利用Tools来做Route,构建Multi Agent一个不行就上两,两个不行就上四。术业有专攻,Agent的世界也一样。

其他人在问
deepseek支持function calling,在dify的agent的prompt里要如何写才能调用工具。我说的是如何写提示词,才能让deepseek通过Function Calling调用工具。
要在 Dify 的 agent 的 prompt 里让 DeepSeek 通过 Function Calling 调用工具,您可以参考以下内容: 1. 提示词工程主要由提示词注入和工具结果回传两部分代码组成。 提示词注入:将工具信息及使用工具的提示词添加到系统提示中。INSTRUCTION 包含 TOOL_EAXMPLE、tools_instructions、REUTRN_FORMAT 三个部分。TOOL_EAXMPLE 用于提示 LLM 如何理解和使用工具,编写时注意用无关紧要的工具作示例避免混淆。tools_instructions 是将通用工具字典转换成 LLM 可读的工具列表,可动态调整。REUTRN_FORMAT 定义调用 API 的格式。 工具结果回传:利用正则表达式抓取输出中的“tool”和“parameters”参数。对于 interpreter 工具,使用另一种正则表达式提取 LLM 输出的代码。通过识别 LLM 返回的调用工具的字典,提取对应值传入工具函数,将结果以 observation 角色返回给 LLM,对于不接受该角色的 LLM 接口,可改为回传给 user 角色。 2. 当模型判断需要调用工具函数时,检测到返回的 json 里 function_call 字段不为空,则执行异步函数调用,采用回调方式获取函数返回结果。通过判断返回的 functionCall 的名称执行不同函数并返回结果。 3. 在大模型请求中,最大的两个变量是 Messages 和 Tools。Messages 里放 sys prompt、memory、user query;Tools 里放能力的 Json Scheme,两者组合形成整个完全的 Prompt。Agent 应用开发的本质是动态 Prompt 拼接,通过工程化手段将业务需求转述成新的 prompt。短期记忆在 messages 里的历史 QA 对,长期记忆是 summary 之后的文本再塞回 system prompt。RAG 是向量相似性检索,可放在 system prompt 里或通过 tools 触发检索。Action 是触发 tool_calls 标记进入请求循环,拿模型生成的请求参数进行 API request,再把结果返回给大模型交互,没有 tool_calls 标记则循环结束。Multi Agents 是更换 system prompt 和 tools。
2024-10-24
deepseek支持function calling,prompt里要如何写才能调用工具。
要在 DeepSeek 中通过提示词实现工具调用,主要通过以下提示词工程实现: 1. 实现原理: 提示词工程主要由提示词注入和工具结果回传两部分代码组成。提示词注入将工具信息及使用提示词添加到系统提示中,工具结果回传则解析工具调用的输出,并将返回内容嵌入 LLM。 2. 提示词注入阶段: INSTRUCTION 为注入到系统提示中的字符串,包含 TOOL_EAXMPLE、tools_instructions、REUTRN_FORMAT 三个部分。TOOL_EAXMPLE 用于提示 LLM 理解和使用工具,编写时应使用无关紧要的工具作示例避免混淆。tools_instructions 是将通用工具字典转换为 LLM 可读的工具列表,实际使用时可动态调整。REUTRN_FORMAT 定义了调用 API 的格式。 3. 工具结果回传阶段: 利用正则表达式抓取输出中的“tool”和“parameters”参数。对于 interpreter 工具,使用另一种正则表达式提取 LLM 输出的代码以提高成功率。通过识别 LLM 返回的调用工具字典,提取对应值传入工具函数,将结果以 observation 角色返回给 LLM,对于不接受该角色的 LLM 接口,可改为回传给 user 角色。 在游戏实操中,当模型判断需要调用工具函数时(检测到返回的 json 里 function_call 字段不为空),执行异步函数调用,采用回调方式获取函数返回结果,通过判断返回的 functionCall 名称执行不同函数并返回结果。 对于 ChatGPT,为让其返回符合要求的 JSON 格式,prompt 的定制尤为重要和复杂。OpenAI 发布函数调用及其他 API 更新后,开发人员可向 gpt40613 和 gpt3.5turbo0613 描述函数,让模型智能输出包含调用函数所需参数的 JSON 对象。本地可根据 GPT 返回的函数名、参数进行数据查询,可采用函数查询或 SQL 查询,根据实际业务需求选择,使 AI 输出更可控。
2024-10-24
Function Calling in AI
以下是关于“Function Calling in AI”的相关内容: 函数调用为 AI 系统带来了诸多重要优势,包括大大简化用户体验,使用户无需在模型和应用程序间繁琐地复制粘贴信息,过程更流畅直观;显著减少错误发生的可能性,降低输入不正确信息的风险,提高准确性;为更高级的自动化开辟道路,能够处理如酒店预订或制定旅行计划等复杂操作,用户通过简单的语音命令就能完成一系列复杂任务,重新定义了人与技术的互动方式。 在 ChatGPT 中,为让其返回符合要求的 JSON 格式,prompt 的定制尤为重要和复杂。OpenAI 于当地时间 6 月 13 日发布函数调用及其他 API 更新,开发人员可向 gpt40613 和 gpt3.5turbo0613 描述函数,让模型智能输出包含调用函数所需参数的 JSON 对象,这是将 GPT 能力与外部工具和 API 连接的新方法。结合 GPT 与函数调用,本地控制返回 JSON 格式,prompt 定制更简单,AI 输出更可控,可根据实际业务需求选择函数查询或 SQL 查询。 在 AI 智能体方面,工具使用或函数调用通常被视为从 RAG 到主动行为的第一个半步,为现代人工智能栈增加新层。工具本质是预先编写的代码组件,执行特定操作,如网页浏览、代码解释和授权认证等。系统向 LLM 呈现可用工具,LLM 选择工具、构建必要的结构化 JSON 输入并触发 API 执行以产生最终操作。Omni 的“计算 AI”功能体现了这种方法,利用 LLM 直接输出适当的 Excel 函数到电子表格中执行计算并自动生成复杂查询供用户使用。但工具使用仅凭自身不能视为“主动性”,逻辑控制流程仍由应用程序预先定义。
2024-10-22
Function Calling
Function Calling 是一种将模型的能力与外部工具和 API 连接起来的方法。 在 OpenAI 方面,当地时间 6 月 13 日发布函数调用及其他 API 更新。开发人员可向 gpt40613 和 gpt3.5turbo0613 描述函数,让模型智能输出包含调用函数所需参数的 JSON 对象。例如,本地写函数执行 this.app.mysql.select,让 GPT 与函数调用结合,控制返回 JSON 格式,使 prompt 定制更简单,AI 输出更可控。 在谷歌 Gemini 方面,在从事金融业务的用例中,如搜索欧元兑美元的当前汇率,需做好配置,使用 Gemini 1.5 Flash 模型。函数调用为 AI 系统带来诸多优势,如简化用户体验、减少错误发生可能性、为更高级自动化开辟道路,能处理如酒店预订或制定旅行计划等复杂操作,重新定义了人与技术的互动方式。
2024-10-12
Function Calling 是什么
Function Calling 是一种将大语言模型(如 ChatGPT)的能力与外部工具和 API 连接起来的新方法。 在 OpenAI 的 0613 版本中更新了此功能。开发人员可以向 gpt40613 和 gpt3.5turbo0613 描述函数,让模型智能地选择输出一个包含调用这些函数所需参数的 JSON 对象。 Function Calling 到来之前,使用 Json Output 存在诸多缺陷,如 JSON 格式非常标准,输出一个错的 token 就会异常;模型上下文短;模型难以在单个请求里完成多个复杂任务;大模型废话多;工程化复杂且维护成本高等。 Function Calling 实现的方式大大降低了所有 LLMs 应用开发的难度,例如降低了 Prompt 维护成本,实现了 System Prompt 和 Function 解耦。本地可以写函数执行特定操作,如 this.app.mysql.select,使操作更为灵活。
2024-08-21
deepseek支持function calling吗
DeepSeek API 支持 Function Calling 功能。这项功能允许模型调用外部工具以增强其能力。例如,可以使用 Function Calling 获取用户所在地点的当前天气信息。具体的 API 格式可以在 DeepSeek API 的 Chat Completion 文档中找到示例和详细信息 。 此外,DeepSeek API 最近更新了,其中包括了对 Function Calling 的支持。更新的接口 `/chat/completions` 现在支持 JSON 输出、Function Calling、对话前缀续写(Beta)、8K 最长输出(Beta),并且新增了 `/completions` 接口,其中包括 FIM 补全(Beta)。所有这些新功能都可以使用 `deepseekchat` 和 `deepseekcoder` 模型调用 。
2024-08-05
我想在云服务器部署使用 dify 和 comfyui ,云服务器机器配置需要什么要求呢
在云服务器部署使用 Diffy 和 ComfyUI ,云服务器机器配置要求如下: 1. 系统:Windows 7 以上。 2. 显卡要求:NVIDIA 独立显卡且显存至少 4G 起步。但 SDXL 出来后提高了运行配置,最低需要 8GB 显存+32GB 运行内存,12GB 流畅运行,推荐 16GB 以上。 3. 硬盘:留有足够的空间,最低 100G 起步(包括模型)。硬盘会影响加载模型的速度,最好把软件和模型部署在 SSD(固态硬盘)上。 4. 内存:最低 32GB,越高越好,最低配会经常爆显存。 需要注意的是,ComfyUI 相比 WebUI 配置更低,系统资源占用更少,出图速度更快,最低可在小于 3G 的 GPU 上运行,甚至没有 GPU 光用 CPU 也可以运行,但速度极慢。如果您的电脑能顺畅清晰地玩 3A 游戏,那玩 WebUI 和 ComfyUI 通常也没问题。配置上不封顶,根据自己的需求和预算来选择即可。
2024-10-19
你知道dify吗
Dify 是一个开源的大模型应用开发平台。它融合了后端即服务和 LLMOps 的理念,为用户提供直观界面,能快速构建和部署生产级别的生成式 AI 应用。 该平台具有以下特点: 1. 强大的工作流构建工具。 2. 支持广泛的模型集成。 3. 拥有功能丰富的提示词 IDE。 4. 具备全面的 RAG Pipeline,可用于文档处理和检索。 5. 允许用户定义 Agent 智能体。 6. 通过 LLMOps 功能对应用程序的性能进行持续监控和优化。 Dify 提供云服务和本地部署选项,以满足不同用户的需求。其开源特性保证了对数据的完全控制和快速的产品迭代。Dify 的设计理念注重简单性、克制和快速迭代,能为创业团队构建 MVP、企业集成 LLM 增强现有应用能力以及技术爱好者探索 LLM 潜力提供相应支持和工具。 Dify 官方手册:https://docs.dify.ai/v/zhhans 。一般来说,如果是个人研究,推荐单独使用 Dify;如果是企业级落地项目,推荐使用多种框架结合,效果会更好。
2024-10-17
如何将COZE上的工作流复制下来JSON格式 给DIFY使用?
要将 COZE 上的工作流以 JSON 格式复制下来给 DIFY 使用,以下是一些相关的步骤和要点: 对于自动总结公众号内容并定时推送到微信的工作流: 循环查询文章是否推送过:包括数据库节点,用于在数据库中依据文章 URL 和用户的唯一标识(如重命名的 server 酱的 sendkey)判断是否推送过。需设置输出项「combined_output」,并注意 Coze 平台中数据库与 bot 绑定的设置方法。 循环体内容中的选择器:判断数据库查询结果是否为空,若为空则拼接文章完整信息。 对于 Coze 复刻吴恩达开源的 AI 翻译项目的工作流: 新建工作流并导入核心流程,分为初始翻译、反思优化、结果输出等部分。 开始节点选择翻译的源语言和目标语言,可设置其他参数。 初步的翻译大模型节点选择大模型和参考相关提示词。 对于用 Coze 免费打造微信 AI 机器人的工作流: 设计包括开始节点和结束节点,开始节点配置输入变量名、描述和变量类型。 知识库配置连接开始节点和知识库节点。 结束节点用于输出最终结果,设置回答格式和输出变量。 进行试运行测试。 请注意,具体的操作和配置可能因实际情况有所差异,需要根据您的具体需求和 COZE 平台的实际情况进行调整。
2024-10-15
我想要复制扣子上的工作流到DIFY 如何操作
要将扣子上的工作流复制到 Dify,以下是一些相关信息: RPA 很早就出现在工作流编排领域,目标是使符合标准的业务流程和工作流程自动化。 ComfyUI 采用工作流化操作模式,用户在流程编辑器中配置 pipeline,通过节点和连线完成模型操作和图片生成,其 DSL 配置文件支持导出导入。 Dify.AI 的工作流设计语言与 ComfyUI 有相似之处,定义了标准化的 DSL 语言,方便导入导出进行工作流复用。 可以使用 Dify 推出的“工作流”功能将流程设计和提示词落地。延申阅读:Dify——工作流:https://docs.dify.ai/v/zhhans/guides/workflow/introduce 。首先要建立整体工作流程,但流程可能缺少知识检索环节。
2024-10-15
dify的部署和ollama联动
以下是关于 Dify 与 Ollama 联动部署的相关信息: Ollama 的特点和功能: 1. 支持多种大型语言模型,如通义千问、Llama 2、Mistral 和 Gemma 等,适用于不同应用场景。 2. 易于使用,适用于 macOS、Windows 和 Linux 系统,同时支持 CPU 和 GPU。 3. 提供模型库,用户可从中下载不同参数和大小的模型,通过 https://ollama.com/library 查找。 4. 支持自定义模型,可修改温度参数调整创造性和连贯性,或设置特定系统消息。 5. 提供 REST API 用于运行和管理模型,以及与其他应用程序的集成选项。 6. 社区贡献丰富,包括多种集成插件和界面,如 Web 和桌面应用、Telegram 机器人、Obsidian 插件等。 Ollama 的安装和使用: 1. 访问 https://ollama.com/download/ 下载安装。 2. 安装完后,确保 Ollama 后台服务已启动。在 Mac 上启动 Ollama 应用程序,在 Linux 上通过 ollama serve 启动。可通过 ollama list 确认。 3. 通过 ollama 命令下载模型。 Google Gemma 的本地部署: 1. 进入 ollama.com 下载程序并安装(支持 Windows、Linux 和 macOS)。 2. 在命令提示符中输入 ollama v 检查版本,安装完成后版本应为 0.1.26。 3. 输入 cls 清空屏幕,然后输入 ollama run gemma 运行模型(默认是 2b),首次需要下载。若想用 7b,运行 ollama run gemma:7b 。 4. 完成后可直接对话。2b 反应速度快但互动话题有限,7b 输出内容质量相对高但可能卡顿,对非英文语种反馈不稳定。 5. 常用内部指令:/set 显示设置界面可调整的设置项;/show 显示模型信息;/load <model> 加载已有模型;/bye 退出。 整体框架设计思路: 可先采取 Langchain + Ollama 的技术栈作为 demo 实现,后续也可考虑使用 dify、fastgpt 等更直观易用的 AI 开发平台。本次开发的运行环境是 Intel Mac,其他操作系统也可行。下载模型等可能需要梯子。 Langchain 简介: Langchain 是当前大模型应用开发的主流框架之一,提供一系列工具和接口,使与 LLM 交互变简单。其核心在于“链”概念,是模块化组件系统,包括 Model I/O、Retrieval、Chains、Agents、Memory 和 Callbacks 等组件,可灵活组合支持复杂应用逻辑。其生态系统还包括 LangSmith、LangGraph 和 LangServe 等工具,帮助开发者高效管理从原型到生产的各个阶段以优化 LLM 应用。
2024-10-08
如何设计一个多轮对话的AI命题Agent
设计一个多轮对话的 AI 命题 Agent 可以从以下几个方面考虑: 1. 自然语言交互: 多轮对话能力:LLM 应能理解自然语言并生成连贯且与上下文相关的回复,以帮助 Agent 进行有效交流。 生成能力:LLM 要展示卓越的自然语言生成能力,生成高质量文本。 意图理解:LLMs 能够理解人类意图,但需注意模糊指令可能带来挑战。 2. 知识: 语言知识:包括词法、句法、语义学和语用学,使 Agent 能理解句子和进行对话。 常识知识:如药和伞的用途等世界常识,帮助 Agent 做出正确决策。 专业领域知识:特定领域如编程、医学等知识,对解决领域内问题至关重要。但要注意知识可能过时或错误,需通过重新训练或编辑 LLM 解决。 3. 记忆: 记忆机制:存储过去的观察、思考和行动,帮助 Agent 处理连续任务。 记忆提升策略:包括提高输入长度限制、记忆总结、用向量或数据结构压缩记忆。 记忆检索:Agent 检索记忆以访问相关信息,包括自动检索和交互式记忆对象。 4. 推理和规划: 推理:基于证据和逻辑,对解决问题、决策至关重要。 规划:组织思维、设定目标和确定实现目标的步骤。 计划制定:分解任务、制定计划,包括一次性全面分解和自适应策略。 以国内版 Coze 为例,在实际操作中: 1. 对话引擎:目前国内版暂时只支持使用“云雀大模型”作为对话引擎,其携带上下文轮数默认为 3 轮,可修改区间是 0 到 30,具体轮数根据业务需求决定。 2. 为 Bot 添加技能: 在 Bot 编排页面的“技能”区域,为 Bot 配置所需的技能。 若不懂插件,可选择区域右上角的“优化”按钮,让 AI Bot 根据提示词自动选择插件。 也可自定义添加所需插件,点击插件区域的“+”号选择加入具体插件。 如 Bot 需要获取 AI 新闻,可添加新闻搜索接口。 3. 测试 Bot:在 Bot 编排页面的“预览与调试”区域,测试 Bot 是否按预期工作,可清除对话记录以开始新的测试,确保 Bot 能理解用户输入并给出正确回应。
2024-10-21
有为AI电商准备的Prompt或者Agent吗
以下是为您整理的关于 AI 电商的 Prompt 或 Agent 的相关信息: 在 Prompt 精选网站中新增了网站,介绍了大语言模型相关的论文研究、学习指南、模型、讲座、参考资料、大语言模型能力以及与其他与提示工程相关的工具。 在 toB 领域,智能客服产品通常借助 agent 来实现,接入企业的 QA 知识库,对用户的信息予以回应,并依据用户的回答下达诸如取消订单、催快递之类的 action 指令。 新增了《》,作者为了让更多人理解 Agents 的可能性,分享了十篇具有较高可读性的关于 AIAgents 论文。 在之前的讨论中提到,AI Agent 的“大脑模块”激活关键之一是 Prompt,但单纯通过 Prompt 构建大脑模块(Prompttuning)一般适合“无趣的灵魂”,拟人化不那么重的情况,而对于“有趣的灵魂”,最直接的解决方式是通过微调一个定向模型(Finetuning),一般创建方式是 Prompttuning + Finetuning 相结合。
2024-10-17
创建自己的ai agent
创建自己的 AI Agent 可以参考以下内容: AI Agent 是拥有各项能力来帮我们做特定事情的“打工人”。目前有不少大厂推出相关平台,如字节的扣子、阿里的魔搭社区等。AI 智能体包含自己的知识库、工作流、还能调用外部工具,结合大模型的自然语言理解能力可完成复杂工作。 扣子(Coze)是字节跳动旗下的新一代一站式 AI Bot 开发平台,无论是否有编程基础,都能在该平台上迅速构建基于 AI 模型的各类问答 Bot,并可发布到社交平台和通讯软件上。通过简单 3 步创建智能体:首先起一个智能体的名称,然后写一段智能体的简单介绍,最后使用 AI 创建一个头像。 对于国内版扣子,暂时只支持使用“云雀大模型”作为对话引擎,携带上下文轮数默认为 3 轮,可根据业务需求在 0 到 30 之间修改。在 Bot 编排页面的“技能”区域可为 Bot 配置所需技能,不懂插件可选择“优化”按钮让 AI Bot 自动选择,也可自定义添加。还可根据需求配置知识库、数据库、工作流等操作,测试 Bot 可在“预览与调试”区域进行。
2024-10-16
什么ai agent
AI Agent 是基于大型语言模型(LLM)和其他技术实现的智能实体,其核心功能在于自主理解、规划决策、执行复杂任务。 AI Agent 包括以下几个概念: 1. Chain:通常一个 AI Agent 可能由多个 Chain 组成。一个 Chain 视作一个步骤,可以接受一些输入变量,产生一些输出变量。大部分的 Chain 是大语言模型完成的 LLM Chain。 2. Router:可以使用一些判定(甚至可以用 LLM 来判定),然后让 Agent 走向不同的 Chain。例如:如果这是一个图片,则 a;否则 b。 3. Tool:Agent 上可以进行的一次工具调用。例如,对互联网的一次搜索,对数据库的一次检索。 总结下来需要三个 Agent: 1. Responser Agent:主 agent,用于回复用户(伪多模态)。 2. Background Agent:背景 agent,用于推进角色当前状态(例如进入下一个剧本,抽检生成增长的记忆体)。 3. Daily Agent:每日 agent,用于生成剧本,配套的图片,以及每日朋友圈。 这三个 Agent 每隔一段时间运行一次(默认 3 分钟),运行时会分析期间的历史对话,变更人物关系(亲密度,了解度等),变更反感度,如果超标则拉黑用户,抽简对话内容,提取人物和用户的信息成为“增长的记忆体”,按照时间推进人物剧本,有概率主动聊天(与亲密度正相关,跳过夜间时间)。 AI Agent 也就是 AI 智能体,简单来说就是拥有各项能力的打工人来帮我们做特定的事情。目前有不少大厂推出自己的 AI 智能体平台,像字节的扣子,阿里的魔搭社区等等。体验过 GPT 或者文心一言大模型的小伙伴应该都知道,现在基本可以用自然语言来编程了,相当于降低了编程的门槛。另外之前在使用 GPT 或者文心一言大模型的时候会出现胡编乱造的情况以及时效性、无法满足个性化需求等问题,而 AI 智能体的出现正是解决这些问题的绝佳方式,AI 智能体包含了自己的知识库、工作流、还可以调用外部工具,再结合大模型的自然语言理解能力,就可以完成比较复杂的工作。所以 AI 智能体的出现就是结合自己的业务场景,针对自己的需求,捏出自己的 AI 智能体来解决自己的事情。 例如,扣子(Coze)是字节跳动旗下的新一代一站式 AI Bot 开发平台,无论用户是否具备编程基础,都能在该平台上迅速构建基于 AI 模型的各类问答 Bot。这些 Bot 的功能涵盖了从解决简单问答到处理复杂逻辑对话的广泛范围。当开发完成后,还可以将自己构建的 Bot 发布到各种社交平台和通讯软件上,让更广泛的用户群体能够与这些 Bot 进行交互聊天。 创建智能体可以通过简单 3 步:首先起一个智能体的名称,然后写一段智能体的简单介绍,最后使用 AI 创建一个头像即可。
2024-10-16
如何创建一个AI agent
创建一个 AI agent 可以参考以下内容: AI agent 即 AI 智能体,是拥有各项能力来帮我们做特定事情的“打工人”。目前有不少大厂推出了自己的 AI 智能体平台,如字节的扣子、阿里的魔搭社区等。 以字节的扣子为例,其官网为。在扣子平台上,无论用户是否具备编程基础,都能迅速构建基于 AI 模型的各类问答 Bot,并可将其发布到各种社交平台和通讯软件上进行交互聊天。 创建智能体通常可以通过简单 3 步:首先起一个智能体的名称,然后写一段智能体的简单介绍,最后使用 AI 创建一个头像。 制作 AI Agent 一般有两种方式:单纯通过 Prompt 来构建大脑模块(Prompttuning),适合“无趣的灵魂”,即拟人化不是那么重的情况;针对“有趣的灵魂”,最直接的解决方式是通过微调一个定向模型,一般创建方式是 Prompttuning + Finetuning 相结合。
2024-10-15