Skip to main content

llmlite

A library helps to communicate with all kinds of LLMs consistently.

Model State System Prompt Note
ChatGPT Done ✅ Yes
Llama-2 Done ✅ Yes
CodeLlama Done ✅ Yes
ChatGLM2 Done ✅ No
ChatGLM3 WIP ⏳ Yes
Baichuan2 Done ✅ Yes
Claude-2 RoadMap 📋 issue#7
Falcon RoadMap 📋 issue#8
StableLM RoadMap 📋 issue#11
Baichuan2 RoadMap 📋 issue#34
... ... ... ...

llmlite also supports different inference backends as below:

backend State Note
huggingface Done ✅ Support by huggingface pipeline
vLLM Done ✅
... ... ...

How to install

pip install llmlite==0.0.9

How to use

Chat

from llmlite.apis import ChatLLM, ChatMessage

chat = ChatLLM(
    model_name_or_path="meta-llama/Llama-2-7b-chat-hf", # required
    task="text-generation",
    backend="vllm",
    )

result = chat.completion(
  messages=[
    ChatMessage(role="system", content="You're a honest assistant."),
    ChatMessage(role="user", content="There's a llama in my garden, what should I do?"),
  ]
)

# Output: Oh my goodness, a llama in your garden?! 😱 That's quite a surprise! 😅 As an honest assistant, I must inform you that llamas are not typically known for their gardening skills, so it's possible that the llama in your garden may have wandered there accidentally or is seeking shelter. 🐮 ...

llmlite also supports other parameters like temperature, max_length, do_sample, top_k, top_p to help control the length, randomness and diversity of the generated text.

See examples for reference.

Prompting

You can use llmlite to help you generate full prompts, for instance:

from llmlite.apis import ChatMessage, LlamaChat

messages = [
    ChatMessage(role="system", content="You're a honest assistant."),
    ChatMessage(role="user", content="There's a llama in my garden, what should I do?"),
]

LlamaChat.prompt(messages)

# Output:
# <s>[INST] <<SYS>>
# You're a honest assistant.
# <</SYS>>

# There's a llama in my garden, what should I do? [/INST]

Logging

Set the env variable LOG_LEVEL for log configuration, default to INFO, others like DEBUG, INFO, WARNING etc..

Roadmap

  • Adapter support
  • Quantization
  • Streaming

Contributions

🚀 All kinds of contributions are welcomed ! Please follow Contributing.

Contributors

🎉 Thanks to all these contributors.

Metadata

Release files for llmlite 0.0.15

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for llmlite 0.0.15
File Size Uploaded Provenance Actions
llmlite-0.0.15.tar.gz 11.1 kB Without provenance Details for llmlite-0.0.15.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for llmlite 0.0.15
File Interpreter ABI Platform Actions
llmlite-0.0.15-py3-none-any.whl Python 3 none any Details for llmlite-0.0.15-py3-none-any.whl

Total release size: 27.1 kB

Release files / llmlite-0.0.15.tar.gz

Download URL llmlite-0.0.15.tar.gz
Size 11.1 kB
Tags Source
SHA-256 checksum
How to use checksums
47edb0fdb9ef363a455692b2e0402ebe82168c2ab545a7178474a2c907263b84
BLAKE2b-256 checksum
How to use checksums
289d661ab6212e8e454738bb539a63f01a91cdc2ec84e6746b591ecee24aa718
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.6.1 CPython/3.10.13 Darwin/20.4.0

Release files / llmlite-0.0.15-py3-none-any.whl

Download URL llmlite-0.0.15-py3-none-any.whl
Size 16.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f559824a957b0cbf4922ef7a460fc7d6dd841a53b07ac8c8211ad25a8bb0bdc0
BLAKE2b-256 checksum
How to use checksums
280a5ac631e71d2a1ff4347f52d0f3054e532785491baae6c5135d545dce6840
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.6.1 CPython/3.10.13 Darwin/20.4.0

Security for llmlite 0.0.15

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page