case_study / utils.py
GurgenGulay's picture
Update utils.py
994d057 verified
raw
history blame
2.05 kB
from transformers import pipeline
# Pipeline'ı global olarak oluşturuyoruz
pipe = pipeline("translation", model="google-t5/t5-base", device="cpu")
def split_text_into_chunks(text, chunk_size=1000):
"""
Metni belirli sayıda kelimelik parçalara böler.
"""
words = text.split()
chunks = []
for i in range(0, len(words), chunk_size):
chunk = ' '.join(words[i:i+chunk_size])
chunks.append(chunk)
return chunks
def generate_lesson_from_chunks(chunks):
"""
Modeli her parça için çalıştırıp sonucu döndüren fonksiyon.
"""
generated_texts = []
for chunk in chunks:
generated_text = pipe(chunk, max_length=500)[0]['generated_text']
generated_texts.append(generated_text)
return ' '.join(generated_texts)
def process_large_text(text):
"""
Büyük metni işleyecek ve sonucu döndürecek fonksiyon.
"""
chunks = split_text_into_chunks(text, chunk_size=1000)
generated_text = generate_lesson_from_chunks(chunks)
return generated_text
text_analysis.py
from transformers import pipeline
# Modeli bir kez yükleyip her seferinde yeniden yüklememek için global değişken kullanabiliriz.
pipe = pipeline("translation", model="google-t5/t5-base", device="cpu")
pipe.model.config.pad_token_id = pipe.tokenizer.eos_token_id # pad_token_id ayarı
def generate_lesson_from_transcript(doc_text):
"""
Metin girişinden ders anlatımı üretir ve çıktı olarak metin ile dosya döndürür.
"""
try:
generated_text = pipe(doc_text, max_length=100, truncation=True)[0]['generated_text']
output_path = "/tmp/generated_output.txt" # Web ortamında /tmp gibi geçici bir dizin kullanabilirsiniz
with open(output_path, "w") as file:
file.write(generated_text)
return generated_text, output_path
except Exception as e:
# Hata mesajını daha ayrıntılı yazdırabiliriz.
print(f"Bir hata oluştu: {str(e)}")
return "Bir hata oluştu", None