首页 > 其他分享 >02- Dify部分代码分析

02- Dify部分代码分析

时间:2024-10-25 15:35:11浏览次数:1  
标签:02 AppMode Dify 代码 配置 enable mode CHAT True

api/constants/model_template.py

import json

from models.model import AppMode

default_app_templates = {
    # workflow default mode
    AppMode.WORKFLOW: {
        "app": {
            "mode": AppMode.WORKFLOW.value,
            "enable_site": True,
            "enable_api": True,
        }
    },
    # completion default mode
    AppMode.COMPLETION: {
        "app": {
            "mode": AppMode.COMPLETION.value,
            "enable_site": True,
            "enable_api": True,
        },
        "model_config": {
            "model": {
                "provider": "openai",
                "name": "gpt-4o",
                "mode": "chat",
                "completion_params": {},
            },
            "user_input_form": json.dumps(
                [
                    {
                        "paragraph": {
                            "label": "Query",
                            "variable": "query",
                            "required": True,
                            "default": "",
                        },
                    },
                ]
            ),
            "pre_prompt": "{{query}}",
        },
    },
    # chat default mode
    AppMode.CHAT: {
        "app": {
            "mode": AppMode.CHAT.value,
            "enable_site": True,
            "enable_api": True,
        },
        "model_config": {
            "model": {
                "provider": "openai",
                "name": "gpt-4o",
                "mode": "chat",
                "completion_params": {},
            },
        },
    },
    # advanced-chat default mode
    AppMode.ADVANCED_CHAT: {
        "app": {
            "mode": AppMode.ADVANCED_CHAT.value,
            "enable_site": True,
            "enable_api": True,
        },
    },
    # agent-chat default mode
    AppMode.AGENT_CHAT: {
        "app": {
            "mode": AppMode.AGENT_CHAT.value,
            "enable_site": True,
            "enable_api": True,
        },
        "model_config": {
            "model": {
                "provider": "openai",
                "name": "gpt-4o",
                "mode": "chat",
                "completion_params": {},
            },
        },
    },
}

这里的代码定义了一个字典default_app_templates,用于存储不同应用模式的默认配置。每个模式对应一个嵌套字典,包含应用的基本配置和模型配置。

具体包括:

  1. WORKFLOW模式:仅包含应用的基本配置
  2. COMPLETION模式:包含应用的基本配置和模型配置,模型配置中指定了OpenAI的GPT-4模型,并定义了用户输入表单和预提示。
  3. CHAT 模式:包含应用的基本配置和模型配置,模型配置中指定了OpenAI的GPT-4模型。
  4. ADVANCED_CHAT 模式:仅包含应用的基本配置。
  5. AGENT_CHAT 模式:包含应用的基本配置和模型配置,模型配置中指定了OpenAI的GPT-4模型。

控制流图

说明
A[开始]:程序开始。
B{选择应用模式}:根据不同的应用模式选择相应的配置。
C[配置WORKFLOW模式]:配置WORKFLOW模式的默认设置。
D[配置COMPLETION模式]:配置COMPLETION模式的默认设置。
E[配置CHAT模式]:配置CHAT模式的默认设置。
F[配置ADVANCED_CHAT模式]:配置ADVANCED_CHAT模式的默认设置。
G[配置AGENT_CHAT模式]:配置AGENT_CHAT模式的默认设置。
H[结束]:程序结束。

标签:02,AppMode,Dify,代码,配置,enable,mode,CHAT,True
From: https://www.cnblogs.com/chengzixi/p/18502648

相关文章

  • 01- Dify部分接口分析
    services/acount_service.py一、整体结构这段Python代码实现了与用户账户管理、租户管理和注册相关的功能,主要涉及到数据库操作、密码处理、令牌生成、邮件发送等任务。它包含了多个类,分别是AccountService、TenantService、RegisterService和CustomSignUpApi。二、AccountSe......
  • 前端开发必备Vs Code插件大全(2024最新)赶快收藏吧~
    1、装上这个Chinese(Simplified)就变成中文版的啦~2、GitLens—Gitsupercharged(上班族必备)git功能增强插件,鼠标放到代码行上,每一行代码的变动都一清二楚~3、GitHistory:可以查看提交历史,切换分支,查看提交记录等4、AutoImport、AutoCloseTag、A......
  • 2024年Stable Diffusion安装教程(附安装包链接)
    随着技术的迭代,目前StableDiffusion已经能够生成非常艺术化的图片了,完全有赶超人类的架势,已经有不少工作被这类服务替代,比如制作一个logo图片,画一张虚拟老婆照片,画质堪比相机。今天直接给大家上干货,安装包链接在最后!!!安装步骤1.打开链接,可以看到这里边为大家提供了......
  • 【重磅】第二届大数据与数据挖掘国际会议(BDDM 2024)新增大会主讲
    第二届大数据与数据挖掘国际会议(BDDM2024)近日有幸邀请到中国人民大学高瓴人工智能学院长聘副教授、博导严睿加入,担任大会主讲嘉宾,欢迎同研究领域的专家学者前来参会交流。严睿,中国人民大学高瓴人工智能学院长聘副教授、博导,获国家优秀青年科学基金资助。博士毕业于北京大学......
  • 02-python 数据类型
    python容器类型数据str序列操作字符串属于序列类型,所谓序列,指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通过每个值所在位置的编号(称为索引、下标)访问它们。s="hellomoluo"Python还支持索引值是负数,此类索引是从右向左计数,换句话说,从最后一个元素开始计......
  • 2024最新4.2版本社交圈子系统小程序上传审核失败处理方法,全开源社交圈子论坛系统源码
    小程序审核被退回问题处理办法一、新版用户提交小程序审核时被退回原因是源码下载地址:https://gitee.com/dkkyrj/dkquanzi处理办法:请下载此文件覆盖重新打包上传即可,这里把用户修改资料改为了小程序平台不显示填写,H5和app保留。下载后解压覆盖到前端文件/minePag......
  • 川崎机器人故障报警代码维修排除方法
    首先,第一时间做好系统数据备份工作。了解故障现象,通过现场一些设备的基本现象和现场技术人员的描述进行判断,机器人维修会比较有效率。例如,根据一位现场工程师的描述“川崎控制器偶发会产生自动重启现象,这个重启过程中会看到快要启动时,又关了机。经过反复重启后,终于有一次成功启动......
  • 20222326 2024-2025-1 《网络与系统攻防技术》实验三实验报告
    1.实验内容实验具体内容正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧正确使用msf编码器,使用msfvenom生成如jar之类的其他文件veil,加壳工具使用C+shellcode编程通过组合应用各种技术实现恶意代码免杀用另一电脑实测,在杀软开启的情况下,可......
  • 2024年运动场划线机市场发展战略研究报告
    运动场划线机是一种专门用于在体育场地划线的专业设备。这些机器可以用于足球场、篮球场、网球场、田径场等多种体育场所,以确保场地线条清晰、准确,符合比赛规则。2024年10月恒州诚思(YHResearch)调研团队最新发布的《2024年全球及中国运动场划线机行业头部企业市场占有率及排名调研报......
  • 1024程序员征文节
    hello,大家好,我是@#陈orange,明天就是征文节了,这个节日非常重要,如今全球信息技术高速发展,截至今年,全世界大约有2780万名程序员;获奖奖品如下:活动奖品奖项类别   评选规则   奖品   获奖人数10·24特别奖   ★10月22/23/24日任一天发文   10·24专属勋章......