Prompt 语宙Prompt 语宙
  • 首页
  • AIGC 资讯
    • AIGC 早报Hot
    • 最新趋势
    • AI 工具
    • 热门资源
  • AI 绘图
    • Prompt 实战
    • AI 绘画教程
    • 模型精选
  • 强化 AI 学习
  • AI 图库
    • 人物
    • 展台场景
    • Banner
    • 游戏
    • 动物
    • 食物
    • 自然
    • 背景
    • 海报
    • 建筑
    • 室内设计
  • Remaker AI
    • Free Image Splitter
    • AIGC 工具
    • Prompt 咒语生成器
  • 社区
    • 知识星球
    • 公众号
Search
  • Contact
  • Blog
  • Complaint
  • Advertise
© 2024 Prompt 语宙. HalfPX. All Rights Reserved.
阅读: AI 代理中间件:不完美的临时解决方案 [译]
Share
登陆
通知 阅读更多
Font Resizer字体
Font Resizer字体
Prompt 语宙Prompt 语宙
Search
  • 首页
  • AIGC 资讯
    • AIGC 早报Hot
    • 最新趋势
    • AI 工具
    • 热门资源
  • AI 绘图
    • Prompt 实战
    • AI 绘画教程
    • 模型精选
  • 强化 AI 学习
  • AI 图库
    • 人物
    • 展台场景
    • Banner
    • 游戏
    • 动物
    • 食物
    • 自然
    • 背景
    • 海报
    • 建筑
    • 室内设计
  • Remaker AI
    • Free Image Splitter
    • AIGC 工具
    • Prompt 咒语生成器
  • 社区
    • 知识星球
    • 公众号
已有帐户? 登陆
  • Contact
  • Blog
  • Complaint
  • Advertise
© 2023 Prompt 语宙. Paooo.com. All Rights Reserved.
AI 代理中间件位于你的应用和模型推理服务提供商之间。
Prompt 语宙 > 强化 AI 学习 > AI 代理中间件:不完美的临时解决方案 [译]
强化 AI 学习

AI 代理中间件:不完美的临时解决方案 [译]

宝玉的分享
最近更新: 2024年3月27日 下午12:17
SHARE

现有的监控、模型路由和提示管理架构尚不足以应对挑战。

阅读目录
AI 代理中间件面临的问题更佳选择 —— 框架替代代理与代理中间件的对比框架扩展评估本地实验治理与版本控制为什么存在这么多代理中间件?重视协议,超越框架

让我们来谈谈现在的情况。在大语言模型的操作流程中,正逐渐出现一个新概念:AI 代理中间件。

AI 代理中间件是一种特殊的服务,它作为桥梁连接着您的应用程序和模型推理提供商,比如 OpenAI、Hugging Face 等。这种中间件在生成式 AI 开发流程中扮演着关键角色,负责整合以下几个重要步骤:

  • 使用统一的 API(通常是改编了 openai.chat.completions API,加入了自定义的 baseUrl)来调用各种不同的模型,如 LLaMA、GPT 系列、Mixtral。
  • 监控使用情况、响应时间、成本等。
  • 对推理请求进行缓存和流量控制。
  • 管理用于模型推理的 API 密钥。

AI 代理中间件位于你的应用和模型推理服务提供商之间。
AI 代理中间件位于你的应用和模型推理服务提供商之间。

然而,我们认为这种架构并非解决这些问题的最佳方案。相反,我们提出了一个观点 — 并通过实践证明 — 这些中间件所提供的功能,可以通过避开中间件、采用更为优雅的框架和协议来实现。

AI 代理中间件面临的问题

AI 代理尝试解决的动机问题是既实际又重要的:

  1. 关注点分离: 将模型特定逻辑从应用程序代码中分离出来。 让应用程序可以通过相同统一的 API 接口调用不同的模型,避免了处理特定于模型的 API 的需要。这样,开发者可以在同一个应用程序流程中调用不同的模型,同时使用相同的 API(例如,使用 GPT-4 处理复杂的提示,使用 LLaMA 或 Mixtral 处理简单的提示)。
  2. 监控 应用程序使用生成式 AI 的情况、响应时间和成本。
  3. 缓存 推理请求,采用语义缓存,并控制请求频率。
  4. 管理不同推理服务提供商的 API 密钥

把这些功能集成到一个代理中间件中,引入了一系列新的且可避免的问题:

  • 单体设计 – 监控、可观测性和缓存在现有的软件开发流程中已经是独立的、成熟的概念,每个领域都有其专用的系统。它们不应该被一个代理服务所整合。
  • 安全风险:在应用程序与模型提供商之间增加了这一不必要的服务层,导致了额外的安全隐患,需要通过加密请求和用户特定数据来解决。
  • 延迟和难以调试:代理使得与大语言模型 (大语言模型) 提供商的通信需要两次跳转,可能会导致性能下降。此外,一旦出现问题,调试的可见性也非常有限。
  • 本地与远程的差异:这个服务层对本地运行的模型不适用,而随着模型越来越小且效率更高,本地模型的重要性正逐渐增加。

