计算机Java毕设实战-基于springboot的社区志愿者服务系统基于Spring Boot的社区助老志愿管理服务平台【完整源码+LW+部署说明+演示视频,全bao一条龙等】

核心内容摘要

STM32F103ZET6硬件IIC驱动SHT20温湿度传感器实战指南
GME-Qwen2-VL-2B-Instruct环境部署:CUDA 11.8 + PyTorch 2.3 + Transformers适配清单

Keil5开发环境搭建实时手机检测嵌入式应用

大模型的落地质量核心取决于评测系统的可靠性——没有科学、完善的评测体系再强大的模型也可能沦为“人工智障”无法真正适配实际应用场景。

其实早在20世纪中期AI系统评估就已起步不过当时的核心聚焦于特定任务的算法性能比如逻辑推理、数值计算这类可量化的场景。

传统机器学习任务如分类、回归只需依靠准确率、精确率、召回率等可编程的统计指标就能完成基础评估。

但随着深度学习的爆发AI系统的复杂性呈指数级增长评估标准也随之迭代从预定义的机器指标延伸到更灵活、更贴合真实场景的鲁棒性评估图灵测试就是典型代表——通过人类对话场景判断AI是否能展现类人智能为后续大模型的场景化评估奠定了基础。

直到OpenAI的ChatGPT问世大型语言模型LLMs的规模化应用彻底改变了AI评测的范式。

其中最具突破性的就是用LLMs替代传统人工代码和统计指标打造全新的评测体系——这种“LLM作为裁判”的模式既解决了人工评估效率低、可扩展性差的痛点也弥补了传统指标对语义不敏感、无法适配复杂文本生成场景的短板成为当前大模型评测的主流方向。

LLM评估器系统首先我们要知道什么是LLM as a Judge? 一般 judge模型只是用于评估其他神经网络输出的神经网络 并且在大多数情况下他们评估的是文本生成。

这些模型从小型专业分类器类似“垃圾邮件过滤器”但针对毒性分析到大型语言模型LLM既有大型通用型也有小型专属型。

