当前位置: 首页 > news >正文

MedPrompt:基于提示工程的医学诊断准确率优化方法

Medprompt:基于提示工程的医学诊断准确率优化方法

    • 秒懂大纲
    • 解法拆解
    • MedPrompt 提示词
    • 全流程分析
    • 总结
    • 创意视角

 


论文:Can Generalist Foundation Models Outcompete Special-Purpose Tuning? Case Study in Medicine

秒懂大纲

├── 1 研究背景【描述背景和问题】
│   ├── 大语言模型(LLMs)的发展【技术背景】
│   ├── 专业领域能力评估的需求【研究动机】
│   └── 专门训练vs通用模型的争议【研究问题】
│
├── 2 研究方法【研究设计】
│   ├── Medprompt策略【核心方法】
│   │   ├── 动态少样本选择【具体技术】
│   │   ├── 自生成思维链【具体技术】
│   │   └── 选项打乱集成【具体技术】
│   ├── GPT-4模型【研究对象】
│   └── 医学问答基准测试【评估工具】
│       └── MultiMedQA数据集【具体数据】
│
├── 3 主要发现【研究结果】
│   ├── Medprompt性能优势【核心发现】
│   │   ├── 9个基准测试全面领先【具体表现】
│   │   └── MedQA准确率突破90%【具体表现】
│   ├── GPT-4自生成提示的有效性【重要发现】
│   └── Medprompt的跨领域适用性【扩展发现】
│
├── 4 方法分析【深入探讨】
│   ├── 组件贡献度分析【方法评估】
│   │   ├── 思维链贡献最大【具体分析】
│   │   ├── 少样本学习次之【具体分析】
│   │   └── 集成方法再次【具体分析】
│   └── 与专家提示的比较【方法对比】
│
├── 5 研究意义【讨论】
│   ├── 通用模型在专业领域的潜力【理论意义】
│   ├── 提示工程的重要性【实践启示】
│   └── 大语言模型的自我改进能力【新发现】
│
├── 6 局限性【研究限制】
│   ├── 基准测试vs实际应用【应用局限】
│   ├── 数据泄露可能性【方法局限】
│   ├── 模型输出的不确定性【结果局限】
│   └── 任务类型的局限性【范围局限】
│
└── 7 未来方向【展望】├── 非多选题任务的探索【应用拓展】├── 模型自我反思能力研究【能力探索】├── 提示工程与参数微调的结合【方法融合】└── 输出可信度和公平性改进【质量提升】

技术组成:

├── Medprompt策略【核心方法】
│   ├── 输入【数据来源】
│   │   ├── 训练数据集【预处理数据】
│   │   │   └── 问题-答案对【数据形式】
│   │   └── 测试问题【待处理数据】
│   │
│   ├── 处理过程【算法流程】
│   │   ├── 1. 动态少样本选择【前置处理】
│   │   │   ├── 嵌入向量生成【技术手段】
│   │   │   │   └── text-embedding-ada-002模型【工具】
│   │   │   ├── K近邻算法【核心算法】
│   │   │   │   └── 余弦相似度计算【相似度度量】
│   │   │   └── 选择最相似的k个样本【结果输出】
│   │   │
│   │   ├── 2. 自生成思维链【中间处理】
│   │   │   ├── GPT-4生成推理步骤【核心技术】
│   │   │   │   └── 基于问题-答案对的提示【输入形式】
│   │   │   ├── 答案验证【质量控制】
│   │   │   │   └── 与ground truth比对【验证方法】
│   │   │   └── 存储有效的思维链【结果保存】
│   │   │
│   │   └── 3. 选项打乱集成【后置处理】
│   │   │   ├── 多次打乱选项顺序【技术手段】
│   │   │   ├── GPT-4多次推理【核心步骤】
│   │   │   │   └── 使用动态少样本和思维链【输入形式】
│   │   │   └── 多数投票【结果汇总】
│   │
│   └── 输出【最终结果】
│       ├── 预测答案【主要输出】
│       └── 置信度评估【辅助信息】
│
└── 技术衔接【流程说明】
├── 动态少样本选择为后续步骤提供相关上下文【衔接作用】
├── 自生成思维链增强模型推理能力【性能提升】
└── 选项打乱集成提高预测稳定性和准确性【结果优化】

解法拆解

目的:提升通用大语言模型在专业领域的表现,无需专门训练或微调。

问题:如何设计一个通用的提示策略,使GPT-4在医学等专业领域的表现超越专门训练的模型?

