# Alchemind
Core library for the Alchemind project that provides interfaces, behaviors, and types for LLM interactions.
## Overview
This is the core package of the Alchemind umbrella application, containing the foundational components that all provider-specific implementations build upon. It defines the common interfaces and behaviors that ensure a consistent API across different LLM providers.
## Features
- Common type definitions for LLM interactions
- Behavior modules that provider implementations must conform to
- Core utilities and helper functions
## Usage
This package is primarily used by other Alchemind packages and is not typically used directly. However, you can use the core interfaces to implement your own provider:
```elixir
defmodule YourCustomProvider do
@behaviour Alchemind.Provider
# Implement the required callbacks
# ...
end
```
## Installation
The package can be installed by adding `alchemind` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[
{:alchemind, "~> 0.1.0-rc1"}
]
end
```
## Development
You can run tests specifically for this core package with:
```bash
cd apps/alchemind
mix test
```
## Documentation
Documentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc):
```bash
cd apps/alchemind
mix docs
```