开源项目

Adam:跨平台AI智能体嵌入式C库

Heooo 05月07日15时01分 1 阅读

「Adam是一个用C语言编写的可嵌入AI智能体库,支持多种云API和本地模型,可在macOS、Linux、Windows、iOS、Android及WASM上编译运行。」

Adam是一个用C语言编写的可嵌入AI智能体库,旨在为开发者提供一个完整的智能体循环,包括工具调用、记忆、会话、语音、流式输出和结构化输出等功能。该库通过单一的#include "adam.h"即可集成到项目中,支持多种云API(如Anthropic、OpenAI、Google Gemini、Groq、Together、xAI)和本地模型(通过llama.cpp),并可在macOS、Linux、Windows、iOS、Android及WASM平台上编译运行。

Adam的核心设计理念是简化AI智能体的集成过程。开发者只需调用adam_init()初始化库,然后创建设置、历史记录,并通过adam_run()执行任务。例如,查询“法国首都是什么?”会返回“巴黎”。这种简洁的API设计使得即使是不熟悉复杂AI框架的开发者也能快速上手。

该库还支持会话延续,历史记录会自动传递到后续对话中。在示例中,先询问“简单解释量子纠缠”,然后接着问“能举个例子吗?”,系统会基于之前的上下文给出连贯的回答。这种能力对于构建交互式AI应用至关重要。

Adam的构建过程非常灵活。开发者可以通过make deps构建llama.cpp和whisper.cpp依赖,通过make all构建libadam.a静态库,并通过make test运行161个单元测试(启用地址消毒器和未定义行为消毒器)。此外,还提供了交互式聊天(make chat)、本地视觉测试(make vision)、语音代理(make talk)和记忆系统测试(make memory)等目标。

Adam的一个独特亮点是它可以作为SQL扩展嵌入到SQLite和PostgreSQL中。通过加载扩展并配置API密钥,用户可以直接用自然语言查询数据库,例如“上个月有多少用户注册?”会返回“47名用户上个月注册了。”此外,还可以生成SQL语句而不执行,例如“按收入排名前5的产品”会生成相应的SQL查询。这种能力使得非技术用户也能轻松与数据库交互。

在内部,adam_run()循环会构建系统提示(包括身份、指令、引导文件、记忆和日期时间),然后检查护栏(通过on_before_send回调),最后检查缓存并调度请求。这种设计确保了智能体的安全性和效率。

Adam的跨平台兼容性是其另一大优势。它可以在桌面操作系统(macOS、Linux、Windows)和移动平台(iOS、Android)上运行,甚至支持WebAssembly,这意味着它可以被嵌入到Web应用中。对于需要轻量级、可嵌入AI解决方案的开发者来说,Adam提供了一个强大的工具。

总体而言,Adam通过简洁的API、丰富的功能集和跨平台支持,降低了AI智能体集成的门槛。无论是构建聊天机器人、语音助手,还是数据库查询接口,Adam都提供了一个值得探索的开源解决方案。

# AI智能体 # C语言 # 开源 # 跨平台 # SQLite # PostgreSQL # llama.cpp

来源:Heooo AI工具导航

📰

资讯不存在

该资讯可能已被删除或不存在

返回资讯列表