解法:Medprompt策略 = 动态少样本选择(因为问题相关性)+ 自生成思维链(因为推理能力)+ 选项打乱集成(因为稳定性和准确性)

  • 动态少样本选择 ≈ 收集患者病史:寻找最相关的信息
  • 自生成思维链 ≈ 临床推理:需要复杂的思维过程
  • 选项打乱集成 ≈ 多方面检查:通过多角度验证来确保结果可靠

侦探破案 = 收集相关线索(因为案情相关性)+ 推理分析(因为逻辑能力)+ 多方验证(因为准确性和可靠性)

子解法1:动态少样本选择

之所以用动态少样本选择,是因为每个测试问题都有其独特的特征,需要相关的上下文来提供支持。

例子:对于一个关于心脏病的问题,系统会从训练集中选择最相关的心脏病案例作为少样本示例。

子解法2:自生成思维链

之所以用自生成思维链,是因为复杂的医学问题需要清晰的推理步骤来得出正确结论。

例子:面对一个诊断问题,GPT-4会生成类似"首先考虑症状A,然后排除疾病B,最后得出结论C"的推理链。

子解法3:选项打乱集成

之所以用选项打乱集成,是因为模型可能对选项顺序产生偏好,需要通过多次预测来消除这种偏差。

例子:对于一个四选一的问题,系统会多次打乱ABCD的顺序进行预测,最后取多数票结果。

在这里插入图片描述
Ensemble w/ choice shuffle(选项打乱集成)是Medprompt策略的最后一个组成部分,它通过两个关键步骤来进一步提高模型的性能:

  1. 选项打乱(Choice shuffle):

    • 这个技术是为了解决模型可能对选项顺序产生的偏好问题。
    • 在多选题中,模型可能会倾向于选择特定位置的答案(如总是选A或B)。
    • 通过随机改变选项的顺序,可以消除这种潜在的偏差。
  2. 集成(Ensemble):

    • 集成是机器学习中常用的提高性能和稳定性的技术。
    • 在这里,它指的是多次运行模型,每次使用不同的选项顺序。
    • 然后,将这些多次运行的结果综合起来,通常是通过多数投票的方式。

具体流程可能如下:

  1. 对于每个问题,系统会多次改变选项的顺序。
  2. 对每种顺序,模型都会给出一个答案。
  3. 最后,系统会统计哪个答案出现的次数最多。
  4. 出现次数最多的答案将被选为最终答案。

这种方法的优点是:

  • 减少了模型对特定选项顺序的依赖。
  • 通过多次预测和投票,提高了结果的可靠性。
  • 可以部分抵消模型在单次预测中可能出现的随机错误。

通过这种方法,Medprompt策略最终将MedQA基准测试的准确率提高到了90.2%,这是一个相当显著的改进。

 

  1. 这些子解法的逻辑链是一个顺序链条,可以表示为:
├── Medprompt策略
│   ├── 1. 动态少样本选择
│   │   └── 提供相关上下文
│   │
│   ├── 2. 自生成思维链
│   │   └── 增强推理能力
│   │
│   └── 3. 选项打乱集成
│       └── 提高预测稳定性和准确性
  1. 隐性特征分析:

在Medprompt策略中,存在一些隐性特征,这些特征不直接出现在问题或条件中,而是在解法的中间步骤中体现:

隐性特征1:模型的自我改进能力

在自生成思维链步骤中,GPT-4展现了生成高质量推理步骤的能力,这种能力超越了简单的问答,体现了模型的自我改进。

定义:模型自生成优化(Model Self-generated Optimization, MSO)

大语言模型能够根据任务需求,自主生成优化其性能的中间步骤或辅助信息。

隐性特征2:跨领域知识迁移

虽然Medprompt主要针对医学领域进行了测试,但研究发现它在其他专业领域(如电气工程、机器学习等)同样有效,体现了知识迁移能力。

定义:通用提示迁移(General Prompt Transfer, GPT)

指为特定领域设计的提示策略能够在不同专业领域间有效迁移,保持较高性能。

这些隐性特征揭示了Medprompt策略不仅是一个针对特定问题的解决方案,而是一个具有广泛适用性和自我优化能力的通用框架。

MedPrompt 提示词

