Plugin for LLM adding fast Cerebras inference API support
Project description
llm-cerebras
This is a plugin for LLM that adds support for the Cerebras inference API.
Installation
Install this plugin in the same environment as LLM.
pip install llm-cerebras
Configuration
You'll need to provide an API key for Cerebras.
llm keys set cerebras
Listing available models
The plugin automatically fetches the latest available models from the Cerebras API and caches them for 24 hours.
llm models list | grep cerebras
# CerebrasModel: cerebras-llama3.1-8b
# CerebrasModel: cerebras-llama3.3-70b
# CerebrasModel: cerebras-llama-4-scout-17b-16e-instruct
# CerebrasModel: cerebras-qwen-3-32b
Refreshing models
To get the latest models from the Cerebras API and update the cache:
llm cerebras refresh
This will fetch the current list of available models and save them to the cache. The models are automatically cached for 24 hours, so you typically don't need to refresh manually unless you want to check for newly released models.
Schema Support
The llm-cerebras plugin supports schemas for structured output. You can use either compact schema syntax or full JSON Schema:
# Using compact schema syntax
llm -m cerebras-llama3.3-70b 'invent a dog' --schema 'name, age int, breed'
# Using multi-item schema for lists
llm -m cerebras-llama3.3-70b 'invent three dogs' --schema-multi 'name, age int, breed'
# Using full JSON Schema
llm -m cerebras-llama3.3-70b 'invent a dog' --schema '{
"type": "object",
"properties": {
"name": {"type": "string"},
"age": {"type": "integer"},
"breed": {"type": "string"}
},
"required": ["name", "age", "breed"]
}'
Schema with Descriptions
You can add descriptions to your schema fields to guide the model:
llm -m cerebras-llama3.3-70b 'invent a famous scientist' --schema '
name: the full name including any titles
field: their primary field of study
year_born int: year of birth
year_died int: year of death, can be null if still alive
achievements: a list of their major achievements
'
Creating Schema Templates
You can save schemas as templates for reuse:
# Create a template
llm -m cerebras-llama3.3-70b --schema 'title, director, year int, genre' --save movie_template
# Use the template
llm -t movie_template 'suggest a sci-fi movie from the 1980s'
Development
To set up this plugin locally, first checkout the code. Then create a new virtual environment:
cd llm-cerebras
python -m venv venv
source venv/bin/activate
Now install the dependencies and test dependencies:
pip install -e '.[test]'
Running Tests
To run the unit tests:
pytest tests/test_cerebras.py tests/test_schema_support.py
To run integration tests (requires a valid API key):
pytest tests/test_integration.py
To run automated user workflow tests:
pytest tests/test_automated_user.py
You can run specific test types using markers:
pytest -m "integration" # Run only integration tests
pytest -m "user" # Run only user workflow tests
License
Apache 2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file llm_cerebras-0.1.8.tar.gz.
File metadata
- Download URL: llm_cerebras-0.1.8.tar.gz
- Upload date:
- Size: 12.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
405b3ca02288529c4fa63369633fe8caf0546b253d2b74fcc4534a252131c8bf
|
|
| MD5 |
a7e1e529b6fcd9ab5901a999688266db
|
|
| BLAKE2b-256 |
8e37225d4cf836c10b5d32e1fca25efd925c1e8c503159cf23419d1d9455728a
|
File details
Details for the file llm_cerebras-0.1.8-py3-none-any.whl.
File metadata
- Download URL: llm_cerebras-0.1.8-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88f7260b9f40aeea7539c882bfb1ec7ef56f4469af9347a15066d9b5f605d973
|
|
| MD5 |
3aeafb48a34eef4a11e6c95e2c182535
|
|
| BLAKE2b-256 |
32b29a8d2b47676581d2367d09e80f99e5e7e7767e8363cd088ba408963db273
|