教你用一部电影的时间训练个人专属Agent

【实战】基于强化学习的 Agent 训练框架全流程拆解 本文详细拆解了基于强化学习的 Agent 训练框架全流程,从核心概念、架构设计到关键技术和实战案例进行了全面介绍。强化学习在 Agent 训练中展现出了强大的潜力,但也面临着许多挑战,如样本效率低、训练稳定性差、复杂环境下的泛化能力等。未来,随着技术的不断发展,强化学习与深度学习、迁移学习、多智能体系统等技术的结合将更加紧密,有望在更多领域取得突破性应用。 阅读详情

本期摘要

Agent是一个超越简单文本生成的人工智能系统。它使用大型语言模型(LLM)作为其中央计算引擎,使其能够进行对话、执行任务、推理并显示一定程度的自主权。

本文带你手把手尝试如何训练一个属于自己的私人订制Agent。

01

Agent如何工作?

1、当用户给出一个任务task之后可以从memory中查询记录(可选),查询出的结果(如果有)给AgentLLM进行判断是否可复用,这里指的复用是针对时效性没那么高的任务,例如对过去时的数据“中国19-22年的出生及死亡人口数据”,但如果查询股票数据,天气这种对时效性有很高要求的任务则不适合复用。

2、Agent对任务实现的方式有很多,可以拆解任务、使用lCOT或REACT框架、SOP(Standard Operating Procedure)标准作业规程等等。其目的都是将一个复杂的任务分成n个可在one step内即可完成的子任务。

3、对于子任务,是否需要调用工具,如果无需调用工具则只需要进行一次推理即可;对于需要调用工具的子任务AgentLLM会根据任务描述调用一个或多个工具,根据工具返回结果判断是否可以更改任务状态。待所有的子任务都完成状态变更之后AgentLLM会对结果进行评估反思,判断当前任务是否已经完成。如果某些子任务因为种种原因无法完成,AgentLLM会采取别的方法完成此任务,重复以上步骤直到可以给出结果为止,当然这里的Loop需要设置最大重试次数避免死循环。

4、当AgentLLM判断可以完成任务后可以进行历史任务存储(可选)。长期记忆是将数据存储在数据库中,以便下次查询,短期记忆则保存在内存或缓存中,程序结束时释放。

02

Function Call 原理

在一些任务中我们希望LLM返回我们格式化的数据如json、xml等,function call则需要LLM返回特定的json格式,以OpenAI为例,需要提供工具的描述信息。

from openai import OpenAI  
import json  
  
client = OpenAI()  
  
  
  
def get_current_weather(location, unit="fahrenheit"):  
    """Get the current weather in a given location"""  
    if "tokyo" in location.lower():  
        return json.dumps({"location": "Tokyo", "temperature": "10", "unit": unit})  
    elif "san francisco" in location.lower():  
        return json.dumps({"location": "San Francisco", "temperature": "72", "unit": unit})  
    elif "paris" in location.lower():  
        return json.dumps({"location": "Paris", "temperature": "22", "unit": unit})  
    else:  
        return json.dumps({"location": location, "temperature": "unknown"})  
  
def run_conversation():  
      
    messages = [{"role": "user", "content": "What's the weather like in San Francisco, Tokyo, and Paris?"}]  
    tools = [  
        {  
            "type": "function",  
            "function": {  
                "name": "get_current_weather",  
                "description": "Get the current weather in a given location",  
                "parameters": {  
                    "type": "object",  
                    "properties": {  
                        "location": {  
                            "type": "string",  
                            "description": "The city and state, e.g. San Francisco, CA",  
                        },  
                        "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]},  
                    },  
                    "required": ["location"],  
                },  
            },  
        }  
    ]  
    response = client.chat.completions.create(  
        model="gpt-3.5-turbo-1106",  
        messages=messages,  
        tools=tools,  
        tool_choice="auto",   
    )  
    response_message = response.choices[0].message  
    tool_calls = response_message.tool_calls  
      
    if tool_calls:  
          
          
        available_functions = {  
            "get_current_weather": get_current_weather,  
        }   
        messages.append(response_message)   
          
        for tool_call in tool_calls:  
            function_name = tool_call.function.name  
            function_to_call = available_functions[function_name]  
            function_args = json.loads(tool_call.function.arguments)  
            function_response = function_to_call(  
                location=function_args.get("location"),  
                unit=function_args.get("unit"),  
            )  
            messages.append(  
                {  
                    "tool_call_id": tool_call.id,  
                    "role": "tool",  
                    "name": function_name,  
                    "content": function_response,  
                }  
            )   
        second_response = client.chat.completions.create(  
            model="gpt-3.5-turbo-1106",  
            messages=messages,  
        )   
        return second_response  