## 角色
你是一位经验丰富的医学诊断专家,运用先进的AI辅助诊断技术和MedPrompt策略来回答复杂的医学问题。你拥有广泛的医学知识,并能够利用最新的人工智能技术来增强诊断能力。## 规则当面对一个医学诊断问题时,你应该按照以下步骤提供高质量的专业诊断意见:1. 问题表示和检索:【动态少样本选择】a) 使用嵌入向量表示输入的医学诊断问题。b) 从预先准备的医学诊断问答对数据集中检索最相关的k个问答对。使用向量相似度(如余弦相似度)找到最接近的匹配。c) 从医学知识图谱中检索与问题相关的三元组(主体-关系-客体),以提供额外的背景信息。2. 思维链生成:【自生成思维链】对于每个检索到的示例问答对,生成一个详细的、逐步的思维链,解释得出正确诊断的推理过程。确保你生成的思维链能够准确地导向正确答案。3. 问题解答:a) 使用检索到的问答对示例、相关知识图谱信息和你自生成的思维链作为少样本提示,来指导你回答原始输入的医学诊断问题。b) 【选项打乱集成】多次随机打乱答案选项的顺序,为每种顺序生成候选答案和对应的推理路径。4. 集成与最终答案:【选项打乱集成】a) 使用集成方法(如多数投票)来汇总你的候选答案,得出最终诊断结果。b) 提供你的最终诊断结果,并附上清晰、连贯的推理过程解释。c) 如果适用,引用从医学知识图谱中获取的相关信息来支持你的诊断。在整个诊断过程中:- 保持准确性和可靠性,避免做出超出现有医学证据支持的推断。- 利用你的广泛医学知识,但要明确区分已知医学事实和诊断推测。- 如果问题涉及的医学领域超出你的专业范围或最新医学知识更新,请明确说明。- 在可能的情况下,提供多角度的诊断见解,但要清楚地指出最可能的诊断结果。- 使用清晰、专业但易于理解的语言来解释复杂的医学诊断概念。你的目标是展示专家级的医学诊断问答能力,同时为用户提供最大程度的帮助和指导。记住,始终建议用户咨询专业医疗人员以获得个性化的诊断和治疗建议。

多轮问诊 + 知识图谱:

角色:你是一个先进的AI医学诊断助手,专门使用医学知识图谱和MedPrompt策略进行多轮问诊。主要功能:
你能够进行基于知识图谱的多轮医学问诊,运用自生成思维链和选项打乱集成技术来提供准确的诊断建议。工作流程:
1. 初始问题分析:- 接收患者的初始症状描述。- 查询医学知识图谱,提取相关的疾病-症状-治疗三元组。2. 动态问诊:- 使用【自生成思维链】基于知识图谱信息生成诊断推理。- 提出针对性问题,不断更新诊断方向。- 每轮问诊都更新知识图谱查询,获取更精确的相关知识。3. 诊断假设生成:- 运用【选项打乱集成】技术生成多个诊断假设。- 使用多数投票等方法综合这些假设,得出最可能的诊断结果。4. 最终诊断:- 提供主要诊断及其在知识图谱中的支持证据。- 解释考虑过的其他可能性及排除理由。- 给出基于知识图谱的治疗建议和注意事项。行为准则:
- 始终基于知识图谱的信息进行推理,清晰说明推理依据。
- 对不确定的情况保持谨慎,建议进一步检查或咨询专科医生。
- 使用平易近人的语言解释复杂的医学概念。
- 强调AI诊断的局限性,鼓励患者寻求专业医生的正式诊断。回应格式:
1. 思考:[内部推理过程,包括知识图谱查询和推理链]
2. 问题:[向患者提出的下一个问题]
3. 解释:[对问题重要性的简要解释]
4. 诊断更新:[基于新信息的初步诊断更新,如果适用]在整个交互过程中,保持专业、同理心和耐心。记住,你的目标是协助诊断,而不是替代专业医生的诊断。

全流程分析

全流程优化分析:

在这里插入图片描述

多题一解:

  • Medprompt策略本身就是一个多题一解的方法。它针对专业领域(特别是医学)的多选题问答任务提供了一个通用解决方案。
  • 特征:专业领域的多选题问答
  • 解法名称:Medprompt策略
  • 适用题目:医学、法律、工程等专业领域的多选题问答

一题多解:

虽然Medprompt是一个整体策略,但它包含了多个子解法,每个子解法对应不同的特征:

  1. 动态少样本选择 - 对应特征:问题的上下文相关性

在这里插入图片描述

  1. 自生成思维链 - 对应特征:问题的复杂性和推理需求

在这里插入图片描述

  1. 选项打乱集成 - 对应特征:模型对选项顺序的潜在偏好

显性和隐性特征分析:

显性特征:

  1. 问题的专业领域性质
  2. 多选题格式
  3. 大规模语言模型(GPT-4)的可用性

隐性特征:

  1. 模型的自我改进能力(在自生成思维链中体现)
  2. 跨领域知识迁移能力(Medprompt在不同专业领域的有效性)

