从Java转行大模型应用,Dify 本地部署和可视化智能体创建全流程(低代码 + 脚本)
Dify 是开源低代码 AI 应用开发平台支持Docker 一键本地私有化部署通过可视化拖拽即可创建智能体无需复杂编码还可通过脚本自动化部署与智能体配置。以下是完整实操方案一、本地部署Docker Compose推荐1. 环境准备系统Linux/macOS/WindowsWSL2CPU≥2 核、内存≥4GB、磁盘≥20GB必备工具Docker≥24.0、Docker Compose≥2.20、Git验证安装docker --version docker compose version git --version2. 一键部署脚本可直接复制执行#!/bin/bash # 1. 克隆最新Dify仓库浅克隆仅拉取最新代码 git clone --depth1 https://github.com/langgenius/dify.git cd dify/docker # 2. 复制环境变量模板并修改关键配置 cp .env.example .env # 自定义配置可选如修改端口、数据库密码 sed -i s/NGINX_HTTP_PORT80/NGINX_HTTP_PORT8080/g .env # 端口冲突时修改 sed -i s/POSTGRES_PASSWORDdify/POSTGRES_PASSWORDyour_secure_pwd/g .env # 强密码 # 3. 启动所有服务后台运行 docker compose up -d # 4. 初始化数据库首次部署必须执行 docker compose exec -T backend flask db init docker compose exec -T backend flask db migrate docker compose exec -T backend flask db upgrade # 5. 查看服务状态与日志 docker compose ps docker compose logs -f # 实时日志按CtrlC退出3. 访问与初始化浏览器打开http://localhost:8080或自定义端口首次访问进入初始化页面设置管理员账号 / 密码完成后登录控制台4. 部署常见问题端口冲突修改.env中NGINX_HTTP_PORT为 8080/8081 等内存不足Docker 设置中分配≥8GB 内存服务启动失败执行docker compose down后重新up -d或查看日志定位问题二、可视化创建智能体低代码无代码操作1. 基础配置5 分钟登录 Dify 控制台 → 点击创建应用→ 选择智能体Agent填写应用名称如 “企业知识助手”、描述选择对话型应用进入应用开发页先配置大模型左侧「设置」→「模型供应商」→ 添加模型OpenAI/DeepSeek/ 智谱 AI / 通义千问等填入 API Key选择对话模型如 gpt-4o、qwen-max2. 智能体核心配置可视化拖拽1系统提示词定义智能体人设在「提示词编排」页编写结构化 Prompt示例# 角色企业知识问答智能体 # 目标基于公司知识库准确回答员工关于制度、流程、福利的问题 # 约束 1. 仅使用知识库内容回答不编造信息 2. 回答简洁、结构化引用知识库来源 3. 无法回答时引导咨询HR部门2工具配置赋予智能体执行能力Dify 内置 50 工具搜索、代码执行、邮件、API 调用等可视化添加左侧「工具」→ 点击「添加工具」选择内置工具如联网搜索、代码执行或自定义 API 工具配置工具参数如 API 地址、请求头、参数开启工具调用权限3知识库集成RAG 增强私有化数据左侧「知识库」→「创建知识库」→ 上传私有文档PDF/Word/Markdown配置分块500-1000 字符、重叠100-200 字符、嵌入模型处理完成后在智能体配置中关联该知识库开启检索增强4工作流编排复杂逻辑可视化进入「工作流」编辑器拖拽节点构建流程开始节点 → 大模型节点用户输入 → 检索节点查知识库 → 工具调用节点 → 结束节点连接节点配置节点参数如检索 Top K5、工具调用条件点击「调试」输入测试问题验证流程执行3. 发布与测试点击右上角「发布」生成Web 应用链接与API 接口打开 Web 链接测试智能体对话、工具调用、知识库检索功能查看「日志」监控智能体执行过程与调用记录三、智能体创建自动化脚本API 调用批量 / 集成通过 Dify OpenAPI可编写脚本自动化创建、配置智能体适合批量部署或集成到 CI/CD 流程。1. 前置准备获取 API 密钥Dify 控制台 → 「设置」→「API 密钥」→ 生成密钥接口文档http://localhost:8080/docs/apiSwagger UI2. Python 自动化脚本创建智能体 配置知识库 工具import requests import json # 配置参数 DIFY_BASE_URL http://localhost:8080/v1 API_KEY your_dify_api_key HEADERS {Authorization: fBearer {API_KEY}, Content-Type: application/json} # 1. 创建智能体应用 def create_agent_app(): url f{DIFY_BASE_URL}/apps payload { name: 自动化创建的智能体, description: 通过API创建的企业知识助手, mode: chat, # 对话型 app_type: agent # 智能体类型 } response requests.post(url, headersHEADERS, jsonpayload) app_id response.json()[id] print(f创建应用成功ID: {app_id}) return app_id # 2. 配置大模型 def config_model(app_id): url f{DIFY_BASE_URL}/apps/{app_id}/model-config payload { model: { provider: openai, # 模型供应商 name: gpt-4o, api_key: your_openai_key }, parameters: {temperature: 0.7, max_tokens: 1024} } requests.post(url, headersHEADERS, jsonpayload) print(模型配置完成) # 3. 创建并关联知识库 def create_and_bind_knowledge(app_id): # 3.1 创建知识库 kb_url f{DIFY_BASE_URL}/datasets kb_payload {name: 企业制度知识库, description: 公司内部制度文档} kb_response requests.post(kb_url, headersHEADERS, jsonkb_payload) kb_id kb_response.json()[id] # 3.2 上传文档示例上传本地文件 file_url f{DIFY_BASE_URL}/datasets/{kb_id}/documents/upload files {file: open(company_rules.pdf, rb)} requests.post(file_url, headers{Authorization: fBearer {API_KEY}}, filesfiles) # 3.3 关联知识库到智能体 bind_url f{DIFY_BASE_URL}/apps/{app_id}/knowledge-bases bind_payload {dataset_ids: [kb_id]} requests.post(bind_url, headersHEADERS, jsonbind_payload) print(f知识库{kb_id}关联完成) # 4. 添加工具示例添加联网搜索工具 def add_tool(app_id): url f{DIFY_BASE_URL}/apps/{app_id}/tools payload { tool_type: websearch, # 内置搜索工具 name: 联网搜索, enabled: True } requests.post(url, headersHEADERS, jsonpayload) print(工具添加完成) # 主流程 if __name__ __main__: app_id create_agent_app() config_model(app_id) create_and_bind_knowledge(app_id) add_tool(app_id) print(智能体自动化创建完成)四、私有化部署优势数据安全所有数据文档、对话、模型调用存储在本地无第三方泄露风险完全可控自定义模型、工具、工作流适配企业私有业务逻辑低成本无需支付 SaaS 订阅费可复用本地算力与模型可扩展支持对接私有大模型、内部 API、企业级中间件如 Milvus 向量库
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2502949.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!