print(run_conversation())

在推理结果中可以拿到类似{“name”: “get_current_weather”, “params”: {“location”: “北京”, “unit”: “celsius”}}这样的json数据,这里有需要调用的工具名称以及参数信息,接下来只需要编写代码实现工具调用,将工具返回的结果构造成message加入到与LLM对话的上下文中即可实现工具调用。这里的难点在于对一个开源模型来说,如何根据任务以及提供的工具描述给出正确的工具名称以及正确的参数。

03

开源模型工具调用微调

  • 开源项目地址:LLaMA-Factory(https://github.com/hiyouga/LLaMA-Factory);

  • 作者知乎最佳实践地址:单卡 3 小时训练专属大模型 Agent:基于 LLaMA Factory 实战(https://zhuanlan.zhihu.com/p/678989191#ref_10)。

以下为复现实验数据过程记录

Chat模型微调

模型 Yi-6B-Chat 硬件信息 NVIDIA A100-SXM4-80GB
sft超参

CUDA_VISIBLE_DEVICES=0 python src/train_bash.py \   
    --stage sft \   
    --do_train \   
    --model_name_or_path /mnt/models/Yi-6B-Chat \   
    --dataset glaive_toolcall \   
    --template yi \   
    --finetuning_type lora \   
    --lora_target q_proj,v_proj \   
    --output_dir yi_agent_checkopint \   
    --lora_target all \   
    --overwrite_cache \   
    --per_device_train_batch_size 4 \   
    --gradient_accumulation_steps 4 \   
    --lr_scheduler_type cosine \   
    --logging_steps 10 \   
    --save_steps 1000 \   
    --learning_rate 5e-4 \   
    --num_train_epochs 3 \   
    --plot_loss \   
    --fp16

export model

python src/export_model.py \   
    --model_name_or_path /mnt/models/Yi-6B-Chat \   
    --adapter_name_or_path yi_agent_checkopint \   
    --template yi \   
    --finetuning_type lora \   
    --export_dir Yi-Agent-6b-Chat \   
    --export_size 2 \   
    --export_legacy_format False

web demo

python src/web_demo.py --model_name_or_path Yi-Agent-6b-Chat --template yi

训练过程日志

{'train_runtime': 7735.6787, 'train_samples_per_second': 3.878, 'train_steps_per_second': 0.242, 'train_loss': 0.3381453339894613, 'epoch': 3.0}  
100%|████████████████████████████████████████████████████████████████████████████████████| 1875/1875 [2:08:55<00:00, 4.13s/it]  
[INFO|trainer.py:2889] 2024-01-25 13:39:49,599 >> Saving model checkpoint to yi_agent_checkopint  
[INFO|tokenization_utils_base.py:2432] 2024-01-25 13:39:49,709 >> tokenizer config file saved in yi_agent_checkopint/tokenizer_config.json  
[INFO|tokenization_utils_base.py:2441] 2024-01-25 13:39:49,709 >> Special tokens file saved in yi_agent_checkopint/special_tokens_map.json  
***** train metrics *****  
  epoch = 3.0  
  train_loss = 0.3381  
  train_runtime = 2:08:55.67  
  train_samples_per_second = 3.878  
  train_steps_per_second = 0.242  
Figure saved: yi_agent_checkopint/training_loss.png  
01/25/2024 13:39:49 - WARNING - llmtuner.extras.ploting - No metric eval_loss to plot.  
[INFO|modelcard.py:452] 2024-01-25 13:39:49,848 >> Dropping the following result as it does not have all the necessary fields:  
{'task': {'name': 'Causal Language Modeling', 'type': 'text-generation'}}

测试结果

测试Tools

[  
    {  
        "name": "get_province_list",  
        "description": "获取省份ID",  
        "parameters": {  
            "type": "object",  
            "properties": {}  
        }  
    },  
    {  
        "name": "get_cities_list",  
        "description": "根据省份ID查询城市地区ID",  
        "parameters": {  
            "type": "object",  
            "properties": {  
                "province_id": {  
                    "type": "string",  
                    "description": "省份ID,可以通过调用get_province_list获取省份ID"  
                }  
            },  
            "required": [  
                "province_id"  
            ]  
        }  
    },  
    {  
        "name": "get_history_weather",  
        "description": "根据城市ID和日期查询历史天气信息,日期支持从2011-01-01开始。注:个别地区个别日期数据记录可能会不存在",  
        "parameters": {  
            "type": "object",  
            "properties": {  
                "city_id": {  
                    "type": "string",  
                    "description": "城市地区ID,可以通过调用get_cities_list获取城市地区ID"  
                },  
                "weather_date": {  
                    "type": "string",  
                    "description": "日期,格式:2017-07-15,日期不能大于等于今日日期"  
                }  
            },  
            "required": [  
                "city_id",  
                "weather_date"  
            ]  
        }  
    },  
    {  
        "name": "get_river_environment",  
        "description": "查询地表水水质",  
        "parameters": {  
            "type": "object",  
            "properties": {  
                "page": {  
                    "type": "integer",  
                    "description": "第几页(默认1)"  
                },  
                "province": {  
                    "type": "string",  
                    "description": "省份,例:江苏省"  
                },  
                "river": {  
                    "type": "string",  
                    "description": "流域,例:海河流域"  
                },  
                "section": {  
                    "type": "string",  
                    "description": "断面名称,例:鼓楼外大街"  
                }  
            },  
            "required": []  
        }  
    },  
    {  
        "name": "get_environment_air_pm",  
        "description": "查询的城市PM2.5数据",  
        "parameters": {  
            "type": "object",  
            "properties": {  
                "city": {  
                    "type": "string",  
                    "description": "城市名称的中文名称或拼音,如:上海 或 shanghai"  
                }  
            },  
            "required": [  
                "city"  
            ]  
        }  
    },  
    {  
        "name": "get_toutiao_news",  
        "description": "新闻列表查询",  
        "parameters": {  
            "type": "object",  
            "properties": {  
                "type": {  
                    "type": "string",  
                    "description": "支持类型 top(推荐,默认) guonei(国内) guoji(国际) yule(娱乐) tiyu(体育) junshi(军事) keji(科技) caijing(财经) youxi(游戏) qiche(汽车) jiankang(健康)"  
                },  
                "page": {  
                    "type": "string",  
                    "description": "当前页数, 默认1, 最大50"  
                },  
                "page_size": {  
                    "type": "string",  
                    "description": "每页返回条数, 默认30 , 最大30"  
                },  
                "is_filter": {  
                    "type": "string",  
                    "description": "是否只返回有内容详情的新闻, 1:是, 默认0"  
                }  
            },  
            "required": []  
        }  
    },  
    {  
        "name": "chejian_query",  
        "description": "根据车辆注册日期及类型,计算车辆的下次上线检验时间。本计算结果仅供参考。",  
        "parameters": {  
            "type": "object",  
            "properties": {  
                "type": {  
                    "type": "string",  
                    "description": "车辆类型, 3:9座(含)以下非营运小微型载客汽车(面包车除外) 4:摩托车 7:非营运大型轿车 1:营运车辆 2:货车、大中型客车 6:面包车 5:其他机动车"  
                },  
                "reg_date": {  
                    "type": "string",  
                    "description": "注册登记日期,格式:2022-11-02"  
                },  
                "iis_sg": {  
                    "type": "integer",  
                    "description": "事故情况(是否发生过致人伤亡事故或存在非法改装被依法处罚的交通违法),如是传1"  
                }  
            },  
            "required": [  
                "type",  
                "reg_date"  
            ]  
        }  
    },  
    {  
        "name": "loan_calc_query",  
        "description": "公积金贷款计算器用于计算用户在申请公积金贷款时,选择等额本金和等额本息两种不同的还款方式后,每一期需偿还公积金贷款的月供,以及利息总额和还款总额。",  
        "parameters": {  
            "type": "object",  
            "properties": {  
                "money": {  
                    "type": "integer",  
                    "description": "贷款金额(0 < money <= 500),单位(万),如70表示70万;"  
                },  
                "year": {  
                    "type": "integer",  
                    "description": "贷款年限,单位(年),仅限输入 5、10、15、20、25、30"  
                },  
                "active": {  
                    "type": "string",  
                    "description": "贷款利率,默认3.25"  
                }  
            },  
            "required": [  
                "money",  
                "year"  
            ]  
        }  
    },  
    {  
        "name": "icp_query",  
        "description": "网站icp备案查询",  
        "parameters": {  
            "type": "object",  
            "properties": {  
                "domainName": {  
                    "type": "string",  
                    "description": "获取的域名,如:juhe.cn"  
                }  
            },  
            "required": [  
                "domainName"  
            ]  
        }  
    },  
    {  
        "name": "airport_query",  
        "description": "获取全球机场三字码",  
        "parameters": {  
            "type": "object",  
            "properties": {  
                "airport": {  
                    "type": "string",  
                    "description": "关键词(可匹配城市机场的中英文名称、机场三字码)"  
                },  
                "page": {  
                    "type": "integer",  
                    "description": "页码(默认为1)"  
                },  
                "per_page": {  
                    "type": "integer",  
                    "description": "每页显示数量(默认为20,最大为100)"  
                }  
            },  
            "required": [  
                "airport"  
            ]  
        }  
    },  
    {  
        "name": "aptabnormal_query",  
        "description": "根据机场三字码查询国内机场不正常航班列表",  
        "parameters": {  
            "type": "object",  
            "properties": {  
                "airport": {  
                    "type": "string",  
                    "description": "机场三字码,字母大写(如:PEK),可通过airport_query获取三字码"  
                }  
            },  
            "required": [  
                "airport"  
            ]  
        }  
    }  
]

测试问题

请参考工具调用能力测试中的场景列(https://www.yuque.com/mrbun/sgr5h5/hsnz17g1a1wr6k2t#KmgD)

04

预训练模型微调

硬件信息 NVIDIA-4090 24G 单卡
sft超参

CUDA_VISIBLE_DEVICES=0 python src/train_bash.py \   
    --stage sft \   
    --do_train \   
    --model_name_or_path /data/models/Yi-6B \   
    --dataset glaive_toolcall,alpaca_gpt4_en,alpaca_gpt4_zh,oaast_sft_zh \   
    --max_samples 8000 \   
    --template default \   
    --finetuning_type lora \   
    --lora_target q_proj,v_proj \   
    --output_dir yi_agent_checkopint \   
    --lora_target all \   
    --overwrite_cache \   
    --per_device_train_batch_size 1 \   
    --gradient_accumulation_steps 4 \   
    --lr_scheduler_type cosine \   
    --logging_steps 10 \   
    --save_steps 1000 \   
    --learning_rate 5e-5 \   
    --num_train_epochs 2 \   
    --plot_loss \   
    --fp16 \   
    --flash_attn

export model

python src/export_model.py \   
    --model_name_or_path /data/models/Yi-6B \   
    --adapter_name_or_path /data/projects/LLaMA-Factory/yi_agent_checkopint \   
    --template default \   
    --finetuning_type lora \   
    --export_dir Yi-Agent-6B-Chat \   
    --export_size 2 \   
    --export_legacy_format False

web demo

python src/web_demo.py \   
    --model_name_or_path Yi-Agent-6B-Chat \   
    --template default

测试结果不再赘述。

05

总结

通过SFT微调后可以让原本不具备工具调用能力的模型实现工具调用。通过测试结果可以看出对于复杂场景的效果不是很好,单工具的场景正确率很高,测试的场景是中文场景,训练集中是英文,泛化效果也很不错,我正在准备以下类型数据集,如果有类似的数据集可以在下面贴出连接。

  • API参数描述中需要调用另外一个接口拿到的场景,例如天气查询中的城市id需要调用获取城市idAPI拿到。

  • 对于问题中参数信息不完整,主动抛出问题获取更详细参数信息的场景。

  • 多工具场景。

模型已发布到modelscope Yi-Agent-6B-Chat

(https://modelscope.cn/models/mrsteamedbun/Yi-Agent-6B-Chat/summary)

​

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

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

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

大模型学习笔记十四:Agent模型微调 1、Agent Tuning 的主要动机是训练大模型的 Agent 能力,尤其是希望通过训练让小参数量模型也能具备特定业务场景的 Agent 能力;2、Agent Prompt 可以有不同的描述方式,通常包括等部分;3、可以采用自动评估和人工评估相结合的方法来评估 Agent 能力;4、采用 Meta-Agent 方法可以构建多样性的 Agent Prompt 模板,再结合Query、Tools的多样化,可以训练出能力更加泛化的模型。 阅读详情

相关推荐

私有化部署 Llama3 大模型, 支持 API 访问

原文 https://ducafecat.com/blog/llama3-model-api-local通过 ollama 本地运行 Llama3 大模型其实对我们开发来说很有意义,你可以私有化放服务上了。然后通过 api 访问,来处理我们的业务,比如翻译多语言、总结文章、提取关键字等等。你也可以安装 enchanted 客户端去直接访问这个服务 api 使用。

chenxyuan1tuo的博客 2047

AGI|教你用一部电影的时间训练个人专属Agent

Agent是一个超越简单文本生成的人工智能系统。它使用大型语言模型(LLM)作为其中央计算引擎,使其能够进行对话、执行任务、推理并显示一定程度的自主权。

在数字化道路无限探索 1618

152张电影感镜头配方:AI Agent如何重塑产品视频创作

在AI视频生成技术快速迭代的今天,创作者面临的核心挑战不再是设备参数,而是如何将抽象的“电影感”转化为机器可理解的指令。从光学层、运动层到语法层,电影感实为可结构化、可参数化的知识体系。开源社区将152张镜头配方封装为Skill供AI Agent调用,本质上是建立了一套从产品特性到分镜脚本的映射逻辑,让AI能够基于标签检索、情绪编排与运镜约束,生成具有导演思维的产品视频。这一模式适用于短视频营销、电商详情页、品牌广告等场景,能够显著降低专业视频制作的门槛。当提示词工程遇上结构化镜头知识,AI视频生成将从随机

weixin_33946605的博客 327

大模型技术知识点:Agent

大模型Agent指的是基于大规模语言模型(Large Language Model, LLM)的自主智能体。这种智能体能够通过理解和生成自然语言来进行复杂的决策和任务执行,具备一定的自主性和交互能力。大模型Agent能够处理和理解大量的文本信息,通过预训练和任务适应,实现对特定领域问题的解答和操作。基于大模型训练Agent主要涉及到模型微调(Fine-tuning)、指令微调(Instruction Tuning)、工具调用以及多智能体协作等技术。

chengxuyuanyy的博客 1413

IMSDb电影剧本数据库:AI对话与文本生成的优质语料库实战指南

在自然语言处理(NLP)和人工智能领域,高质量、结构化的对话数据是训练模型理解人类语言复杂性的关键。其核心原理在于,模型通过学习大规模、多样化的语言序列,能够捕捉语法、语义和语用模式,从而生成更自然、连贯的文本。这种技术对于提升聊天机器人、内容创作助手等应用的智能水平具有重要价值。在众多应用场景中,**剧本创作**和**角色对话生成**尤为需要富含情感、冲突和叙事结构的数据。IMSDb(互联网电影脚本数据库)作为一个公开的电影剧本集合,恰好提供了这样的资源。它包含了丰富的**结构化对话**、场景描述和角色信

virusswb的专栏 455

AI电影运镜提示词技能包:从学习笔记到可复用Skill的完整实践

在AI视频创作领域,运镜提示词的生成质量直接影响成片表现力。如何让模型稳定输出电影级镜头语言?关键在于将专业知识结构化。通过构建Skill技能包,把推镜、拉镜、摇移等运镜规律拆解为细颗粒规则,并配合景别、焦距、情绪映射等参数,让Claude Code、Cursor等Agent工具能够按统一格式产出分镜提示词。它不依赖GPU,纯文本即可运行,本质是将人类摄影经验转化为AI可调用的标准化工作流。适用于短视频制作、分镜预演、批量脚本生成等场景。本文从核心能力、目录设计、功能测试到API批量调用,完整拆解一个AI电

weixin_34354945的博客 491

一部电影时间跑通个人专属Agent:RAG与检索实战

个人专属Agent通常指围绕特定知识与流程构建的可执行助手,其核心并非参数训练,而是RAG、提示词工程与工具编排的组合。原理上,先把文档清洗切块并写入知识库,再通过向量检索或混合检索召回相关片段,配合分层提示词约束输出,必要时接入少量工具完成确定性操作。相比微调,这套方案反馈周期短、维护成本低,更适合快速验证与持续迭代。在个人知识问答、小团队文档整合、内部流程查询等场景中,它能在不折腾训练环境的前提下显著提升信息获取与重复劳动处理效率。把语料、切块、检索与测试压缩进约两小时,正是跑通第一版专属Agent的务

weixin_29051811的博客 108

LobeHub开源AI应用平台:从部署到定制的全栈实践指南

在现代AI应用开发领域,大语言模型(LLM)的集成与部署是核心技术挑战之一。其原理在于通过API或本地化部署,将预训练模型的强大能力封装为可调用的服务。这项技术的核心价值在于极大地降低了AI应用的开发门槛,使开发者能够快速构建智能对话、内容生成等场景的应用。随着模型即服务(MaaS)模式的普及,一个关键痛点是如何高效地管理多模型、设计友好的用户界面并实现功能扩展。这正是开源项目LobeHub所聚焦的领域,它通过提供可插拔的架构和配置驱动的低代码理念,解决了AI能力落地的“最后一公里”问题。本文将结合Dock

weixin_27210125的博客 758

120分钟时间盒:外挂式定制个人专属Agent的工程实践

AI Agent 应用开发并不必然依赖模型微调,围绕通用大模型做检索增强生成(RAG)、系统指令、工具调用与记忆分层,是更轻量的外挂式定制路径。其原理是把私有资料切片入库,经向量召回与重排注入上下文,再用提示词约束工作流、输出格式和拒答边界,让模型按个人语气与流程完成任务。技术价值在于低门槛、快迭代、知识更新成本低,应用场景覆盖个人知识问答、文案风格模仿、会议纪要整理和数据分析助手。将需求收敛、语料清洗、检索验证、指令编写、工具编排与回归评测压缩进120分钟时间盒,可形成可执行、可复用的个人专属 Agent

weixin_29061531的博客 276

门控时钟(clock gating)的DFT设计

在数字IC芯片中,时钟树的功耗占比可能高达30%,因此一般会采取门控时钟的方式来降低该部分的功耗。所谓门控时钟,就是在芯片实际工作过程中,有些信号或者功能并不需要一直开启,那么就可以在它们不用的时候将其时钟信号关闭。这样一来信号不再翻转,从而能够有效减少动态功耗。 目前门控时钟都采用集成门控时钟单元(ICG,integrated clock gating cell),其结构如下。由一个latch和一个与门(也有的是或门)组成,可以过滤掉EN信号中的毛刺。一般的工艺库中都会有专门的ICG以供调用。 插入IC

weixin_44746697的博客 3878

MemSeg:一种差异和共性来检测图像表面缺陷的半监督方法

本文认为人为创建类内差异和保持类内共性可以帮助模型实现更好的缺陷检测能力,从而更好地区分非正常图像。如图一所示。差异(differences):MemSeg引入人工模拟的异常图像在训练阶段使模型能够区分正常和异常的图像,减轻了半监督学习只能用正常样本进行训练的不足,然后在推理阶段可以直接输入图像无需做任何后处理。共性(commonalities):MemSeg引入了一个记忆池来记录正常样本的通用模式,在训练和推理阶段,比较输入图像和记忆池中的样本之间的差异,为异常区域的定位提供有用的信息。

斯人若彩虹,遇上方知有! 4842

两小时搭建个人专属Agent:检索增强、工具编排与记忆管理实战

AI Agent 的核心并非重训练模型,而是围绕知识注入、工具调用与记忆管理构建可执行闭环。其原理是把大模型作为推理与执行引擎,通过检索增强生成(RAG)在需要时注入私有知识,借助工具编排把业务流程转成可调用动作,再用分层记忆沉淀用户偏好与上下文约束。相比 LoRA 微调,这种解耦方案成本低、更新快、维护轻,能显著提升专业问答准确性与任务执行可靠性。它适用于个人知识助手、工作文档问答、日程与数据查询、内容生成等场景。把目标压缩到一部电影约110分钟,按环境骨架、语料切片入库、主循环与工具、记忆分层、测试修补

weixin_29039773的博客 173

【SpringBoot 3.x 第92节】Spring Modulith:构建模块化单体架构(基于 Spring Boot 3),一文带你搞透(超详细)!

🏆本文收录于《滚雪球学SpringBoot 3.x》,专门攻坚指数提升,本年度国内最系统+最专业+最详细(永久更新)。    该专栏致力打造最硬核 SpringBoot3 从零基础到进阶系列学习内容,🚀均为全网独家首发,打造精品专栏,专栏持续更新中…欢迎大家订阅持续学习。 如果想快速定位学习,可以看这篇【SpringBoot3教程导航帖】,你想学习的都被收集在内,快速投入学习!!两不误。

**My Coding Family** 1002

指令驱动电影感视频编译:多智能体系统架构与CineBench基准解析

在人工智能与多媒体技术交叉领域,视频生成正从简单的像素合成迈向具备叙事与艺术表达的复杂任务。其核心原理在于通过深度学习模型理解多模态指令,并生成时序连贯、内容可控的动态视觉序列。这一技术的核心价值在于大幅降低高质量视频内容的制作门槛与成本,为短视频创作、广告营销、影视预演等场景提供自动化解决方案。当前,实现高质量、高一致性的视频生成面临指令理解、时序连贯性等多重挑战,这催生了以CineBench为代表的专业评测基准和以多智能体系统为核心的技术架构。CineBench通过构建结构化指令数据集与多维评价指标,为

weixin_30252709的博客 459

RK3568 上C图像camera图像采集应用实例(二)

本文探索rk3568上实现C语言的 通过C v4l2 接口 采集图像 ,刷屏控制 drm的显示camera图像中 实现camera preview 预览 的实践和探索。

luoshanxuli2010的专栏 763

【MATLAB代码】基于水声通信(ACOMMS)下的到达时间差(TDOA)定位的AUV自主导航例程,附完整代码

水下AUV导航系统仿真研究 本研究基于到达时间差(TDOA)技术实现了水下自主航行器(AUV)的三维导航仿真系统。系统采用四个声学信标作为定位基准,通过TDOA测量数据迭代求解AUV位置。仿真结果表明: 导航性能:系统能够有效跟踪AUV从起点(30,30,-20)到目标点(70,70,-20)的航行轨迹,定位误差保持在合理范围内。 误差分析:定位误差变化曲线显示系统具有稳定的定位精度,平均误差为0.5米左右。 技术特点:采用两步最小二乘迭代算法求解非线性TDOA方程,提高了定位精度和计算效率。 该仿真系统为

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 322

数字永生:基于Agent的个人数字分身

上个月,我刷到了一条让整个办公室红了眼眶的短视频:一位28岁的程序员小李,用自己攒了半年工资买的算力、收集了爸爸生前30年的照片、微信聊天记录、抖音视频、朋友圈动态、甚至小时候爸爸教他骑自行车时录的录音笔内容,训练出了一个能和他对话、会陪他下象棋、能听他吐槽工作烦恼、还会模仿爸爸的语气说“臭小子,骑车慢点开”的“数字爸爸”。视频最后,小李对着屏幕喊了一声“爸”,屏幕里的数字分身拿起茶杯抿了一口——那个茶杯的款式、抿茶的速度、甚至杯子倾斜的角度,都和他爸爸生前一模一样,小李瞬间泪流满面。

架构师的AI之路,分享AI应用开发架构的学习与实践。 222

AI Agent在智能广告投放中的应用

随着互联网的快速发展,广告投放市场变得越来越复杂和竞争激烈。传统的广告投放方式往往难以精准地触达目标受众,导致广告资源的浪费。AI Agent作为一种智能的自动化程序,能够在复杂的环境中自主学习、决策和执行任务。本文章的目的在于深入探讨AI Agent在智能广告投放中的应用,研究如何利用AI Agent提高广告投放的精准度、效率和效果,降低成本。范围涵盖了AI Agent的基本原理、相关算法、在广告投放中的具体应用场景以及实际案例分析等方面。

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 620

KernelSU 终极解析:一次 root 请求在内核里闯过的 5 道关卡

KernelSU 是一种把 root 直接放进 Android 内核的权限管理方案:它以内核模块的形式接管 su 请求、白名单策略与 SELinux 规则,配合用户空间的 ksud 守护进程和管理器 App,构成一套完整的内核级 root 权限管理体系。 ## KernelSU 三层架构:它到底把 root 放进了哪里 传统 root 方案(如 Magisk)把能力放在引导阶段打补丁的用户空间

gitblog_00601的博客 230

【GameFramework框架内置模块】10、本地化(Localization)

本地化(Localization),也就是我们所说的不同地区的语言适配,比如说中文版“你好”,英文版是“Hello”。GameFramework在本地化方面,不仅支持文本的本地化,还支持任意资源的本地化,比如说游戏中释放烟花的特效也可以做出不同地区的版本,使得中文版烟花里面的“新年好”字样的特效,在英文版里面是“Happy New Year”字样的特效。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 2305

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

无限画布 + 专属 Agent 助手 功能解析

"无限画布 + Agent 助手"不是两个功能的简单叠加。画布提供了一个结构化的创作空间,Agent 提供了在这个空间里自动操作的能力。画布是舞台,Agent 是在舞台上帮你搬道具的副导演。Vera1.1 现在的状态是:舞台已经搭好了——分镜节点、特征池、坐标体系、并行调度都是现成的。副导演还在招聘启事上,但招聘要求已经写清楚了:能拆剧本、能挂角色、能调参数、能查漂移、能排任务。这个时间点评估 Vera1.1,看的不只是它现在能做什么,是它的架构是不是已经朝 Agent 化方向留好了接口。

xingyuzhisuan的博客 195

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

用Agent打造个人推荐系统:从零部署AI信息流管家

在算法推荐主导信息分发的时代,平台根据历史点击推送内容,却难以理解用户的即时兴趣与阶段目标。Agent推荐系统应运而生,它利用LLM作为决策引擎,将B站、小红书、YouTube等平台的内容源统一接入,通过配置兴趣关键词和排除规则,让用户自行掌控推荐标准。这种模式打破了传统推荐算法的黑盒局限,从“平台猜你喜欢”转向“你告诉Agent要什么”,实现了跨平台聚合、可解释性强、个性化粒度精确的信息筛选。技术原理上,Agent推荐由内容源适配器、调度器、LLM排序引擎等模块构成,可基于RSS或API拉取内容,并用Pr

weixin_33796177的博客 355

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

零代码打造个人AI助理:实在Agent数字员工保姆级使用指南

本文为零代码用户提供实在Agent数字员工的保姆级使用指南。该智能体基于大模型驱动,具备意图理解与自主执行能力,能通过自然语言指令实现办公、手机操控及智能家居联动等场景的自动化。文章结合信通院相关标准,解析了其核心能力,并详细演示了从创建配置到实战应用的全过程,帮助用户打造专属AI助理,提升效率。

cake8的博客 1029

【GitHub开源AI精选】哈工大(深圳)& 清华力作 FilmAgent:剧本自动生成 + 镜头智能规划,开启 AI 电影制作新时代

在当今时代,人工智能技术正以惊人的速度蓬勃发展,AI大模型的应用领域也在持续拓展,电影制作领域便是其中之一。回顾传统电影制作流程,其复杂程度极高,从前期的剧本创作、筹备,到中期的拍摄,再到后期的剪辑、特效制作等环节,每一步都需要耗费大量的时间和精力,同时成本也极为高昂。而AI技术的强势介入,无疑为电影制作这一传统领域带来了前所未有的革命性变化。

寻道AI,探索AI无限可能! 3509

Python+AI构建智能豆瓣电影数据采集与分析系统

网络爬虫是数据采集的基础技术,通过模拟浏览器行为获取网页数据。结合AI技术后,传统爬虫进化为智能数据采集系统,能实现文本情感分析、内容摘要生成等高级功能。在Python技术栈中,Scrapy框架提供稳定高效的爬取能力,而NLP模型如ChatGLM2-6B、ERNIE 3.0则赋予系统语义理解能力。这种技术组合特别适用于电影评分分析、影评情感挖掘等场景。本文演示的豆瓣电影榜单解析系统,正是这一技术路线的典型实践,涵盖从数据采集、AI增强处理到存储展示的全流程实现。

cucanqi9387的博客 375
上一篇: 产品经理研读:Agent的九种设计模式(图解+代码)
下一篇: 大模型成私人导游,一键规划Citywalk,港大MIT联合出品
AI_小站
博客等级 码龄3年 6255粉丝 1154原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值