内容提要
本文介绍了如何通过代码定义技能,与文件基础技能相比,前者将所有内容直接写入代码中。首先创建控制台项目并安装必要的包,然后定义单位转换技能,包括静态和动态资源及计算脚本。最后,注册技能并创建AI代理进行测试,展示如何调用技能并输出结果。
关键要点
-
本文介绍了通过代码定义技能,与文件基础技能相比,前者将所有内容直接写入代码中。
-
首先创建控制台项目并安装必要的包,包括 Azure.AI.OpenAI、Azure.Identity 和 Microsoft.Agents.AI.OpenAI。
-
定义单位转换技能,包括静态资源(如转换表)、动态资源(如运行时生成的配置)和计算脚本。
-
注册技能,将定义的技能放入技能包中。
-
创建 AI 代理并将技能挂载到代理上,以便进行测试和调用。
-
通过示例展示如何调用技能并输出结果,强调 Code-Defined 更像是直接写死在代码里。
延伸解读
代码定义技能的优势
通过代码定义技能,开发者可以将所有逻辑直接嵌入代码中,避免了文件管理的复杂性。这种方式使得技能的调用和维护更加高效,尤其适合需要频繁更新或动态调整的场景。
静态与动态资源的应用
在定义技能时,静态资源和动态资源的结合使用提供了灵活性。静态资源如转换表可以快速访问,而动态资源则允许根据运行时条件调整配置,这对于实时应用尤为重要。
AI代理的创建与测试
创建AI代理时,确保将技能正确挂载至代理上是关键。通过实际调用测试,可以验证技能的有效性和准确性,帮助开发者及时发现并修正潜在问题。
延伸问答
什么是Code-Defined Skill?
Code-Defined Skill是将所有内容直接写入代码中的技能定义方式,与文件基础技能相比更为直接。
如何创建一个控制台项目并安装必要的包?
首先创建控制台项目,然后使用命令安装包,如:dotnet add package Azure.AI.OpenAI等。
单位转换技能是如何定义的?
单位转换技能通过定义静态资源、动态资源和计算脚本来实现,包括转换表和计算逻辑。
如何注册技能并创建AI代理?
通过创建AgentSkillsProvider来注册技能,然后使用AzureOpenAIClient创建AI代理并挂载技能。
Code-Defined Skill与File-Based Skill有什么区别?
Code-Defined Skill是将技能直接写入代码中,而File-Based Skill则使用外部文件和资源进行定义。
如何测试创建的AI代理?
通过调用agent.RunStreamingAsync方法并传入请求,获取并输出计算结果。