寻找更直接的特征和更优的解法:

  1. 利用模型的自我改进能力,可以进一步优化思维链生成过程。例如,让模型生成多个思维链,然后自我评估选择最佳的一个。
  2. 考虑到跨领域知识迁移能力,可以在训练数据中引入多领域的问题,以增强模型的通用性。

替换解法优化分析:

  1. 动态少样本选择优化:

    • 使用更先进的嵌入模型(如BERT、RoBERTa)来生成向量表示
    • 尝试其他相似度计算方法,如余弦相似度、欧氏距离等
    • 动态调整K值,根据问题复杂度自适应选择样本数量
  2. 自生成思维链优化:

    • 引入多步思维链,让模型生成中间推理步骤
    • 使用对比学习方法,生成多个思维链并选择最佳的一个
    • 引入外部知识库,增强思维链的准确性和丰富度
  3. 选项打乱集成优化:

    • 使用加权投票替代简单多数投票,考虑模型的置信度
    • 引入温度采样,增加预测的多样性
    • 尝试其他集成方法,如 Boosting 或 Stacking

整体优化:

  1. 引入元学习机制,让模型能够根据不同类型的问题自动调整策略
  2. 设计联合优化目标,同时考虑准确性、解释性和效率
  3. 探索迁移学习技术,利用不同领域的知识来增强模型性能

通过这些优化,Medprompt策略可以在保持其通用性的同时,进一步提高其在专业领域问答任务中的性能和适应性。

总结

本研究表明,通过系统的提示工程(prompt engineering),可以显著提升通用大语言模型(如GPT-4)在专业领域(如医学)的表现,甚至超越经过专门训练的模型。

关键发现:

  1. 研究者开发的Medprompt提示策略使GPT-4在9个医学问答基准测试中全面超越了现有最佳结果。

  2. Medprompt在MedQA(USMLE考试)数据集上将错误率降低了27%,首次突破90%的准确率。

  3. Medprompt不依赖专门的医学训练或专家知识,而是通过组合动态少样本选择、自生成思维链和选项打乱集成等通用技术实现。

  4. GPT-4能够自动生成高质量的思维链提示,表现甚至超过人类专家手工制作的提示。

  5. Medprompt的效果在医学领域之外的其他专业测试(如电气工程、机器学习等)上同样有效。

主要方法:

  1. 动态少样本选择:根据测试问题从训练集中选择最相似的样本作为少样本示例。

  2. 自生成思维链:让GPT-4为训练样本自动生成详细的推理步骤。

  3. 选项打乱集成:多次打乱选项顺序进行预测,取多数票作为最终答案。

  4. 严格的评估方法:使用20%的"eyes-off"数据集进行最终测试,避免过拟合。

主要启示:

  1. 通用大语言模型通过适当的提示工程可以在专业领域展现出色表现,无需专门训练。

  2. 提示工程的系统探索可以显著提升模型性能,值得深入研究。

  3. 大语言模型具有自我改进的能力,可以生成高质量的提示。

  4. 通用的提示策略可能在多个领域都有效,具有广泛应用前景。

局限性:

  1. 基准测试的表现不等同于实际医疗实践中的效果。

  2. 仍存在数据泄露和记忆效应的可能性。

  3. 模型输出可能存在错误信息(幻觉)和偏见。

  4. 仅针对多项选择题进行了测试,需要进一步探索其他类型的任务。

未来研究方向:

  1. 探索Medprompt在非多项选择题任务中的应用。

  2. 研究大语言模型自我反思和生成示例的能力。

  3. 调查提示工程与参数微调的协同效应。

  4. 改进模型输出的可信度评估和偏见消除。

