Freddolin's picture
Update agent.py
c3c803a verified
raw
history blame
1.4 kB
from transformers import pipeline
from tools.asr_tool import transcribe_audio
from tools.excel_tool import analyze_excel
from tools.search_tool import search_duckduckgo
import mimetypes
class GaiaAgent:
def __init__(self):
print("Loading model...")
self.model = pipeline(
"text2text-generation",
model="MBZUAI/LaMini-Flan-T5-783M",
tokenizer="MBZUAI/LaMini-Flan-T5-783M"
)
print("Model loaded.")
def __call__(self, query):
trace = ""
final_answer = ""
# Försök identifiera om det är en filreferens
if isinstance(query, str) and (query.endswith(".mp3") or query.endswith(".wav")):
trace = "Detected audio file. Transcribing..."
final_answer = transcribe_audio(query)
elif isinstance(query, str) and (query.endswith(".xls") or query.endswith(".xlsx")):
trace = "Detected Excel file. Analyzing..."
final_answer = analyze_excel(query)
elif "http" in query:
trace = "Detected URL or web reference. Performing search..."
final_answer = search_duckduckgo(query)
else:
trace = "General question. Using local model..."
output = self.model(query, max_new_tokens=128)
final_answer = output[0]["generated_text"].strip()
return final_answer, trace