Views
No views yet
### Anweisung:
Analysiere ob der gegebene Satz dem Artikel treu ist. Wenn der Satz ausschließlich Informationen wiedergibt, die direkt aus dem Artikel stammen, ohne jegliche Ergänzungen oder Weglassungen, antworte mit 'Faithful'. Wenn der Satz Informationen enthält, die im direkten Widerspruch zum Artikel stehen, antworte mit 'Intrinsic Hallucination'. Wenn der Satz Informationen oder Details einführt, die im Artikel selbst nicht ausdrücklich erwähnt werden, antworte mit 'Extrinsic Hallucination'. Gib zuerst ein kurze Erklärung ob der Satz treu ist oder nicht und danach das entsprechende Label.
Artikel: {article}
Satz: {sentence}
### Erklärung und Label:pip3 install vllm1from typing import List, Dict
2import torch
3from transformers import pipeline
4from vllm import SamplingParams, LLM
5
6def generate_prompts_for_generation(prompt_template: str, article: str, summary_sentences: List[str]) -> List[str]:
7 prompts = []
8 for sentence in summary_sentences:
9 prompts.append(prompt_template.format(article=article, sentence=sentence))
10 return prompts
11
12def predict_with_vllm(prompts: List[str], model_name: str, max_context_length: int = 4096, max_gen_length: int = 256,
13 quantization: str = None):
14 sampling_params = SamplingParams(max_tokens=max_gen_length, skip_special_tokens=True, temperature=0.0)
15
16 llm = LLM(model=model_name, max_model_len=max_context_length, quantization=quantization)
17 completions = llm.generate(prompts, sampling_params) # Batch inference
18 predictions = [output.text for completion in completions for output in completion.outputs]
19 return predictions
20
21def main():
22
23 model_name = "mtc/LeoLM-leo-mistral-hessianai-7b-classification-with-mixtral-explanation-3-epochs-finetuned-AWQ"
24 # Prompts longer than 4096 tokens will be truncated
25 max_context_length = 4096
26
27 article = "Ein neuer Zirkus ist gestern in Zürich angekommen. Viele Familien besuchten das große Zelt, um die Vorstellung zu sehen. Es gab Akrobaten, Clowns und Tiere, die das Publikum begeisterten. Der Zirkus bleibt noch eine Woche in der Stadt und bietet täglich Vorstellungen an."
28
29 summary_sentences = [
30 "Ein Zirkus ist in Basel angekommen.",
31 "Der Zirkus, der in 1950 gegründet wurde, wird von vielen Familien besucht."]
32
33 prompt_template = """### Anweisung:
34Analysiere ob der gegebene Satz dem Artikel treu ist. Wenn der Satz ausschließlich Informationen wiedergibt, die direkt aus dem Artikel stammen, ohne jegliche Ergänzungen oder Weglassungen, antworte mit 'Faithful'. Wenn der Satz Informationen enthält, die im direkten Widerspruch zum Artikel stehen, antworte mit 'Intrinsic Hallucination'. Wenn der Satz Informationen oder Details einführt, die im Artikel selbst nicht ausdrücklich erwähnt werden, antworte mit 'Extrinsic Hallucination'. Gib zuerst ein kurze Erklärung ob der Satz treu ist oder nicht und danach das entsprechende Label.
35Artikel: {article}
36Satz: {sentence}
37
38### Erklärung und Label:"""
39
40
41 max_gen_length = 256
42 prompts = generate_prompts_for_generation(prompt_template=prompt_template, article=article, summary_sentences=summary_sentences)
43 predictions = predict_with_vllm(prompts=prompts, model_name=model_name, max_context_length=max_context_length,
44 max_gen_length=max_gen_length, quantization="AWQ")
45 print(predictions)
46['\nErklärung:Der Satz ist falsch, da der Artikel über einen Zirkus in Zürich spricht, nicht in Basel.\nLabel:Intrinsic Hallucination',
'\nErklärung:Der Satz ist nicht im Artikel enthalten. Es wird zwar erwähnt, dass der Zirkus viele Familien besucht, aber nicht, dass er 1950 gegründet wurde.\nLabel:Extrinsic Hallucination']
bitsandbytes quantization config was used during training: