cognis (umbrella)
| Feature | Pulls in |
|---|---|
openai (default) | OpenAI provider + embeddings |
ollama (default) | Ollama provider + embeddings |
anthropic | Anthropic Messages |
google | Gemini chat + embeddings |
azure | Azure OpenAI |
voyage | Voyage embeddings |
all-providers | Every provider above |
cache-sqlite | SQLite-backed model cache |
tools-http | HTTP request primitives for tools |
cognis-core, cognis-macros
These crates compile with no network features ever. Anything that does I/O lives in a sibling crate.cognis-llm
| Feature | Effect |
|---|---|
openai (default) | reqwest + OpenAI client |
ollama (default) | reqwest + Ollama client (no key) |
anthropic | reqwest + Anthropic client |
google | reqwest + Gemini client |
azure | reqwest + Azure OpenAI client |
all-providers | All of the above |
Provider::OpenRouter; no separate feature.
cognis-rag
Embeddings
| Feature | Provider |
|---|---|
openai (default) | OpenAI text-embedding-3-* |
ollama (default) | Local Ollama embeddings |
google | Google text-embedding-004, gemini-embedding |
voyage | Voyage AI |
Vector stores
| Feature | Backend |
|---|---|
vectorstore-faiss | Local FAISS index (no HTTP) |
vectorstore-chroma | Chroma server |
vectorstore-qdrant | Qdrant server |
vectorstore-pinecone | Pinecone (managed) |
vectorstore-weaviate | Weaviate server |
all-vectorstores | All of the above |
Loaders
| Feature | Loader |
|---|---|
csv-loader | CSV |
html-loader | HTML |
yaml-loader | YAML |
toml-loader | TOML |
web-loader | HTTP fetch |
pdf-loader | |
all-loaders | All loaders |
InMemoryVectorStore, FakeEmbeddings, CachedEmbeddings, BatchedEmbeddings, the indexing pipeline, and the in-memory record manager are always available.
cognis-graph
| Feature | Pulls in |
|---|---|
sqlite | sqlx/sqlite for SqliteCheckpointer |
postgres | sqlx/postgres for PostgresCheckpointer |
serializer-cbor | CBOR-encoded checkpoint payloads |
InMemoryCheckpointer and the engine are always available.
cognis-trace
| Feature | Pulls in |
|---|---|
stdout (default) | StdoutExporter |
langfuse | reqwest, secrecy, base64, plus Langfuse exporter / prompts / scorer |
all | Every exporter |
integration_tests | Tests against real services (off by default) |
MockExporter is always built — useful in tests.
Picking the minimum set
- Local Ollama only
- OpenAI + RAG with FAISS
- Multi-provider with traces
- Stateful agents on Postgres
See also
Installation
Where features live in your
Cargo.toml.Environment variables
What
Client::from_env() reads.