LlamaIndex Llms Integration: llamafile
Setup Steps
1. Download a LlamaFile
Use the following command to download a LlamaFile from Hugging Face:
wget https://huggingface.co/jartine/TinyLlama-1.1B-Chat-v1.0-GGUF/resolve/main/TinyLlama-1.1B-Chat-v1.0.Q5_K_M.llamafile
2. Make the File Executable
On Unix-like systems, run the following command:
chmod +x TinyLlama-1.1B-Chat-v1.0.Q5_K_M.llamafile
For Windows, simply rename the file to end with .exe.
3. Start the Model Server
Run the following command to start the model server, which will listen on http://localhost:8080 by default:
./TinyLlama-1.1B-Chat-v1.0.Q5_K_M.llamafile --server --nobrowser --embedding
Using LlamaIndex
If you are using Google Colab or want to interact with LlamaIndex, you will need to install the necessary packages:
%pip install llama-index-llms-llamafile
!pip install llama-index
Import Required Libraries
from llama_index.llms.llamafile import Llamafile
from llama_index.core.llms import ChatMessage
Initialize the LLM
Create an instance of the LlamaFile LLM:
llm = Llamafile(temperature=0, seed=0)
Generate Completions
To generate a completion for a prompt, use the complete method:
resp = llm.complete("Who is Octavia Butler?")
print(resp)
Call Chat with a List of Messages
You can also interact with the LLM using a list of messages:
messages = [
ChatMessage(
role="system",
content="Pretend you are a pirate with a colorful personality.",
),
ChatMessage(role="user", content="What is your name?"),
]
resp = llm.chat(messages)
print(resp)
Streaming Responses
To use the streaming capabilities, you can call the stream_complete method:
response = llm.stream_complete("Who is Octavia Butler?")
for r in response:
print(r.delta, end="")
You can also stream chat responses:
messages = [
ChatMessage(
role="system",
content="Pretend you are a pirate with a colorful personality.",
),
ChatMessage(role="user", content="What is your name?"),
]
resp = llm.stream_chat(messages)
for r in resp:
print(r.delta, end="")
LLM Implementation example
https://docs.llamaindex.ai/en/stable/examples/llm/llamafile/
Metadata
Release files for llama-index-llms-llamafile 0.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| llama_index_llms_llamafile-0.6.0.tar.gz | 5.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| llama_index_llms_llamafile-0.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.3 kB
Release files / llama_index_llms_llamafile-0.6.0.tar.gz
| Download URL | llama_index_llms_llamafile-0.6.0.tar.gz |
|---|---|
| Size | 5.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3360bb4d296c18a473fd85890026bf816dea64fc8a6a8e52bf78c5e37f73cc11
|
|
BLAKE2b-256 checksum How to use checksums |
8a98de0500c50da2a3ef869c2f979dd5f0677156835e08d14b4ea58f811ce67c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / llama_index_llms_llamafile-0.6.0-py3-none-any.whl
| Download URL | llama_index_llms_llamafile-0.6.0-py3-none-any.whl |
|---|---|
| Size | 5.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0be01626313c8113b3bdfdbf06a99abde71a0372b5b8e66320a7bd9ea7516c5a
|
|
BLAKE2b-256 checksum How to use checksums |
b1a220a39effa4ca27ee00f7b461fe14db87843b946f1f527b1e36504fa36293
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|