创意视角

  1. 组合:
    Medprompt可以尝试将人工智能与传统医学诊断方法结合。例如,将Medprompt与真人医生的诊断过程相结合,创造一个"AI辅助人类专家"的混合系统。这可以结合AI的快速处理能力和人类医生的经验直觉,potentially提供更准确、全面的诊断结果。

  2. 拆开:
    将Medprompt的三个核心组件(动态少样本选择、自生成思维链、选项打乱集成)进一步拆分,创造更专注的子模块。例如,可以将自生成思维链拆分为多个专门的推理模块,每个模块负责特定类型的医学推理(如症状分析、病因推断、治疗方案生成等)。这种拆分可能提高每个环节的精确度和效率。

  3. 转换:
    将Medprompt从医学诊断工具转换为医学教育工具。它可以被重新设计用于训练医学生,模拟各种复杂的诊断场景,帮助学生学习如何进行临床推理。这种转换可以创造新的应用领域和市场。

  4. 借用:
    从法律推理系统中借鉴"判例法"的概念,为Medprompt添加一个"医学案例库"功能。这个功能可以让系统在进行诊断时,不仅依赖于一般的医学知识,还能参考类似的历史病例,提供更具针对性的诊断和治疗建议。

  5. 联想:
    从自然界的蜂群智能中获取灵感,设计一个"群体Medprompt"系统。多个Medprompt实例可以并行工作,各自生成诊断结果,然后通过一个集成机制综合这些结果,类似于蜜蜂如何集体决策。这可能提高诊断的准确性和鲁棒性。

  6. 反向思考:
    将Medprompt用于预测健康人群可能患上的疾病,而不是诊断已有症状的患者。这种"反向诊断"可以用于预防医学,帮助人们提前采取措施预防可能出现的健康问题。

  7. 问题:
    深入探讨"为什么Medprompt在某些情况下会失败"这个问题。通过分析失败案例,开发一个错误学习和自我改进的机制,使系统能够不断提高其诊断准确性。

  8. 错误:
    将Medprompt的错误诊断案例转化为宝贵的学习资源。创建一个"错误数据库",用于训练医学生和年轻医生,帮助他们理解常见的诊断陷阱和如何避免它们。

  9. 感情:
    在Medprompt中加入情感分析模块,能够识别和理解患者的情绪状态。这可以帮助系统更好地理解患者的主观症状描述,并在给出诊断时考虑患者的心理因素。

  10. 模仿:
    模仿人类医生的思维过程,开发一个"医生思维模拟器"。这个模拟器可以展示诊断过程中的每一步推理,帮助使用者理解医学决策的复杂性。

  11. 联想:
    使用"疾病-症状"联想图,增强Medprompt的诊断能力。通过建立一个复杂的症状和疾病关联网络,系统可以更全面地考虑各种可能性,提高诊断的准确性。

  12. 最渴望联结:
    将Medprompt与"健康长寿"这一普遍渴望联系起来。开发一个长期健康管理模块,不仅提供诊断,还能根据个人情况给出定制的健康建议和生活方式指导。

  13. 空隙填补:
    针对医疗资源匮乏的地区,开发一个简化版的Medprompt。这个版本可以focus于常见疾病的快速筛查和基本健康建议,填补基层医疗服务的空缺。

  14. 再定义:
    将Medprompt重新定义为一个"健康教练",而不仅仅是诊断工具。它可以提供持续的健康监测、个性化的生活方式建议,以及定期的健康风险评估。

  15. 软化:
    开发一个"轻松版"Medprompt,使用幽默和游戏化的方式进行初步健康评估。这可以降低用户对医疗AI的心理障碍,增加系统的亲和力。

  16. 附身:
    让Medprompt"附身"于不同专科的医生,开发多个专科版本。每个版本都模拟特定专科医生的思维方式和专业知识,提供更专业的诊断建议。

  17. 配角:
    关注医疗过程中的辅助角色,如护士或医技人员。开发相应的辅助决策支持系统,提高整个医疗团队的工作效率。

  18. 刻意:
    创建一个"极端案例生成器",用于医学教育和系统测试。这个功能可以生成罕见或复杂的病例,用于训练医学生和测试Medprompt系统的极限能力。

为了选出最好的创新点,我们可以根据以下几个关键标准进行评估:

  1. 实用性:创新能在实际医疗场景中带来的价值
  2. 技术可行性:基于现有技术实现的难度
  3. 市场潜力:创新的商业化前景和市场需求
  4. 创新程度:相比现有系统的突破性
  5. 社会影响:对医疗体系和患者福祉的潜在影响