更重要的是,许多这类代理中间件是由第三方提供商作为封闭的管理服务提供的。这就形成了一个关键的外部依赖,而且没有备用策略。

更佳选择 —— 框架替代代理

我们认为,可以用一个开源的 AI 框架和存储格式来取代 AI 代理层。这样不仅能提供一个统一的 API,还能连接到相关服务以分别处理监控、缓存和密钥管理。

为此,我们推出了 AIConfig —— 一种以配置文件为核心的框架,用于管理提示、模型和推理设置,这些设置都是可以通过 JSON 格式序列化的。

这些配置文件是应用程序中生成式 AI 的关键组成部分,可以进行版本控制、评估、监控,并且能在一个像笔记本一样的实验环境中进行编辑。换言之,它们能够无缝融入当前开发者的工作流程中。

尽管市场上存在其他 AI 框架,但 AIConfig 的两个主要特点是:

  1. 提示、模型和推理设置被存储为配置文件,而不是代码。
  2. 它采用了一个与模型无关且支持多种模式的通用存储格式,使得在不同模型间的切换变得简单直接。

与代理中间件的对比

我们来重新审视一下代理中间件的功能,并尝试在不借助中间人的情况下实现相同的功能。具体来说,我们将采用不依赖单体架构的方法来完成这一目标。

将单体服务分解为其组成部分后,您可以利用现有的服务提供商来进行数据推断、监控、缓存和密钥管理系统(KMS)等操作。

✅ 关注点分离 — 从应用程序代码中分离出模型特定逻辑。

AIConfig 的设计允许您将提示的存储和迭代过程与应用程序代码分开进行。它为任何模型和各种形式提供了统一的 API 接口。

例如,这个 aiconfig 利用 Gemini 和 GPT-4 创建了一个旅行规划应用程序:

{ "name": "NYC Trip Planner", "description": "Intrepid explorer with ChatGPT and AIConfig", "schema_version": "latest", "metadata": { "models": { "gemini-pro": { "model": "gemini-pro" }, "gpt-4": { "model": "gpt-4", "max_tokens": 3000, "system_prompt": "You are an expert travel coordinator with exquisite taste." } }, "default_model": "gemini-pro" }, "prompts": [ { "name": "get_activities", "input": "Tell me 10 fun attractions to do in NYC.", "metadata": { "model": "gemini-pro" } }, { "name": "gen_itinerary", "input": "Generate an itinerary ordered by {{order_by}} for these activities: {{get_activities.output}}.", "metadata": { "model": "gpt-4", "parameters": { "order_by": "geographic location" } } } ]}

您可以通过同一个 API 调用任何一个模型:

import asynciofrom aiconfig import AIConfigRuntime, InferenceOptionsasync def main(): # Load the aiconfig config = AIConfigRuntime.load('travel.aiconfig.json') # Run a Google Gemini prompt (with streaming) inference_options = InferenceOptions(stream=True) await config.run("get_activities", options=inference_options) # Run a GPT-4 prompt (same API!) await config.run("gen_itinerary", options=inference_options)asyncio.run(main())

✅ 监控

该框架提供了回调处理程序,用于注册使用情况跟踪。

其核心理念是,对生成式 AI 的监控并不与监控其他服务有太大的不同。生成式 AI 的监控应当简单地融入到您对应用程序其他部分的监控体系中(如 datadog、cloudwatch、prometheus 等)。

from aiconfig import CallbackManager, CallbackEventimport pprintasync def custom_callback(event: CallbackEvent) -> None: """ This is a custom callback that prints the event to stdout. Args: event (CallbackEvent): The event that triggered the callback. """ print(f"Event triggered: {event.name}") pprint.pprint(event, width = 150)callback_manager = CallbackManager([custom_callback])config.set_callback_manager(callback_manager)

现有监控服务可以轻松集成到各种框架中

✅ 缓存

例如 GPTCache,这样的优秀解决方案已经存在于语义缓存领域。与代理相比,框架允许您直接并轻松地与最适合的工具集成,以实现最佳效果。

✅ API 密钥管理

我们认为管理 API 密钥并不是一个新的问题 — 已经有了很好的密钥管理服务(KMS)可供使用,这些服务也可以用于管理推断端点的密钥。

框架扩展

除了以上内容,还有一些其他关键部分在生成式 AI 工作流程中对构建生产级应用程序至关重要。框架使得使用现有工具来分析和处理这些部分成为可能:

评估

开发者通过创建一个专门的配置文件,可以为其定义评估标准,并且每当配置发生变化时,自动在持续集成/持续部署 (CI/CD) 流程中启动这些评估。

更多关于生成式 AI 评估的信息,请参阅 这里。

本地实验

一个框架能够把生成式 AI 的试验和产品化过程整合到一个流程中。比如,aiconfig 既可以在类似于笔记本的交互式编辑环境中使用,进行视觉编辑和快速原型设计,也可以在应用程序代码中发挥作用。

