估计阅读时长: 10 分钟  https://github.com/rsharp-lang/athena 在这博客篇文章中的Idea来自于最近进行AI Agent的开发:希望可以有一个方便的框架,能够让我像写普通的R#程序包的方式,为大语言模型编写对应的工具包,实现AI Agent功能。经过了大概一天的摸索,搞定了这样子的AI Agent的框架。我将这个框架取名为雅典娜系统。关于这个系统的名称,我们首先来看看DeepSeek是怎么说的: “我现在正在开发一个和大语言模型助手相关的工具,这个工具可以完成通过自然语言聊天的方式调用相应的工具完成生信数据分析,我需要为这个项目取一个名称,要求这个项目的名称应该是符合下面的需求的:女孩英文名称,和智慧相关的,和科学相关的。为我列举一些候选名称” 根据你的需求(女孩英文名、智慧与科学相关),结合搜索结果中的历史文化名人和寓意,以下是推荐的候选名称及来源解析: 名字 寓意 关联 Athena 源自希腊神话的智慧女神,象征智慧与科学战略。 雅典娜不仅是智慧化身,也代表理性思维,适合强调数据分析与策略的项目。 Clara 拉丁语“明亮、清晰”,象征清晰的科学思维。 […]
估计阅读时长: 8 分钟 https://github.com/xieguigang/LLMs 已知,现在我们可以成功的和正在运行的大语言模型服务勾搭了,现在能够让大语言模型为我们做些什么。很遗憾的是,由于大语言模型本质上只是一个数学模型,其作用只是针对我们的输入找出最佳的字符输出组合。如果我们没有额外的针对大语言模型进行拓展,我们所勾搭上的大语言模型充其量也只是一个聊天机器人,他既不能帮我们发送email,也不能够帮助我们调节屋内的灯光,只能够做到分析我们输入的文本,然后输出一段最佳的文本。所以我们需要通过针对大语言模型添加额外的拓展来帮助我们实现各种功能。 又已知,大语言模型的本质就是进行文本的结构化分析,那么假如我们的输入信息中包含有某些工具函数的描述信息,而且大语言模型能够正确的分析出我们的输入文本和输入信息中所包含的工具函数之间的对应关系,那么大语言模型的输出就可以专门定向的变换为一种针对输入信息所对应的函数调用的结构化文本信息输出。当运行大语言模型的基础服务捕捉到这种结构化文本(例如json)输出后就可以通过这种结构化文本信息的内容解析结果来调用对应的外部工具,这样子我们就可以让大语言模型来帮助我们完成特定的任务了。这种特性就是大语言模型的Function Calling功能。
博客文章
May 2025
S M T W T F S
 123
45678910
11121314151617
18192021222324
25262728293031
  1. […] 在上面的工具调用消息数据结构中,我们可以清楚的看见有需要进行调用的工具名称,以及参数列表。当我们拿到这样子的调用信息后,就可以基于一定的规则找到需要执行的运行时中的函数来完成功能的实现。对于.NET平台上,我们一般是使用自定义属性加反射操作来解析相关的名称绑定结果。在.NET平台上对于这样子的一个根据调用信息来进行运行时解析和调用的方法,可以稍微参考《【Darwinism】Linux平台上的VisualBasic高性能并行计算应用的开发》的反射代码方法。 […]