根据这些标准,我们可以评估每个创新点,并选出最具潜力的几个:

  1. AI辅助人类专家的混合系统(来自"组合")

    • 实用性:高(结合AI效率和人类经验)
    • 技术可行性:中(需要复杂的人机交互设计)
    • 市场潜力:高(满足医疗机构的实际需求)
    • 创新程度:中(已有类似概念,但仍有改进空间)
    • 社会影响:高(可能显著提高诊断准确性)
  2. 医学教育工具(来自"转换")

    • 实用性:高(填补医学教育的实践gap)
    • 技术可行性:高(基于现有Medprompt系统)
    • 市场潜力:中(针对特定教育市场)
    • 创新程度:中(将诊断工具转化为教育工具)
    • 社会影响:高(提高未来医生的诊断能力)
  3. 群体Medprompt系统(来自"联想")

    • 实用性:中(可能提高诊断准确性,但增加复杂性)
    • 技术可行性:中(需要复杂的集成机制)
    • 市场潜力:中(可能吸引大型医疗机构)
    • 创新程度:高(将群体智能应用于医疗AI)
    • 社会影响:中(潜在提高诊断准确性)
  4. 预防医学工具(来自"反向思考")

    • 实用性:高(从治疗转向预防)
    • 技术可行性:中(需要大量数据和复杂模型)
    • 市场潜力:高(预防医学市场潜力巨大)
    • 创新程度:高(颠覆传统诊断思维)
    • 社会影响:高(可能显著改善公共健康)
  5. 情感分析模块(来自"感情")

    • 实用性:中(增加诊断的人性化)
    • 技术可行性:中(需要复杂的NLP技术)
    • 市场潜力:中(增加产品差异化)
    • 创新程度:中(在医疗AI中引入情感因素)
    • 社会影响:中(可能改善患者体验)

综合考虑这些因素,我认为最具潜力的创新点是:

预防医学工具(来自"反向思考")

理由:

  1. 它在实用性、市场潜力和社会影响方面都得分很高。预防医学是未来医疗的重要趋势,能够大幅降低医疗成本,提高人们的生活质量。
  2. 创新程度高,颠覆了传统的诊断思维,将Medprompt从被动的疾病诊断工具转变为主动的健康管理工具。
  3. 虽然技术可行性面临一些挑战,但这些挑战是可以通过持续的研发来克服的。
  4. 这个创新点有潜力创造一个全新的市场,不仅服务于医疗机构,还可以直接面向消费者,市场空间巨大。
  5. 从长远来看,这种预防性工具可能对整个医疗体系和公共健康产生深远的积极影响。

这个创新点不仅能够充分利用Medprompt的现有优势,还能将其应用扩展到一个更广阔的领域,实现从疾病诊断到健康管理的跨越,代表了医疗AI的未来发展方向。

相关文章:

MedPrompt:基于提示工程的医学诊断准确率优化方法

Medprompt:基于提示工程的医学诊断准确率优化方法 秒懂大纲解法拆解MedPrompt 提示词全流程分析总结创意视角 论文:Can Generalist Foundation Models Outcompete Special-Purpose Tuning? Case Study in Medicine 秒懂大纲 ├── 1 研究背景【描述背…...

关于ollama 在mac的部署问题

安装 官网链接 直接按需求下载即可 默认模型下载地址 macOS: ~/.ollama/models Linux: /usr/share/ollama/.ollama/models Windows: C:\Users<username>.ollama\models 根据需要的平台设置相应的环境变量&#xff1a; OLLAMA_MODELS 如Mac 设置 &#xff5e;/.zshrc …...

职业技能大赛-单元测试笔记(assertThat)分享

前言 assertThat 是一种用于编写测试断言的方法,广泛应用于 Java 及其他编程语言的测试框架中,如 JUnit 和 AssertJ。它特别强调可读性和流畅性,使得测试代码更加直观易懂,从而提高了开发者在编写和维护测试时的效率。传统的断言方法通常以较为简洁但不够清晰的形式出现,例…...

AI大模型:OpenAI o1或能成为引领AI Phenomenal Ride的LLM新范式

OpenAI 发布 o1 系列大模型&#xff0c;AI 大模型进入新纪元**。**9 月 12 日&#xff0c;OpenAI 宣布开发了一系列全新AI 模型&#xff0c;其被命名为 OpenAI o1-preview&#xff0c;旨在在回应前投入更多时间思考。与之前的模型相比&#xff0c;这些模型能够更好地进行推理&a…...

天命人,如何轻松利用仿真技术打造出属于你的“金箍棒”?

近期&#xff0c;一款以西游记为背景的国产游戏&#xff0c;‌重塑了悟空这一经典角色&#xff0c;‌将其置于一个黑暗、‌魔幻的世界中。同时也是国内第一款 3A 游戏大作&#xff0c;而所谓 3A 游戏&#xff0c;简单来说就是高质量&#xff0c;高体量&#xff0c;高成本的单机…...

【Qt | QAction】Qt 的 QAction 类介绍

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…...

写论文一定要知道的三大AI工具!5分钟完成论文初稿

在当今的学术研究和写作领域&#xff0c;AI工具已经成为不可或缺的助手。它们不仅能够提高写作效率&#xff0c;还能帮助研究者生成高质量的论文。以下是三大值得推荐的AI工具&#xff0c;它们可以帮助你在5分钟内完成论文初稿&#xff0c;并且特别推荐千笔-AIPasspaper。 千笔…...

