Downloads · 30 days
225
9% of all-time downloads
RichardErkhov/mhenrichsen_-_context-aware-splitter-1b-gguf
mhenrichsen_-_context-aware-splitter-1b-gguf is a machine learning model from RichardErkhov. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
Downloads · 30 days
225
9% of all-time downloads
All-time downloads
2.5K
Public
Repo size
11.2 GB
Likes
0
Public
Click a slice to open those files.
.gguf13.2 GB · 100%
From the Hugging Face model README
Quantization made by Richard Erkhov.
context-aware-splitter-1b - GGUF
| Name | Quant method | Size |
|---|---|---|
| context-aware-splitter-1b.Q2_K.gguf | Q2_K | 0.4GB |
| context-aware-splitter-1b.Q3_K_S.gguf | Q3_K_S | 0.47GB |
| context-aware-splitter-1b.Q3_K.gguf | Q3_K | 0.51GB |
| context-aware-splitter-1b.Q3_K_M.gguf | Q3_K_M | 0.51GB |
| context-aware-splitter-1b.Q3_K_L.gguf | Q3_K_L | 0.55GB |
| context-aware-splitter-1b.IQ4_XS.gguf | IQ4_XS | 0.57GB |
| context-aware-splitter-1b.Q4_0.gguf | Q4_0 | 0.59GB |
| context-aware-splitter-1b.IQ4_NL.gguf | IQ4_NL | 0.6GB |
| context-aware-splitter-1b.Q4_K_S.gguf | Q4_K_S | 0.6GB |
| context-aware-splitter-1b.Q4_K.gguf | Q4_K | 0.62GB |
| context-aware-splitter-1b.Q4_K_M.gguf | Q4_K_M | 0.62GB |
| context-aware-splitter-1b.Q4_1.gguf | Q4_1 | 0.65GB |
| context-aware-splitter-1b.Q5_0.gguf | Q5_0 | 0.71GB |
| context-aware-splitter-1b.Q5_K_S.gguf | Q5_K_S | 0.71GB |
| context-aware-splitter-1b.Q5_K.gguf | Q5_K | 0.73GB |
| context-aware-splitter-1b.Q5_K_M.gguf | Q5_K_M | 0.73GB |
| context-aware-splitter-1b.Q5_1.gguf | Q5_1 | 0.77GB |
| context-aware-splitter-1b.Q6_K.gguf | Q6_K | 0.84GB |
| context-aware-splitter-1b.Q8_0.gguf | Q8_0 | 1.09GB |
license: apache-2.0 datasets:
7b model available here.
CAS is a text splitter for Retrieval Augmented Generation. It's trained on 12.3k danish texts with a token count of 13.4m.
CAS takes a text (str), reads and understands the contexts and then provides the best splits based on a defined word count.
It returns a dict with the keys:
from transformers import AutoTokenizer, TextStreamer, AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("mhenrichsen/context-aware-splitter-1b")
tokenizer = AutoTokenizer.from_pretrained("mhenrichsen/context-aware-splitter-1b")
streamer = TextStreamer(tokenizer, skip_special_tokens=True)
WORD_SPLIT_COUNT = 50
prompt_template = """### Instruction:
Din opgave er at segmentere en given tekst i separate dele, så hver del giver mening og kan læses uafhængigt af de andre. Hvis det giver mening, må der kan være et overlap mellem delene. Hver del skal ideelt indeholde {word_count} ord.
### Input:
{text}
### Response:
"""
artikel = """Kina er stærkt utilfreds med, at Tysklands udenrigsminister, Annalena Baerbock, har omtalt den kinesiske præsident Xi Jinping som en diktator.
- Bemærkningerne fra Tyskland er ekstremt absurde, krænker Kinas politiske værdighed alvorligt og er en åben politisk provokation, udtalte talsperson fra det kinesiske udenrigsministerium Mao Ning i går ifølge CNN.
Bemærkningen fra udenrigsminister Annalena Baerbock faldt i et interview om krigen i Ukraine med Fox News i sidste uge.
- Hvis Putin skulle vinde denne krig, hvilket signal ville det så sende til andre diktatorer i verden, som Xi, som den kinesiske præsident?, sagde hun.
Tysklands ambassadør i Kina, Patricia Flor, har som konsekvens af udtalelsen været til en kammeratlig samtale, oplyser det tyske udenrigsministerium til CNN."""
tokens = tokenizer(
prompt_template.format(text=artikel, word_count=WORD_SPLIT_COUNT),
return_tensors='pt'
)['input_ids']
# Generate output
generation_output = model.generate(
tokens,
streamer=streamer,
max_length = 8194,
eos_token_id = 29913
)
Example:
### Instruction:
Din opgave er at segmentere en given tekst i separate dele, så hver del giver mening og kan læses uafhængigt af de andre. Hvis det giver mening, må der kan være et overlap mellem delene. Hver del skal ideelt indeholde 50 ord.
### Input:
Munkebjerg er et overvejende middelklassekvarter beliggende i det centrale Odense Munkebjerg grænser op til Hunderup i vest, hvor det afgrænses af Hjallesevej, og byens centrum i nord. Kvarteret har status som et familievenligt boligkvarter med både lejligheder (i området omkring H.C Andersensgade) og parcelhuse som på og omkring Munkebjergvej og Munkebjergskolen. Socialdemokratiet står traditionelt set stærkt i området, som det også ses på resultaterne af stemmer afgivet ved valgstedet Munkebjergskolen fra folketingsvalget i 2011, hvor partiet fik 24,8% af stemmerne. Dog vinder partiet Venstre samt Det Radikale Venstre også bred opbakning i kvarteret med henholdsvis 20,7 og 12,6% af stemmerne ligeledes fra valget i 2011. De fleste af kvarterets børn går på den lokale Munkebjergskolen, mens enkelte går på Odense Friskole og/eller Giersings Realskole. Munkebjergkvarteret er desuden hjemsted for fodboldklubben OKS. Munkebjergkvarteret kaldes i dagligtale for "Munken".
### Response:
This returns the following dictionary:
{'splits': ['Munkebjerg er et overvejende middelklassekvarter beliggende i det centrale Odense. Munkebjerg grænser op til Hunderup i vest, hvor det afgrænses af Hjallesevej, og byens centrum i nord. Kvarteret har status som et familievenligt boligkvarter med både lejligheder (i området omkring H.C Andersensgade) og parcelhuse som på og omkring Munkebjergvej og Munkebjergskolen.', 'Socialdemokratiet står traditionelt set stærkt i området, som det også ses på resultaterne af stemmer afgivet ved valgstedet Munkebjergskolen fra folketingsvalget i 2011, hvor partiet fik 24,8% af stemmerne. Dog vinder partiet Venstre samt Det Radikale Venstre også bred opbakning i kvarteret med henholdsvis 20,7 og 12,6% af stemmerne ligeledes fra valget i 2011.', "De fleste af kvarterets børn går på den lokale Munkebjergskolen, mens enkelte går på Odense Friskole og/eller Giersings Realskole. Munkebjergkvarteret er desuden hjemsted for fodboldklubben OKS. Munkebjergkvarteret kaldes i dagligtale for 'Munken'."], 'topic': 'Beskrivelse af Munkebjergkvarteret i Odense.'}
The model follows alpaca format.
### Instruction:
Din opgave er at segmentere en given tekst i separate dele, så hver del giver mening og kan læses uafhængigt af de andre. Hvis det giver mening, må der kan være et overlap mellem delene. Hver del skal ideelt indeholde {WORD_COUNT} ord.
### Input:
{TEXT}
### Response: