动手学Dify:自定义工具与沙盒(文末领取动手训练大模型教材)


动手学Dify:自定义工具与沙盒(文末领取动手训练大模型教材)

仅用于站内搜索,没有排版格式,具体信息请跳转上方微信公众号内链接

工具可以扩展LLM的能力,比如联网搜索、科学计算或绘制图片,赋予并增强了LLM连接外部世界的能力。Dify提供了两种工具类型:第一方工具和自定义工具。
可以直接使用Dify生态提供的第一方内置工具,或者轻松导入自定义的API工具(目前支持OpenAPI/Swagger和OpenAIPlugin规范)。
https ://docs. dify.ai/zh-hans/guides/tools/readme
https ://docs. dify.ai/zh-hans/plugins/introduction
工具使用户可以在Dify上创建更强大的AI应用,如你可以为智能助理型应用(Agent)编排合适的工具,它可以通过任务推理、步骤拆解、调用工具完成复杂任务。
方便将你的应用与其他系统或服务连接,与外部环境交互,如代码执行、对专属信息源的访问等。工具可以扩展LLM的能力,比如联网搜索、科学计算或绘制图片,赋予并增强了LLM连接外部世界的能力。Dify提供了两种工具类型:第一方工具和自定义工具。
若你需要直接使用Dify生态提供的第一方内置工具,你需要在使用前配置相应的凭据。
凭据校验成功后工具会显示“已授权”状态。配置凭据后,工作区中的所有成员都可以在编排应用程序时使用此工具。
工具
工具描述
谷歌搜索
用于执行GoogleSERP搜索并提取片段和网页的工具。输入应该是一个搜索查询
维基百科
用于执行维基百科搜索并提取片段和网页的工具。
DALL-E绘画
用于通过自然语言输入生成高质量图片
网页抓取
用于爬取网页数据的工具
WolframAlpha
一个强大的计算知识引擎,能根据问题直接给出标准化答案,同时具有强大的数学计算功能
图表生成
用于生成可视化图表的工具,你可以通过它来生成柱状图、折线图、饼图等各类图表
当前时间
用于查询当前时间的工具
雅虎财经
获取并整理出最新的新闻、股票报价等一切你想要的财经信息。
StableDiffusion
一个可以在本地部署的图片生成的工具,你可以使用stable-diffusion-webui来部署它
Vectorizer
一个将PNG和JPG图像快速轻松地转换为SVG矢量图的工具。
YouTube
一个用于获取油管频道视频统计数据的工具
可以在“工具-自定义工具”内导入自定义的API工具,目前支持OpenAPI/Swagger和ChatGPTPlugin规范。
可以将OpenAPIschema内容直接粘贴或从URL内导入。关于OpenAPI/Swagger规范你可以查看官方文档说明。
插件是Dify平台的扩展模块,让你可以轻松地接入第三方模型与工具,显著提升应用能力。通过插件系统,你的AI应用能够更好地”看”、“听”、“说”、“画”、“计算”、“推理”,并连接外部API,执行真实世界的操作。
新的插件系统突破了原有框架的限制,提供更丰富和强大的扩展能力。提供五种类型插件,每一种类型对应成熟的场景解决方案,赋予开发者用无限的创意改造Dify应用的空间。同时,插件系统也为用户提供了便捷的功能扩展方式:
即插即用:通过DifyMarketplace或本地文件安装,无需编程知识即可使用强大的功能扩展。
丰富生态:访问由开发者社区贡献的各类插件,涵盖模型接入、工具集成、智能策略等多个方面。
灵活分享:可以通过DifyMarketplace、GitHub或本地文件的形式获取和分享插件。
Models(模型)各类AI模型的接入插件,让你能够轻松使用不同的AI模型,无需复杂的配置过程。
Tools(工具)能够被Chatflow/Workflow/Agent类型应用所调用的第三方服务,用于增强Dify应用的能力。
Agent策略为Agent节点提供不同的推理和决策逻辑,优化工具选择和结果处理。
Extensions(扩展)通过简单的HTTP服务调用即可使用的轻量级扩展功能。
Bundle(插件包)预先组合好的插件集合,可以一次性安装多个相关插件,简化配置流程。

https ://docs. dify.ai/zh-hans/development/backend/sandbox/README
多语言支持:DifySandbox基于Seccomp,这是一个系统层级的解决方案,从而确保了可以支持多种编程语言,目前支持了Python与Nodejs。
系统安全:使用白名单策略,只允许运行特定的系统调用,从而确保不会出现意外的绕过。
文件系统隔离:用户代码将运行在一个独立的隔离的文件系统中。
网络隔离:
DockerCompose:独立网络Sandbox网络,并使用代理容器进行网络访问,确保内网系统的安全,同时提供了灵活的代理配置方案。
K8s:直接使用Egress配置网络隔离策略即可。
DifySandbox已预先配置了以下Python依赖:
http-基础网络请求库
jinja2-模板引擎,用于LLM提示词处理
requests-HTTP客户端库
若需要额外的Python依赖,请遵循以下步骤
找到项目根目录下的dependencies/python-requirements. txt文件。
在文件中添加所需的依赖包名及版本。若涉及权限变更,请参考**常见问题。
重新构建DifySandbox。
本书兼具通俗性与专业性,案例丰富且实操性强,既可作为人工智能初学者的系统入门指南,也可满足进阶学习者的技术提升需求。对研究人员与工程师而言,本书更是一部极具参考价值的技术手册。此外,本书还适合作为高校或培训机构的人工智能课程教材,助力人工智能专业人才培养。
#留言领取大模型图书#
#学习大模型&讨论Kaggle#
△长按添加竞赛小助手
每天大模型、算法竞赛、干货资讯
与36000+来自竞赛爱好者一起交流~


文章作者: ZejunCao
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 ZejunCao !
  目录