AISDK
An open-source, provider-agnostic Rust library for building AI-powered applications, inspired by the Vercel AI SDK. It provides a type-safe interface for interacting with Large Language Models (LLMs) and offers seamless support for Rust backend frameworks as well as popular UI frameworks like React, Solid, Vue, Svelte, and more.
To learn more about how to use the AI SDK, check out our Documentation and API Reference.
Installation
Usage
Enable Providers of your choice such as OpenAI, Anthropic, Google, and more
Example with OpenAI provider
Basic Text Generation
use LanguageModelRequest;
use OpenAI;
async
Agents
Defining a Tool
Use the #[tool] macro to expose a Rust function as a callable tool.
use Tool;
use tool;
/// Get the weather information given a location
Using Tools in an Agent
Register tools with an agent so the model can call them during its reasoning loop.
use ;
use OpenAI;
async
Structured Output
Define your target output format.
use Deserialize;
use JsonSchema;
Use the schema attribute to infer the structure of the output.
use LanguageModelRequest;
use OpenAI;
async
Prompts
The AISDK prompt feature provides a powerful, file-based template system for managing AI prompts using the Tera template engine. It allows you to create reusable prompt templates with variable substitution, conditionals, loops, and template inclusion. See Examples for more template examples. Enable with cargo add aisdk --features prompt
Roadmap
- Agents
- Tool Execution
- Prompt Templating
- Structured Output (JSON Schema)
- Language Model Request Support (Text Generation, Streaming)
- Compatible with Vercel AI SDK UI (React, Solid, Vue, Svelte, …)
- Embedding Model Request Support
- Image Model Request Support
- Voice Model Request Support
- Additional Providers
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
License
Licensed under the MIT License. See LICENSE for details.