治理与版本控制

作为一种版本控制工具,aiconfig 能够确保应用中生成式 AI 部分的重现性和来源可追溯性。

更多关于基于框架和配置驱动的 AI 应用开发的详细信息,请查看这个指南。

了解更多:https://github.com/lastmile-ai/aiconfig

为什么存在这么多代理中间件?

如上所述,代理中间件旨在解决当前生成式 AI 工作流程中存在的实际问题。它们也是生成式 AI 开发过程中一个关键环节的便捷接入点。在竞争激烈的市场中,这是一种创建“黏性”依赖的方式。

但如果仅从开发者的视角来看,这些代理所提供的功能理应被拆分为更具扩展性的框架,从而可以连接到外部服务。

重视协议,超越框架

本文的核心观点是,我们需要建立一个标准的交互模型。这个模型应明确规定应用程序在不同模型提供者之间的工作方式、生成式 AI 组件的评估方法、监控方式等(本文还没有涉及智能体交互的内容)。

将这种交互模式标准化为一种协议,将使开发者的整体工作流程更加高效,促进生成式 AI 领域的开发者生态系统更加开放。我们最初的想法是受到了电子邮件的 SMTP 协议和 IDE 中的 LSP(语言服务协议) 的启发。

我们需要一个专门的生成式 AI 协议,它应包括:

  • 提示、模型和推理设置的统一存储格式
  • 运行推理的统一 API,包括路由处理
  • 评估生成式 AI 组件的标准
  • 监控和回调机制
  • 数据缓存
  • 实验和用户体验优化

AIConfig 正是朝这一方向迈出的一步,我们期待与社区合作,共同推动这一进程。

给年轻人的忠告,我对自己的自欺 [译]
利用 AI 进行角色扮演:对作家和教育者来说是个重要工具 [译]
我们是如何利用大语言模型 (LLM) 改进 GitHub Copilot 的探索之旅 [译]
大语言模型在帮助医生获取信息方面效果如何?[译]
Gemma:推出全新的顶尖开放模型 [译]
分享
Email 复制链接 打印
Share
上一篇 CEO 与他的三个秘密信封 [译]
下一篇 2024 年软件工程 KPIs 的问题及其解决之道 [译]
发表评价

发表评价 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Please select a rating!

Ad image
- 入群领取知识星球折扣卷, 仅剩99份 -
Ad imageAd image

最近更新

DeepSeek 开源周第 6 天彩蛋 – DeepSeek-V3/R1 推理系统概览
强化 AI 学习
OpenAI GPT-4.5 系统卡
强化 AI 学习
如何像人类一样进行代码评审(第二部分)
强化 AI 学习
模型即产品(The Model is the Product)
强化 AI 学习

相关推荐

强化 AI 学习

再现亚马逊新的人工智能生成功能:产品评论摘要 [译]

宝玉的分享
1次查看
image
强化 AI 学习

多模态大模型(LMMs)的曙光:初探 GPT-4V(ision)[译]

宝玉的分享
强化 AI 学习

ChatGPT 提示词十级技巧:从新手到专家 [译]

宝玉的分享
强化 AI 学习

访谈记录:Ezra Klein 采访 Dario Amodei [译]

宝玉的分享
/ Prompt 语宙 /

Experience the limitless creative possibilities of generative AI and unlock new levels of innovation.

Quick Link

  • Remaker AI
  • BGRemaker 抠图Hot
  • AIGC 工具
  • Prompt 咒语生成器
  • 去水印工具

Support

  • Contact
  • Blog
  • Complaint
  • Advertise

标签

3D AI AIGC AI人像 AI创作小助手 AI工具 AI换脸 AI海报设计 AI生成视频 AI绘画 AI视频 AI设计 app图标 chatgpt DALL-E3 excel GPT meta Midjourney openai Pika prompt runway SDXL stable diffusion UI设计 专业 丛林 乐高 人像 人物 光晕 动物 吉卜力 咒语 图标设计 圣诞 壁纸 女性 奶牛 实验室 宠物 客厅 室内设计 家居 局部重绘 展台 山景 帅哥 建筑 建筑设计 影谱科技 微摄影 怪物 提示词 摄影 教程 新闻 日本排放核污水 早报 星光 枯木 植物 模特 水果 泳池 海报 海报设计 清华大学 温馨的家 游戏 游戏美术 炫光 炫彩 玻璃 白茶花 矢量插画 研究报告 破碎 科幻 穿搭 窗 美食 背景 节日 芭比 花 花卉 茶园一角 草原 荷兰奶源 表情包 赛博朋克 超现实主义 软件 运动 金毛 风景 食物 香水
Prompt 语宙Prompt 语宙
Follow US
© 2009-2023 Prompt 语宙. Paooo.com. All Rights Reserved.
Welcome Back!

Sign in to your account

Username or Email Address
Password

忘记密码