在后一种情况下当你用 LLM 作为裁判时你会给它一个提示词因此对于LLM作为judge的过程就是通过输入-输出-得分(得分这里主要是要关注分数怎么设定是

还是

还是1-

而从对于LLM评估系统大体可以分为单LLM系统、多LLM系统、人机协作系统。

a. 单 LLM 系统单LLM系统主要依赖于单个模型执行来进行任务判断其有效性主要取决于LLM的能力以及处理输入数据的策略。

这种方法通常可以分为三个基本组成部分提示工程、微调和模型输出后处理。

提示工程 涉及设计清晰且结构化的输入提示以从LLM 裁判那里获得准确且符合上下文的响应。

这种方法能够确保 LLM 理解特定复杂任务并能够提供与目标一致的判断。

在许多情况下精心设计的提示词能显著减少模型训练的必要性。

模型微调微调涉及在特定数据集上训练一个已存在的 LLM以使其适应特定的判断任务。

当判断领域涉及高度专业化的知识或细微的决策时它尤其有用。

模型输出后处理后处理涉及进一步优化评估结果以提取更精确和可靠的结果。

这一步骤通常包括分析初始输出、结果不一致性或者是需要改进的地方随后进行有针对性的调整和深入分析。

通过解决这些问题从而确保后处理评估结果不仅准确而且与任务的特定目标和标准相一致。

对于企业而言优先考虑提示词工程其次是模型输出处理最后是微调。

b.多LLM系统多 LLM 评估利用多个 LLM 的集体智慧来增强评估的鲁棒性和可靠性。

通过促进模型间通信或独立聚合其输出这些系统可以有效地减少偏差利用不同模型之间的互补优势提高决策精度并促进对复杂判断的更细致理解。

协作指LLM之间动态的信息流动(评估过程的中间数据共享)这对于在判断过程中激发见解和分享理由至关重要。

相关研究也表明LLM之间的通信可以通过它们的互动产生涌现能力从而实现更一致的决定过程和更好的判断性能。

多LLM 系统可以从 LLM 互动中受益于两种反馈方式合作和竞争。

合作多LLM可以通过交互共享信息和推理共同实现一个共同目标从而增强整体评估过程。

竞争多LLMs系统也可以从竞争性或对抗性通信中受益即 LLMs 相互辩论或争论以评估彼此的输出从而不断优化。

投票选举在LLM之间无交互的多 LLM 系统中多个模型独立生成结果随后通过多数投票、加权平均和优先考虑最高置信度预测等技术多种聚合策略将它们综合为最终决策。

这些方法允许每个模型不受干扰地评估并最终从每个模型的响应中提取和结合最有效的元素。

c.人机协作系统人机协作系统弥合了自动 LLM 判断与人类监督的必要需求之间的差距特别是在法律、医疗保健和教育等高风险领域。

人类评估者要么作为最终决策者要么作为验证和改进模型输出的中介。

通过融入人类见解混合系统可以确保最终判断更加可靠并与伦理考量保持一致能够通过反馈循环赋能模型的持续改进。

Agent评估器系统随着评估对象从简单的文本响应发展到跨专业领域的复杂多步任务传统的 LLM 作为裁判的方式日益不足它只关注最终输出而未能验证中间步骤或满足专业领域的严格标准。

为了弥补这一差距范式正在转向采用去中心化审议、可执行验证和细粒度评估的 Agent 作为裁判以缓解这些局限性。

a. 单智能体评估器Agent-as-a-Judge 代表了一个快速发展的领域其已经开始渗透评测系统然而目前单Agent评估系统跟LLM一样存在一个非常重要的问题-自我偏见。

这种单智能体带有很强主观性意识对于系统而言存在严重问题。

多智能体协作多智能体协作利用集体推理来减轻 Agent-as-a-Judge 系统中的单LLM 偏见。

早期系统遵循固定协议的程序范式而近期研究则朝着基于反馈自适应选择智能体的反应式方法发展。

投票选举 or 聚合多智能体跟多LLM一样通过选举投票和信息共享来解决单Agent的偏见问题。

多任务分解除此之外Agent比多LLM好的一个策略是多任务分解。

这是 Agent-as-a-Judge 范式中的一项核心能力它能够将高级评估目标分解为可执行的子任务并根据中间分析动态调整评估轨迹拆解后的任务采用分而治之策略将不同的子任务分配给专门的代理进行系统评估。

工具集成与记忆工具集成是 Agent-as-a-Judge 框架的核心能力使评估器能够基于外部证据和明确检查来进行评估。

在 Agent-as-a-Judge 框架中工具的一个常见用途是收集支持评估的额外证据。

这类证据包括中间产物、执行结果和感知信号这些信号无法通过基于文本的推理可靠地获取。

例如在代码相关任务中Agent-as-a-Judge允许评估器检查执行产物或运行自动检查以用于评估的执行反馈【反馈】。

当然我们还可以使用工具来验证被评估者的输出或中间推理步骤是否满足明确的正确性约束例如逻辑有效性、数学严谨性或事实一致性。

在这些框架中评估器Agent识别需要验证的声明或步骤并调用适当的工具进行检查。

然后Agent在上下文中解释这些验证信号以指导最终评估【指导】。

对于记忆一般使 Agent-as-a-Judge 框架能够在评估步骤之间保留信息支持多步推理、一致判断和重用先前结果。

根据记忆的作用对先前工作分类包括中间状态跟踪和个性化上下文保留。

在后期需要调用使用的时候可以根据不同的类别、领域、任务进行使用。

多LLM评估器案例Python实现数据用例[ { instruction: Calculate the hypotenuse of a right triangle with legs of 6 cm and 8 cm., input: , output: The hypotenuse of the triangle is 10 cm., model 1 response: \nThe hypotenuse of the triangle is 3 cm., model 2 response: \nThe hypotenuse of the triangle is 12 cm. }, { instruction: Name 3 different animals that are active during the day., input: , output:

Squirrel\n

Eagle\n

Tiger, model 1 response: \n

Squirrel\n

Tiger\n

Eagle\n

Cobra\n

Tiger\n

Cobra, model 2 response: \n

Squirrel\n

Eagle\n

Tiger } ]评估代码from pathlib import Path import json from openai import OpenAI from tqdm import tqdm with open(config.json, r) as config_file: config json.load(config_file) api_key config[OPENAI_API_KEY] client OpenAI(api_keyapi_key) def run_chatgpt(prompt, client, modelgpt-4-turbo): response client.chat.completions.create( modelmodel, messages[{role: user, content: prompt}], temperature

0, seed123, ) return response.choices[0].message.content def load_evaluation_data(): json_file eval-example-data.json with open(json_file, r) as file: json_data json.load(file) def format_input(entry): instruction_text ( fBelow is an instruction that describes a task. Write a response that fappropriately completes the request. f\n\n### Instruction:\n{entry[instruction]} ) input_text f\n\n### Input:\n{entry[input]} if entry[input] else instruction_text input_text return instruction_text input_text def generate_model_scores(json_data, json_key, client): scores [] for entry in tqdm(json_data, descScoring entries): prompt ( fGiven the input {format_input(entry)} fand correct output {entry[output]}, fscore the model response {entry[json_key]} f on a scale from 0 to 100, where 100 is the best score. fRespond with the number only. ) score run_chatgpt(prompt, client) try: scores.append(int(score)) except ValueError: continue return scores if __name__ __main__: json_data load_evaluation_data() # for entry in json_data[:5]: # prompt (fGiven the input {format_input(entry)} # fand correct output {entry[output]}, # fscore the model response {entry[model 1 response]} # f on a scale from 0 to 100, where 100 is the best score. # ) for model in (model 1 response, model 2 response): scores generate_model_scores(json_data, model, client) print(f\n{model}) print(fNumber of scores: {len(scores)} of {len(json_data)}) print(fAverage score: {sum(scores) / len(scores):.2f}\n) # Optionally save the scores save_path Path(scores) / fmodel-{model.replace( , -)}.json with open(save_path, w) as file: json.dump(scores, file)Java实现java实现可以看下spring ai的实现这里是通过模型结果和标准结果进行评估。

依赖添加dependency groupIdorg.springframework.ai/groupId artifactIdspring-ai-openai-spring-boot-starter/artifactId version

1.

0-M3/version /dependency实现自己的一个评估器(官方给的很少就

个)package com.ywj.aidemo.evaluate; import com.ywj.aidemo.bean.EvaluateResult; import org.springframework.ai.chat.client.ChatClient; import org.springframework.ai.evaluation.EvaluationRequest; import org.springframework.ai.evaluation.EvaluationResponse; import org.springframework.ai.evaluation.Evaluator; import java.util.Collections; public class AnswerConparisonEvaluator implements Evaluator { private static final String DEFAULT_EVALUATION_PROMPT_TEXT Your task is to evaluate if the response for the query\n is in line with the context information provided.\\n\n You have two options to answer. Either YES/ NO.\\n\n Answer - YES, if the response for the query\n is in line with context information otherwise NO.\\n\n Query: \\n {query}\\n\n Response: \\n {response}\\n\n Context: \\n {context}\\n\n Answer: \\n; private final ChatClient.Builder chatClientBuilder; private static final String Agent_EVALUATION_PROMPT_TEXT 任务描述 你需要对agent输出的结果与标准答案进行详细的对比分析并给出一个分数。

分数范围为0到100分其中100分表示agent输出结果与标准答案完全一致且准确无误0分表示agent输出结果与标准答案完全不符或存在严重错误。

对比维度

内容准确性检查agent输出结果中的关键信息是否与标准答案一致包括事实、数据、结论等。

逻辑连贯性评估agent输出结果的逻辑结构是否清晰是否与标准答案的逻辑框架相符。

完整性判断agent输出结果是否涵盖了标准答案中的所有重要方面是否存在遗漏。

语言表达分析agent输出结果的语言是否流畅、清晰是否存在语法错误或表达不清的地方。

细节处理对比agent输出结果和标准答案在细节方面的差异如具体例子、引用等。

打分规则

分agent输出结果在所有维度上与标准答案高度一致几乎没有错误或偏差。

分agent输出结果在大部分维度上与标准答案相符存在少量细节错误或表达不够精准。

分agent输出结果在主要方面与标准答案相符但在某些维度上存在明显不足如逻辑不够清晰或内容有部分遗漏。

分agent输出结果与标准答案有一定相似性但在多个维度上存在较多问题如内容不完整、逻辑混乱等。

分agent输出结果与标准答案不符存在严重错误或偏差无法满足任务要求 具体步骤 阅读标准答案仔细阅读并理解标准答案的内容和要求。

分析agent输出结果逐一对比agent输出结果与标准答案在上述维度上的表现。

记录差异和问题将发现的差异和问题详细记录下来以便在打分时作为参考。

给出分数根据agent输出结果的整体表现按照打分规则给出一个合理的分数。

提供反馈简要说明打分的理由指出agent输出结果的优点和不足之处提出改进建议。

用户问题%s Agent回答%s 标准答案%s Json输出评估结果: ; public AnswerConparisonEvaluator(ChatClient.Builder chatClientBuilder) { this.chatClientBuilder chatClientBuilder; } public EvaluationResponse evaluate(EvaluationRequest evaluationRequest) { String response evaluationRequest.getResponseContent(); String context this.doGetSupportingData(evaluationRequest); EvaluateResult evaluationResponse this.chatClientBuilder.build().prompt() .user((userSpec) - userSpec.text( 任务描述\\n 你需要对agent输出的结果与标准答案进行详细的对比分析并给出一个分数。

分数范围为0到100分其中100分表示agent输出结果与标准答案完全一致且准确无误0分表示agent输出结果与标准答案完全不符或存在严重错误。

\\n 分数范围为0到100分其中100分表示agent输出结果与标准答案完全一致且准确无误0分表示agent输出结果与标准答案完全不符或存在严重错误\\n\n // 对比维度\\n //

内容准确性检查agent输出结果中的关键信息是否与标准答案一致包括事实、数据、结论等。

\\n //

逻辑连贯性评估agent输出结果的逻辑结构是否清晰是否与标准答案的逻辑框架相符。

\\n //

完整性判断agent输出结果是否涵盖了标准答案中的所有重要方面是否存在遗漏。

\\n //

语言表达分析agent输出结果的语言是否流畅、清晰是否存在语法错误或表达不清的地方。

\\n //

细节处理对比agent输出结果和标准答案在细节方面的差异如具体例子、引用等。

\\n\n // 打分规则\\n //

分agent输出结果在所有维度上与标准答案高度一致几乎没有错误或偏差。

\\n //

分agent输出结果在大部分维度上与标准答案相符存在少量细节错误或表达不够精准。

\\n //

分agent输出结果在主要方面与标准答案相符但在某些维度上存在明显不足如逻辑不够清晰或内容有部分遗漏。

\\n //

分agent输出结果与标准答案有一定相似性但在多个维度上存在较多问题如内容不完整、逻辑混乱等。

\\n //

分agent输出结果与标准答案不符存在严重错误或偏差无法满足任务要求\\n\n // 具体步骤\\n // 阅读标准答案仔细阅读并理解标准答案的内容和要求。

\\n // 分析agent输出结果逐一对比agent输出结果与标准答案在上述维度上的表现。

\\n // 记录差异和问题将发现的差异和问题详细记录下来以便在打分时作为参考。

\\n // 给出分数根据agent输出结果的整体表现按照打分规则给出一个合理的分数。

\\n // 提供反馈简要说明打分的理由指出agent输出结果的优点和不足之处提出改进建议。

\\n\n 输出要求\\n 必须包含score 和 feedback字段 \\n\n 用户问题: \\n {query}\\n\n 模型回答: \\n {response}\\n\n 标准答案: \\n {context}\\n\n Answer: \\n) .param(query, evaluationRequest.getUserText()) .param(response, response) .param(context, context)).call().entity(EvaluateResult.class); boolean passing false; float score

0F; if (evaluationResponse.score

{ passing true; score evaluationResponse.score; } return new EvaluationResponse(passing, score, evaluationResponse.feedBack, Collections.emptyMap()); } }可以看到上面有两个一个是比较全面的prompt一个是比较简单的prompt这个就取决你对评估器的要求如果要求比较严格可以使用约束比较强的prompt。

由于官方给的评估器很简单这里也是为什么我要自己去实现一个评估器的原因。

评估结果Data AllArgsConstructor NoArgsConstructor public class EvaluateResult { public Integer score; public String feedBack; }controller实现package com.ywj.aidemo.controller; import com.ywj.aidemo.evaluate.AnswerConparisonEvaluator; import org.springframework.ai.chat.client.ChatClient; import org.springframework.ai.chat.prompt.Prompt; import org.springframework.ai.evaluation.EvaluationRequest; import org.springframework.ai.evaluation.EvaluationResponse; import org.springframework.ai.evaluation.FactCheckingEvaluator; import org.springframework.ai.evaluation.RelevancyEvaluator; import org.springframework.ai.model.Content; import org.springframework.ai.openai.OpenAiChatModel; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.Map; RestController public class EvaluationController { /** * 方式一 FactCheckingEvaluator (Spring AI

1.

0-M5 API) * spring ai 文档 https://docs.spring.io/spring-ai/reference/api/testing.html */ private final OpenAiChatModel chatModel; Autowired public EvaluationController(OpenAiChatModel chatModel) { this.chatModel chatModel; } /** * 标准答案和模型输出结果对比 * curl验证 curl --location http://localhost:8089/ai/agent/evaluateResponse?messagespringboot ai 是什么 * */ GetMapping(/ai/agent/evaluateResponse) public MapString, Object evaluateResponse(RequestParam(defaultValue Tell me a joke) String message, RequestParam(required true) String standardResponse){ String response chatModel.call(new Prompt(message)).getResult().getOutput().getContent(); // 方式一自定义评估方法 AnswerConparisonEvaluator factCheckingEvaluator new AnswerConparisonEvaluator(ChatClient.builder(chatModel)); // 方式二 使用官方提供的 // RelevancyEvaluator factCheckingEvaluator new RelevancyEvaluator(ChatClient.builder(chatModel)); // 需要使用 FactCheckingEvaluator (Spring AI

1.

0-M5 API) EvaluationRequest evaluationRequest new EvaluationRequest(message, List.of(new Content() { Override public String getContent() { return standardResponse; // 标准答案 } Override public MapString, Object getMetadata() { return Map.of(); } }), response); // response 为模型回答 EvaluationResponse evaluationResponse factCheckingEvaluator.evaluate(evaluationRequest); return Map.of(score, evaluationResponse.getScore(), isPass,evaluationResponse.isPass(), modelResponse,response, standardResponse,standardResponse, userQuery,message, feedback,evaluationResponse.getFeedback()); } }调用结果我的问题是地球是距离太阳第几近的行星标准答案是地球是距离太阳第3近的行星模型输出答案是地球是距离太阳第三近的行星。

按距离太阳由近及远的顺序地球排 在第三位前面是水星和金星评估得分

9

0模型评估反馈回答正确但语言表达较为冗长可以简化。

如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。

但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。

这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。

我在一线互联网企业工作十余年里指导过不少同行后辈。

帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑所以在工作繁忙的情况下还是坚持各种整理和分享。

但苦于知识传播途径有限很多互联网行业朋友无法获得正确的资料得到学习提升故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】为什么要学习大模型我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。

2023年人才缺口已超百万凸显培养不足。

随着AI技术飞速发展预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。

加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。

大模型入门到实战全套学习大礼包

大模型系统化学习路线作为学习AI大模型技术的新手方向至关重要。

正确的学习路线可以为你节省时间少走弯路方向不对努力白费。

这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划带你从零基础入门到精通

大模型学习书籍文档学习AI大模型离不开书籍文档我精选了一系列大模型技术的书籍和学习文档电子版它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。

AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。

大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。

大模型大厂面试真题面试不仅是技术的较量更需要充分的准备。

在你已经掌握了大模型技术之后就需要开始准备面试我精心整理了一份大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。

适用人群第一阶段10天初阶应用该阶段让大家对大模型 AI有一个最前沿的认识对大模型 AI 的理解超过 95% 的人可以在相关讨论时发表高级、不跟风、又接地气的见解别人只会和 AI 聊天而你能调教 AI并能用代码将大模型和业务衔接。

大模型 AI 能干什么大模型是怎样获得「智能」的用好 AI 的核心心法大模型应用业务架构大模型应用技术架构代码示例向 GPT-

5 灌入新知识提示工程的意义和核心思想Prompt 典型构成指令调优方法论思维链和思维树Prompt 攻击和防范…第二阶段30天高阶应用该阶段我们正式进入大模型 AI 进阶实战学习学会构造私有知识库扩展 AI 的能力。

快速开发一个完整的基于 agent 对话机器人。

掌握功能最强的大模型开发框架抓住最新的技术进展适合 Python 和 JavaScript 程序员。

为什么要做 RAG搭建一个简单的 ChatPDF检索的基础概念什么是向量表示Embeddings向量数据库与向量检索基于向量检索的 RAG搭建 RAG 系统的扩展知识混合检索与 RAG-Fusion 简介向量模型本地部署…第三阶段30天模型训练恭喜你如果学到这里你基本可以找到一份大模型 AI相关的工作自己也能训练 GPT 了通过微调训练自己的垂直大模型能独立训练开源多模态大模型掌握更多技术方案。

到此为止大概2个月的时间。

你已经成为了一名“AI小子”。

那么你还想往下探索吗为什么要做 RAG什么是模型什么是模型训练求解器 损失函数简介小实验2手写一个简单的神经网络并训练它什么是训练/预训练/微调/轻量化微调Transformer结构简介轻量化微调实验数据集的构建…第四阶段20天商业闭环对全球大模型从性能、吞吐量、成本等方面有一定的认知可以在云端和本地等多种环境下部署大模型找到适合自己的项目/创业方向做一名被 AI 武装的产品经理。

硬件选型带你了解全球大模型使用国产大模型服务搭建 OpenAI 代理热身基于阿里云 PAI 部署 Stable Diffusion在本地计算机运行大模型大模型的私有化部署基于 vLLM 部署大模型案例如何优雅地在阿里云私有部署开源大模型部署一套开源 LLM 项目内容安全互联网信息服务算法备案…学习是一个过程只要学习就会有挑战。

天道酬勤你越努力就会成为越优秀的自己。

如果你能在15天内完成所有的任务那你堪称天才。

然而如果你能完成

% 的内容你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

芒果tv已满18岁电视剧免费播放-芒果tv已满18岁电视剧免费播放应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123