File size: 2,846 Bytes
bf52369 c877790 bf52369 6a5c648 3170638 6a5c648 3170638 6a5c648 3170638 6a5c648 c877790 6a5c648 3170638 6a5c648 c877790 6a5c648 c877790 3170638 c877790 6a5c648 c877790 6a5c648 3170638 6a5c648 c877790 3170638 6a5c648 3170638 c877790 6a5c648 c877790 6a5c648 c877790 6a5c648 c877790 6a5c648 c877790 6a5c648 c877790 6a5c648 c877790 6a5c648 c877790 6a5c648 c877790 6a5c648 c877790 6a5c648 3170638 6a5c648 c877790 6a5c648 c877790 6a5c648 c877790 6a5c648 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
---
license: apache-2.0
inference: false
---
# Model Card for Model ID
<!-- Provide a quick summary of what the model is/does. -->
**slim-ratings** is part of the SLIM ("**S**tructured **L**anguage **I**nstruction **M**odel") model series, consisting of small, specialized decoder-based models, fine-tuned for function-calling.
slim-ratings has been fine-tuned for **rating/stars** (sentiment degree) function calls, generating output consisting of a python dictionary corresponding to specified keys, e.g.:
`{"rating": ["{rating score of 1(low) - 5(high)"]}`
SLIM models are designed to provide a flexible natural language generative model that can be used as part of a multi-step, multi-model LLM-based automation workflow.
Each slim model has a 'quantized tool' version, e.g., [**'slim-ratings-tool'**](https://huggingface.co/llmware/slim-ratings-tool).
## Prompt format:
`function = "classify"`
`params = "rating"`
`prompt = "<human> " + {text} + "\n" + `
`"<{function}> " + {params} + "</{function}>" + "\n<bot>:"`
<details>
<summary>Transformers Script </summary>
model = AutoModelForCausalLM.from_pretrained("llmware/slim-ratings")
tokenizer = AutoTokenizer.from_pretrained("llmware/slim-ratings")
function = "classify"
params = "rating"
text = "I am extremely impressed with the quality of earnings and growth that we have seen from the company this quarter."
prompt = "<human>: " + text + "\n" + f"<{function}> {params} </{function}>\n<bot>:"
inputs = tokenizer(prompt, return_tensors="pt")
start_of_input = len(inputs.input_ids[0])
outputs = model.generate(
inputs.input_ids.to('cpu'),
eos_token_id=tokenizer.eos_token_id,
pad_token_id=tokenizer.eos_token_id,
do_sample=True,
temperature=0.3,
max_new_tokens=100
)
output_only = tokenizer.decode(outputs[0][start_of_input:], skip_special_tokens=True)
print("output only: ", output_only)
# here's the fun part
try:
output_only = ast.literal_eval(llm_string_output)
print("success - converted to python dictionary automatically")
except:
print("fail - could not convert to python dictionary automatically - ", llm_string_output)
</details>
<details>
<summary>Using as Function Call in LLMWare</summary>
from llmware.models import ModelCatalog
slim_model = ModelCatalog().load_model("llmware/slim-ratings")
response = slim_model.function_call(text,params=["rating"], function="classify")
print("llmware - llm_response: ", response)
</details>
## Model Card Contact
Darren Oberst & llmware team
[Join us on Discord](https://discord.gg/MhZn5Nc39h)
|