Large Language Models' pool management library
Project description
LLM-Pool
This simple project is to manage multiple LLM(Large Language Model)s in one place. Because there are too many fine-tuned LLMs, and it is hard to evaluate which one is bettern than others, it might be useful to test as many models as possible. Below is the two useful usecases that I had in mind when kicking off this project.
- compare generated text from different models side by side
- complete conversation in collaboration of different models
Usecase
from llmpool import LLModelPool
from llmpool import LocalLoRAModel
from llmpool import RemoteTxtGenIfLLModel
from transformers import AutoModelForCausalLM
model_pool = LLModelPool()
model_pool.add_models(
# alpaca-lora 13b
LocalLoRALLModel(
"alpaca-lora-13b",
"elinas/llama-13b-hf-transformers-4.29",
"LLMs/Alpaca-LoRA-EvolInstruct-13B",
model_cls=AutoModelForCausalLM
),
RemoteTxtGenIfLLModel(
"stable-vicuna-13b",
"https://...:8080"
),
)
for model in model_pool:
result = model.batch_gen(
["hello world"],
GenerationConfig(...)
)
print(result)
_, stream_result = model.stream_gen(
"hello world",
GenerationConfig(...)
)
for ret in stream_results:
if instanceof(model, LocalLoRALLModel) or \
instanceof(model, LocalLLModel):
print(ret, end='')
else:
print(ret.token.text, end='')
Alternatively, you can organize the model pool with yaml file
from llmpool import instantiate_models
model_pool = instantiate_models('...yaml')
Todo
- Add example notebooks
- Yaml parser to add models to model pool
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 Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file llmpool-0.2.2-py3-none-any.whl
.
File metadata
- Download URL: llmpool-0.2.2-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4856c17b43f9d7de069619be5cfc82dee9733d41e2c2d110b6cf79d328115fb |
|
MD5 | 57501e6f6616cde7e441f26b4bfd6722 |
|
BLAKE2b-256 | 8cd3f270f3a6f85354394eb9b4375c4c0b1a7830cbded4cf0e8d48fe57c9ece4 |