A Python library for classification tasks using multiple LLMs
Project description
PCS Annotator: A Python Library for Classification Tasks Using Multiple LLMs
How to Install
pip install pcs-annotator
How to Use
from pcs_annotator import PCS
Create a Prompt for Classification Tasks
prompt = """Analyze the news article and determine whether it is 'Fake' or 'Real.'
Label the article using the tag format: <label>Fake</label> or <label>Real</label>.
Afterward, provide your reasoning after the “<reasoning>” tag and close it with "</reasoning>".
Respond only with the label and the reasoning.
"""
Training Dataset Path (dataset_path)
You will need a CSV file with two columns: label and text to ensure better annotation, as the data is used to train the LLMs.
🔧 Customizing Hyperparameters
The PCS class allows you to customize various hyperparameters, including the choice of annotator models, text mutator models, and API keys for different LLM providers.
📌 Example Usage
pcs = PCS(
prompt="Your classification prompt here",
dataset_path="path/to/dataset.csv",
annotators=["llama3-8b-8192", "mistralai/Mistral-7B-Instruct-v0.3", "google/gemma-2-9b-it"],
textmutator="llama-3.1-8b-instant",
GROQ_API_KEY=None,
OPENAI_API_KEY=None,
ANTHROPIC_API_KEY=None,
HUGGINGFACE_API_KEY=None,
train=True
)
print(pcs.annotate("America is a country"))
Configuration
🔹 Annotators (annotators)
Defines the list of LLMs used for annotation.
- Default Models:
"llama3-8b-8192""mistralai/Mistral-7B-Instruct-v0.3""google/gemma-2-9b-it"
- Customization:
- You can add, remove, or modify the annotators by passing a list of model names.
🔹 Text Mutator (textmutator)
Determines the LLM used for generating text mutations.
- Default Model:
"llama-3.1-8b-instant" - Customization:
- You can replace it by passing a different model name as a string.
🔹 API Keys
To access certain LLM models, you need to provide API keys. These can be passed as arguments during initialization or set as environment variables in a .env file.
| API Key | Purpose |
|---|---|
GROQ_API_KEY |
Required for Llama models. Set via argument or .env file. |
OPENAI_API_KEY |
Required for OpenAI models (e.g., "gpt-4"). |
ANTHROPIC_API_KEY |
Required for Anthropic models (e.g., "claude-3-5-sonnet-20241022"). |
HUGGINGFACE_API_KEY |
Required for Mistral and Google Gemma models. |
🔹 Continue the Training (train)
Determines whether to continue optimizing weights using more data or not
- Default Value:
True - Customization:
- You can change to
False
- You can change to
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 pcs_annotator-0.1.10.tar.gz.
File metadata
- Download URL: pcs_annotator-0.1.10.tar.gz
- Upload date:
- Size: 8.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50fabadac0271b15812bb200bbf50e6c2a1aaf0ab46f41f64dd5a06cec0ea430
|
|
| MD5 |
5a585c6e3c12015314173f58a580c7b8
|
|
| BLAKE2b-256 |
2941f23297b8bd9ddffb36216238f564060da71163e8f73a00bfe8c6e631e1e5
|
File details
Details for the file pcs_annotator-0.1.10-py3-none-any.whl.
File metadata
- Download URL: pcs_annotator-0.1.10-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e90aebc9ba280e7e80c7aca807f7ac732cc54073929608cf22e0bb38a736925a
|
|
| MD5 |
80e7e92a958322e21a4f8dd9bc80954b
|
|
| BLAKE2b-256 |
4076b6b1171e00656da893a413a034be5aed607e4c87b7eddf5e7eda8ea21d00
|