Adds structured AI outputs, vectorization, and tool calling to Ash Framework applications using ReqLLM.
Ash AI is an Elixir library that integrates AI capabilities into Ash Framework applications. It provides structured tool calling, vector embeddings for semantic search, and prompt-backed actions, allowing developers to build AI-powered features with type safety and declarative configurations. It solves the problem of bridging Ash's resource-oriented architecture with LLM workflows.
Elixir developers building applications with the Ash Framework who want to add AI features like chat interfaces, semantic search, or LLM-driven automation without leaving the Ash ecosystem.
Developers choose Ash AI for its deep integration with Ash, offering a declarative way to expose actions as tools, manage vector embeddings, and ensure structured outputs. It reduces boilerplate and maintains Ash's type safety and policy enforcement while adding AI capabilities.
Structured outputs, vectorization and tool calling for your Ash application
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically generates LLM-callable tools from Ash actions with schema validation, reducing boilerplate for AI integrations as shown in the tools DSL example.
Supports sync, async via AshOban, or manual embedding updates, allowing optimization for performance needs, though the default is acknowledged as slow.
Ensures type-safe structured outputs from LLMs by leveraging Ash's type system, preventing runtime errors in AI-driven logic, as demonstrated with custom types like Ash.TypedStruct.
Exposes tools and resources via the Model Context Protocol for IDE/agent integration, enhancing developer workflow despite version compatibility hurdles.
Useless outside Ash-based Elixir applications; it's not a standalone AI library but an extension tightly coupled to Ash's ecosystem.
Requires understanding of Ash, Phoenix, and specific dependencies like Tailwind/DaisyUI for generated features, increasing initial learning curve and configuration time.
MCP server has version compatibility issues and lacks full OAuth2 support, noted in the roadmap, making it unreliable for production use without custom work.
Default synchronous vectorization strategy is described as 'incredibly slow' in the README, forcing async setup with AshOban for production, which adds complexity.