File size: 1,365 Bytes
9b5b26a
 
c19d193
0bbfd20
6aae614
9b5b26a
 
 
51dc433
 
0bbfd20
9b5b26a
51dc433
 
9b5b26a
51dc433
 
0bbfd20
51dc433
 
 
9b5b26a
 
 
0bbfd20
 
 
 
 
9b5b26a
 
 
51dc433
 
 
0bbfd20
 
51dc433
8c01ffb
c926290
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import requests
import pytz
import yaml
import os
from tools.final_answer import FinalAnswerTool
from Gradio_UI import GradioUI

@tool
def summarize_text(text: str, max_length: int = 130) -> str:
    """تلخيص النصوص باستخدام نموذج BART من Hugging Face
    
    Args:
        text: النص الأصلي المراد تلخيصه
        max_length: الحد الأقصى لطول الملخص (افتراضي: 130 كلمة)
    """
    try:
        API_URL = "https://api-inference.huggingface.co/models/facebook/bart-large-cnn"
        headers = {"Authorization": f"Bearer {os.environ['HF_TOKEN']}"}
        data = {
            "inputs": text,
            "parameters": {"max_length": max_length}

@tool
def get_current_time_in_timezone(timezone: str) -> str:
    """أداة لجلب الوقت الحالي في منطقة زمنية محددة.
    
    Args:
        timezone: سلسلة نصية تمثل منطقة زمنية صالحة (مثال: 'America/New_York').
    """
    try:
        tz = pytz.timezone(timezone)
        local_time = datetime.datetime.now(tz).strftime("%Y-%m-%d %H:%M:%S")
        final_answer,
        DuckDuckGoSearchTool(),
        image_generation_tool,
        summarize_text,
        get_current_time_in_timezone  # تأكد من إضافتها هنا
    ],
    max_steps=6,
    verbosity_level=1,