• 模型上下文协议(MCP)技术介绍与应用展望

    随着AI技术的快速发展,大型语言模型(LLM)与外部数据源和工具的交互需求日益迫切。在最初的提示词工程阶段,我们可能会人工编写、从数据库中筛选或者使用工具检索可能需要的信息,再手动粘贴到提示词 prompt 中。随着我们要解决的问题越来越复杂,手工把信息引入到 prompt 中会变得越来越困难[1]

    此时,如AI柠檬博主上一篇博客文章提到的 Function Call 便被引入了进来。该机制允许大模型在需要时调用用户预先定义的函数来获取数据或执行操作,显著提升了自动化水平。而这一过程本质上是由大模型输出一个json格式内容,在字段指定参数值中告诉你应该调用什么函数,以及传入什么函数入参来实现。

    但工具函数调用这种传统API接口存在局限性,如兼容性差、安全隐患等,进而催生了模型上下文协议(Model Context Protocol, MCP)的诞生。这项由Anthropic公司于2024年11月推出的开放标准,被誉为“AI领域的USB-C接口”,旨在为AI应用与外部资源提供统一的通信框架[2]

    (更多…)
  • Function Call讲解:AI大模型走向实用化的关键一步

    什么是Function Calling

    在AI大模型的上下文中,”function calling” 是指AI模型能够直接调用预先定义好的函数来执行特定的任务,而不是仅仅基于文本生成来解决问题。这种能力使得AI可以主动地使用外部工具和资源来解决超出模型本身知识范围的问题,从而使AI的应用更加广泛和深入。

    (更多…)
  • GitHub仓Fork后与原仓库同步的最佳方案实践

    这个故事的起因是AI柠檬博主前段时间通过Fork方式给MinDoc开源项目代码仓提交了一个特性的Pull Request,待Owner合入了所有PR后,我这边还要继续通过我Fork的仓库给上游代码仓提交代码,Fork的仓库要跟上游代码仓同步一次。最笨的方法是删了已有的Fork仓库而重新Fork一个,但这显然不优雅,是不完美的方案。

    你还别笑,AI柠檬还没实践过这种操作,毕竟,以前都是别人给我的GitHub仓库提交Pull Request的,我作为Owner只管Code Review并合入代码,但是提PR的人要考虑的就多了(雾)。于是本着优雅地追求完美的本心,搜寻最佳解决方法的资料并实践,您别说,还真的行。

    (更多…)
  • 搭建自己的docker镜像源加速服务

    今年由于众所周知的原因,我们在国内已经无法正常通过docker.io等站点直接拉取到docker容器镜像了,并且现在看来也无重新可用的可能性了。因此AI柠檬博主探索出了一条搭建自己的docker镜像源加速服务的道路。该方法对服务器配置的要求较低,仅需任意一台具有海外网络连接的服务器即可,也可搭建在自己的NAS上,而且docker本身需要做的配置就是换镜像源,与之前的方式完全一致,几乎适用于任何场景。

    唯一需要注意的就是,如果你的服务器网络带宽是按流量计费的,或有流量限制,那么需要谨防被其他人盗用而产生费用损失,建议通过防火墙配置规则,仅开放给自己内部使用。

    (更多…)
  • 面向深度学习用户的Nvidia各版本GPU参数汇总整理

    做深度学习离不开算力,就像到达诗和远方的旅途离不开交通工具。本文面向深度学习用户整理市面上常用的各个版本GPU的关键参数,进行汇总整理,方便大家随时查阅。如果数据有误,或有新GPU问世,或者需要补充的参数维度,各位看官可以及时通过联系方式来找我更新数据。

    注:仅统计Memory在 16GB以上、发售时间在2017年及以后、算力性能满足深度学习计算要求(Cuda算力性能>=7.0)的GPU。若表中单元格为空,则为暂无数据或数据待补充。博主将不定期移除上市时间最久、已停产过时、市面上已大量退役的GPU数据信息项。

    (当前数据整理截止为2025年3月)

    (更多…)
  • 如何选购或搭建一款适合自己的NAS(整体性建议)

    NAS是网络附加存储(Network Attach Storage)的英文缩写,现在普遍指使用了NAS技术的设备。首先,不是所有人都需要NAS的,你应当事先理性地评估自己的需求,不然,结局就是成为电老虎、吞金兽,或者被放在床底下吃灰。这里我根据自己几年下来的实际使用经历,可以为大家在如何选购或搭建一款适合自己的NAS提供一些建议。

    (更多…)
  • 谁是最好的语言?几种热门编程语言特点对比

    作为一个程序员,经常会看到这类问题:xxx是最好的编程语言!但是口说无凭,我们还是从多个维度实际对比一下各个热门常用编程语言吧,给学编程的新手、还不了解某个编程语言的新手或需要做技术选型的人士提供个参考。

    (更多…)
  • 为什么你需要一个NAS:优点和价值

    不是每个人都需要NAS的,但如果你认同AI柠檬博主接下来的内容,那么你就很可能真的需要一个NAS。AI柠檬博主自己就在用NAS,并且认为NAS是有用、实用和好用的。上一篇文章就讲了自己是如何一步一步开始使用NAS的。因此,从实用角度出发,结合自身的实际需求,AI柠檬博主梳理总结了以下若干条能够说服你的理由。只要你认同其中几条,你就可以考虑入手NAS了。

    (更多…)
  • 信息时代,学会给自己做个减法

    我们都应当学会给自己做个减法。

    —— 沃·兹基硕德

    大概20年来前的时候,U盘特别流行,容量很大(高达32MB甚至64MB)(嗯?高达?在哪儿???)。相比于软盘,U盘的物理体积更小巧,但存储容量更大更方便。

    每当父亲每天回到家里,拿出U盘接在电脑上,是我感到最兴奋的时刻之一,那意味着我又有几首新歌可听了。就像在家嗷嗷待哺的崽等到了捕回来的猎物。

    (更多…)
  • 基于Wireguard实现多地域设备异地组网

    WireGuard是一个易于配置、快速、安全的基于UDP协议的开源VPN软件。Wireguard具有自定义配置路由转发的能力,所以可以被用来在多个不同地域将设备所在的内网网络通过路由转发的方式串通起来,组建一张属于自己的大内网!有时候,我们想将本地计算机上提供的服务与小伙伴分享,但是我们既没有公网IP,又希望能够有足够的安全性,避免使其暴露在公网上。因此,我们基于Wireguard这一项最基本的特性,设计和实现了一套异地组网方案。

    (更多…)