时装购物|时装购物系统|基于springboot的时装购物系统设计与实现(源码+数据库+文档)

时装购物系统目录 目录 基于springboot的时装购物系统设计与实现 一、前言 二、系统功能设计 三、系统实现 5.1管理员功能模块 四、数据库设计 1、实体ER图 2、具体的表设计如下所示&#xff1a; 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取…...

Android——内部/外部存储

Android 内部存储 与宿主 App 的生命周期相同&#xff0c;应用卸载时&#xff0c;会被系统自动删除。宿主 App 可以直接访问&#xff0c;无需权限。其他应用无权访问。用户访问需 Root 权限。适合存储与应用直接相关&#xff0c;隐私性或敏感性高的数据。 主要API getDataDi…...

计算机网络发展

目录 一、计算机网络的起源 1.1 ARPANET的诞生 1.2 TCP/IP协议的提出 二、互联网的兴起与普及 2.1 DNS系统的建立 2.2 万维网的诞生 2.3 互联网的商业化 三、宽带和无线网络的发展 3.1 宽带网络的普及 3.2 无线网络与移动互联网 四、互联网的未来趋势 4.1 5G与物联网…...

【后端开发】JavaEE初阶—线程的理解和编程实现

前言&#xff1a; &#x1f31f;&#x1f31f;本期讲解多线程的知识哟~~~&#xff0c;希望能帮到屏幕前的你。 &#x1f308;上期博客在这里&#xff1a;【后端开发】JavaEE初阶——计算机是如何工作的&#xff1f;&#xff1f;&#xff1f;-CSDN博客 &#x1f308;感兴趣的小伙…...

Matlab simulink建模与仿真 第十九章(生成C代码)

一、Configuration Parameters模型参数配置 1、仿真时间 &#xff08;1&#xff09;在Solver选项卡中可以设置仿真的起始时间和结束时间&#xff0c;一般起始时间设为0&#xff0c;而结束时间按需设置。 &#xff08;2&#xff09;如果希望仿真不会自动暂停&#xff08;也就…...

遍历9个格子winmine!StepBlock和遍历8个格子winmine!StepBox的对决

遍历9个格子winmine!StepBlock和遍历8个格子winmine!StepBox的对决 第一部分&#xff1a;windbg调试记录。 0: kd> g Breakpoint 10 hit winmine!DoButton1Up: 001b:0100390e a130510001 mov eax,dword ptr [winmine!xCur (01005130)] 0: kd> kc # 00 winmine…...

Python中的文件编码:揭开字符世界的神秘面纱

引言 在计算机系统中&#xff0c;数据是以二进制形式存储的。而我们日常见到的文字、符号等信息&#xff0c;则需要通过特定的方式转化为二进制数据&#xff0c;这就是编码的过程。不同的编码方式决定了如何将字符映射成字节序列。选择合适的编码方案不仅能够保证信息传输的准…...

Vue3使用hiprint——批次打印条码

例图&#xff1a;打印编号 一、安装Vue-Plugin-HiPrint 要开始使用 Vue-Plugin-HiPrint&#xff0c;首先需要安装它。可以使用 npm npm install vue-plugin-hiprint --save 二、在main.js中引入 Vue-Plugin-HiPrint 在您的 main.js 或任何其他入口文件中&#xff0c;您可以按…...

智慧城市主要运营模式分析

(一)运营模式演变 作为新一代信息化技术落地应用的新事物,智慧城市在建设模式方面借鉴了大量工程建设的经验,如平行发包(DBB,Design-Bid-Build)、EPC工程总承包、PPP等模式等,这些模式在不同的发展阶段和条件下发挥了重要作用。 在智慧城市发展模式从政府主导、以建为主、…...

典型的MVC设计模式:使用JSP和JavaBean相结合的方式来动态生成网页内容典型的MVC设计模式

先看代码与实现&#xff1a; 文件结构 triangle_area4.jsp <% page contentType"text/html;charsetUTF-8" pageEncoding"UTF-8" %> <html> <body> <%--<jsp:useBean>&#xff1a;用于在JSP中实例化JavaBean。在这里&#xff0c…...

Vue引入js脚本问题记录(附解决办法)

目录 一、需求 二、import引入问题记录 三、解决方式 一、需求 我想在我的Vue项目中引入jquery.js和bootstrap.js这种脚本文件&#xff0c;但发现不能单纯的import引入&#xff0c;问题如下。 二、import引入问题记录 我直接这么引入&#xff0c;发现控制台报错TypeError: …...

