This project has been archived by its maintainers, and is no longer receiving any updates.
Yollama
what is this ?
This repo holds the code for helper functions for Ollama with Langchain.
prerequisites
This has been tested on a Ubuntu 24 server. You'll need:
- Ollama installed
- the Ollama models you'll need to install are:
default_llm_model_name = "ajindal/llama3.1-storm:8b"
default_long_context_llm_model_name = "mistral-nemo"
default_reasoning_llm_model_name = "gemma2:9b"
default_sql_llm_model_name = "qwen2.5-coder"
default_tools_llm_model_name = "qwen2.5"
The num_ctx parameter is the size of the context window used to generate the next token, here we use values for a 20GB VRAM GPU.
- Python 3 with
venvandpipinstalled
basic usage
pip install yollama
get_llm()
1st parameter is the use case (Literal["default", "long-context", "reasoning", "sql", "tools"]), which determines the model and context size.
2nd parameter is a boolean to determine if the LLM should return a JSON object or a string.
from yollama import get_llm
llm = get_llm()
# invoke default model (ajindal/llama3.1-storm:8b) in JSON mode
print(llm.invoke({"input_query": some_user_input}))
# invoke Mistral-Nemo model in text mode with some lengthy context
print(get_llm("long-context", False).invoke({"document": some_big_text}))
# invoke Gemma2 model in text mode, to get answers requiring more reasoning abilities
print(get_llm("reasoning", False).invoke({"question": """Owen left a tray of lemon cakes unattended in the staff room for an hour and one of the cakes went missing. Three people are suspects, and here are the facts:
Person A is allergic to citrus but was seen in the area
Person B loves lemon cake but wasn't near the location
Person C has stolen food before and similar incidents increased after they arrived
Who is most likely responsible and why?"""}))
# invoke Qwen2.5-Coder model in text mode, to get a raw SQL query
print(get_llm("sql", False).invoke({"query": "create a SQL query to get the latest headlines"}))
philosophy
fully local models
I've decided to let go of OpenAI to:
- preserve my privacy
- save money
As local models are getting better and better, I'm confident that I'll be able to have a greater experience in the future, even with my small 20GB VRAM GPU. 🤔 Of course, it's not fast, but hey everything comes with tradeoffs right? 💪
contributions guidelines
🤝 I haven't made up my mind on contribution guidelines yet. I guess we'll update them as you contribute!
Metadata
Release files for yollama 2.1.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 | Provenance | Actions |
|---|---|---|---|---|
| yollama-2.1.0.tar.gz | 4.0 kB | Without provenance | Details for yollama-2.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| yollama-2.1.0-py3-none-any.whl | Python 3 | none | any | Details for yollama-2.1.0-py3-none-any.whl |
Total release size: 8.5 kB
Release files / yollama-2.1.0.tar.gz
| Download URL | yollama-2.1.0.tar.gz |
|---|---|
| Size | 4.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5d006ba82e5895bb80717e1c79fb698bcc1262612bec005be801ed389f069047
|
|
BLAKE2b-256 checksum How to use checksums |
a52619d2bc2bc01812a17219d700ce52397f717ace0bfd71a9fe298fd44e3cd7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.3
|
Release files / yollama-2.1.0-py3-none-any.whl
| Download URL | yollama-2.1.0-py3-none-any.whl |
|---|---|
| Size | 4.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
917c67e01030f90cee4d36ef4de51b90a8877a3de65883a1540577abc9794934
|
|
BLAKE2b-256 checksum How to use checksums |
8fdbee81424d4699d8f680db7076df749ec5d8acc173ce8b39dde7c62fe90833
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.3
|
Security for yollama 2.1.0
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.