Update utils.py
Browse files
utils.py
CHANGED
|
@@ -20,7 +20,7 @@ from io import BytesIO
|
|
| 20 |
import urllib.parse
|
| 21 |
import tempfile
|
| 22 |
|
| 23 |
-
from transformers import pipeline, AutoModelForSeq2SeqLM, AutoTokenizer, AutoModelForCausalLM, GPTNeoForCausalLM, GPT2Tokenizer
|
| 24 |
from sentence_transformers import SentenceTransformer, util
|
| 25 |
from typing import List, Dict
|
| 26 |
|
|
@@ -152,12 +152,18 @@ EMBEDDING_MODELL = "sentence-transformers/all-mpnet-base-v2"
|
|
| 152 |
|
| 153 |
#Modell und Tokenizer, um die Summary über die relevanten Texte zu machen
|
| 154 |
#mögliche Modelle: "HuggingFaceH4/zephyr-7b-alpha" #"t5-small" #"meta-llama/Meta-Llama-3-8B-Instruct" #"mistralai/Mistral-7B-Instruct-v0.3" #"microsoft/Phi-3-mini-4k-instruct" #"HuggingFaceH4/zephyr-7b-alpha"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 155 |
HF_MODELL ="EleutherAI/gpt-neo-2.7B"
|
| 156 |
modell_rag = GPTNeoForCausalLM.from_pretrained(HF_MODELL)
|
| 157 |
tokenizer_rag = GPT2Tokenizer.from_pretrained(HF_MODELL)
|
| 158 |
tokenizer_rag.pad_token = tokenizer_rag.eos_token
|
| 159 |
|
| 160 |
-
"""
|
| 161 |
HF_MODELL = "microsoft/Phi-3-mini-4k-instruct"
|
| 162 |
# Laden des Modells und Tokenizers
|
| 163 |
modell_rag = AutoModelForCausalLM.from_pretrained(HF_MODELL)
|
|
@@ -438,7 +444,7 @@ def rag_chain(llm, prompt, retriever):
|
|
| 438 |
#für die Zusammenfassung
|
| 439 |
#############################################
|
| 440 |
#1. Alternative, wenn llm direkt übergeben....................................
|
| 441 |
-
answer = llm_chain2(prompt, combined_content)
|
| 442 |
|
| 443 |
#Formuliere die Eingabe für das Generierungsmodell
|
| 444 |
#input_text = f"frage: {prompt} kontext: {combined_content}"
|
|
@@ -448,6 +454,8 @@ def rag_chain(llm, prompt, retriever):
|
|
| 448 |
#3. Alternative: mit pipeline
|
| 449 |
#für summarizatiuon
|
| 450 |
#answer = llm(input_text,max_length=1024, min_length=150, do_sample=False)
|
|
|
|
|
|
|
| 451 |
|
| 452 |
# Erstelle das Ergebnis-Dictionary
|
| 453 |
result = {
|
|
|
|
| 20 |
import urllib.parse
|
| 21 |
import tempfile
|
| 22 |
|
| 23 |
+
from transformers import pipeline, AutoModelForSeq2SeqLM, AutoTokenizer, AutoModelForCausalLM, GPTNeoForCausalLM, GPT2Tokenizer, DistilBertTokenizer, DistilBertForQuestionAnswering
|
| 24 |
from sentence_transformers import SentenceTransformer, util
|
| 25 |
from typing import List, Dict
|
| 26 |
|
|
|
|
| 152 |
|
| 153 |
#Modell und Tokenizer, um die Summary über die relevanten Texte zu machen
|
| 154 |
#mögliche Modelle: "HuggingFaceH4/zephyr-7b-alpha" #"t5-small" #"meta-llama/Meta-Llama-3-8B-Instruct" #"mistralai/Mistral-7B-Instruct-v0.3" #"microsoft/Phi-3-mini-4k-instruct" #"HuggingFaceH4/zephyr-7b-alpha"
|
| 155 |
+
HF_MODELL = "distilbert-base-uncased-distilled-squad"
|
| 156 |
+
modell_rag = DistilBertForQuestionAnswering.from_pretrained(HF_MODELL)
|
| 157 |
+
tokenizer_rag = DistilBertTokenizer.from_pretrained(HF_MODELL)
|
| 158 |
+
qa_pipeline = pipeline("question-answering", model=modell_rag, tokenizer=tokenizer_rag)
|
| 159 |
+
|
| 160 |
+
|
| 161 |
+
"""
|
| 162 |
HF_MODELL ="EleutherAI/gpt-neo-2.7B"
|
| 163 |
modell_rag = GPTNeoForCausalLM.from_pretrained(HF_MODELL)
|
| 164 |
tokenizer_rag = GPT2Tokenizer.from_pretrained(HF_MODELL)
|
| 165 |
tokenizer_rag.pad_token = tokenizer_rag.eos_token
|
| 166 |
|
|
|
|
| 167 |
HF_MODELL = "microsoft/Phi-3-mini-4k-instruct"
|
| 168 |
# Laden des Modells und Tokenizers
|
| 169 |
modell_rag = AutoModelForCausalLM.from_pretrained(HF_MODELL)
|
|
|
|
| 444 |
#für die Zusammenfassung
|
| 445 |
#############################################
|
| 446 |
#1. Alternative, wenn llm direkt übergeben....................................
|
| 447 |
+
#answer = llm_chain2(prompt, combined_content)
|
| 448 |
|
| 449 |
#Formuliere die Eingabe für das Generierungsmodell
|
| 450 |
#input_text = f"frage: {prompt} kontext: {combined_content}"
|
|
|
|
| 454 |
#3. Alternative: mit pipeline
|
| 455 |
#für summarizatiuon
|
| 456 |
#answer = llm(input_text,max_length=1024, min_length=150, do_sample=False)
|
| 457 |
+
result = qa_pipeline(question=prompt, context=combined_content)
|
| 458 |
+
answer=result['answer']
|
| 459 |
|
| 460 |
# Erstelle das Ergebnis-Dictionary
|
| 461 |
result = {
|