apple/foundation-models-utilities

Emerging and experimental patterns for building with the Foundation Models framework

解决的问题

该包提供了一组实用工具,用于简化在 Apple Foundation Models 框架内集成和管理大型语言模型(LLM)的过程。它特别解决了管理长对话历史、连接到各种托管模型服务器,以及在不污染模型上下文窗口的情况下添加任务特定指令的挑战。

工作原理

该库提供三个主要组件:

  • ChatCompletionsLanguageModel:一个客户端,允许开发者连接到任何实现聊天补全 REST API 的服务器,使其与广泛的开源 LLM 工具兼容。
  • 历史管理:一组配置修改器,通过压缩对话记录来防止上下文窗口溢出。这通过滚动窗口、总结先前交互或删除已完成的工具调用等策略实现。
  • 技能:一种为会话添加即时指令的系统。技能可以作为提示添加(避免使键值缓存失效)或作为指令添加(优先级高但可能使缓存失效)。模型可以通过工具调用激活这些技能,基于指令的技能可选择性地停用,以进一步减少上下文污染。

适用人群

在 Apple 平台或支持的 Linux 发行版上使用 Foundation Models 框架开发 AI 应用的 Swift 开发者。

主要亮点

  • REST API 兼容性:可连接到任何支持聊天补全的服务器。
  • 灵活的历史压缩:支持滚动窗口和摘要的可组合策略。
  • 动态上下文管理:即时“技能”可优化首次令牌生成时间并减少上下文污染。
  • 跨平台支持:可在 Apple 平台和 Ubuntu 等部分 Linux 发行版上运行。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目