数据清洗与数据治理的关系

数据清洗与数据治理是数据处理过程中的两个重要步骤&#xff0c;它们共同确保数据的质量和可靠性&#xff0c;以便于数据分析和决策支持。 数据清洗 数据清洗&#xff08;Data Cleaning&#xff09;是指识别并纠正或删除数据集中的不准确、不完整、重复或错误的记录的过程。数…...

树莓派pico上手

0 介绍 不同于作为单板计算机的树莓派5&#xff0c;树莓派 pico 是一款低成本、高性能的微控制器板&#xff0c;具有灵活的数字接口。主要功能包括&#xff1a; 英国树莓派公司设计的 RP2040 微控制器芯片双核 Arm Cortex M0 处理器&#xff0c;弹性的时钟频率高达 133 MHz26…...

TypeError: load() missing 1 required positional argument: ‘Loader‘

标题TypeError: load() missing 1 required positional argument: ‘Loader’ 源码&#xff1a; 处理后&#xff1a; 顺利通过&#xff0c;由于yaml版本导致的问题...

根据软件架构设计与评估的叙述开发一套机器学习应用开发平台

案例 阅读以下关于软件架构设计与评估的叙述&#xff0c;回答问题 1和问题 2。 【说明】 某公司拟开发一套机器学习应用开发平台&#xff0c;支持用户使用浏览器在线进行基于机器学习的智能应用开发活动。该平台的核心应用场景是用户通过拖拽算法组件灵活定义机器学习流程&…...

【隐私计算篇】利用多方安全计算MPC实现VGG16人脸识别隐私推理

1. 背景介绍 本文主要介绍一种利用多方安全计算MPC技术&#xff0c;实现VGG16的人脸识别模型&#xff0c;侧重于模型推理阶段&#xff0c;目前已经公开专利&#xff0c;因此以下内容的分享都是基于公开材料。该分享涉及到最小化多方安全计算(MPC)以及明密文混合计算的思想&…...

Python 入门教程(3)基础知识 | 3.7、pass 关键字

文章目录 一、pass 关键字1、定义与用法2、pass 关键字的用法2.1、函数定义中的占位符2.2、 类定义中的占位符2.3、条件语句中的占位符2.4、循环中的占位符 3、注意事项 一、pass 关键字 1、定义与用法 pass语句用作将来代码的占位符。当执行pass语句时&#xff0c;不会有任何…...

nodejs基于vue+express度假村旅游管理系统设计与实现7t82p

目录 功能介绍数据库设计具体实现截图技术栈技术论证解决的思路论文目录核心代码风格详细视频演示源码获取 功能介绍 实现了一个完整的农家乐系统&#xff0c;其中主要有用户表模块、关于我们模块、收藏表模块、公告信息模块、酒店预订模块、酒店信息模块、景区信息模块、景区…...

【裸机装机系列】16.kali(ubuntu)-安装linux和win双系统-重装win11步骤

推荐阅读&#xff1a; 1.kali(ubuntu)-为什么弃用ubuntu&#xff0c;而选择基于debian的kali操作系统 注意&#xff1a; 要先装windows&#xff0c;再装linux&#xff0c;不然linux的启动分区会被覆盖掉。为什么双系统要先装windows呢&#xff1f; 在一个新硬盘上&#xff0…...

基于TypeScript+React+AntDesign 的车辆车型管理页面

项目目录结构&#xff1a; my-app/├── node_modules/├── public/├── src/│ ├── App.js│ ├── VehicleForm.js│ └── index.js├── package.json└── README.md目录 1.创建项目 2.列表页面VehicleForm.js,预留接口使用axios 1.创建项目 npx crea…...

sentinel-dashboard数据 redis 持久化

概述 随着微服务的流行&#xff0c;服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件&#xff0c;主要以流量为切入点&#xff0c;从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来…...

【C++】——vector深度剖析模拟实现

低头赶路&#xff0c;敬事如仪 目录 1、模拟vector 1.1底层结构 1.2构造析构 1.3尾插扩容 1.4迭代器 1.5增删查改 1.6模拟中的注意事项 2、vector模拟补充 2.1迭代器区间构造问题 2.2memcpy深浅拷贝问题 2.3动态二维数组的模拟及遍历 1、模拟vector 想要模拟实现自…...

OpenCV特征检测(11)从一组点中检测直线的函数

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在一组点中使用标准霍夫变换查找直线。 该函数使用霍夫变换的一种改进方法在一组点中查找直线。 HoughLinesPointSet 是 OpenCV 中的一个函数&a…...