Spaces:
Running
Running
# agents.py | |
from crewai import Agent | |
from langchain.tools import Tool | |
from utils import create_uae_legal_tools | |
from config import get_ai_config | |
from ai_providers import AIProviderFactory | |
def get_base_llm_config(): | |
"""Get LLM configuration based on current settings""" | |
ai_config = get_ai_config() | |
return { | |
"api_key": ai_config["api_key"], | |
"model": ai_config["model"], | |
"temperature": ai_config["temperature"], | |
"max_tokens": ai_config["max_tokens"], | |
"top_p": ai_config["top_p"], | |
"request_timeout": 300, | |
"model_kwargs": { | |
"provider": "groq" | |
} | |
} | |
def create_judge_agent(): | |
config = get_base_llm_config() | |
return Agent( | |
role='قاضي قانوني إماراتي', | |
goal='تقديم أحكام وتفسيرات قانونية دقيقة بناءً على القانون الإماراتي', | |
backstory=""" | |
أنت قاضٍ متمرس في النظام القانوني الإماراتي مع خبرة تزيد عن 20 عاماً | |
ومعرفة عميقة بالقوانين واللوائح والسوابق القانونية الإماراتية. | |
دورك هو تحليل القضايا وتقديم أحكام عادلة ومسببة بناءً على القانون الإماراتي، | |
مع التركيز على تطبيق أحدث التشريعات والأحكام القضائية. | |
""", | |
verbose=True, | |
allow_delegation=False, | |
llm_config={ | |
"config_list": [config], | |
"request_timeout": 300, | |
"seed": 42, | |
"temperature": config["temperature"], | |
"model": config["model"] | |
}, | |
tools=create_uae_legal_tools() | |
) | |
def create_advocate_agent(): | |
config = get_base_llm_config() | |
return Agent( | |
role='محامي إماراتي', | |
goal='تقديم التمثيل القانوني والمشورة المتخصصة بناءً على القانون الإماراتي', | |
backstory=""" | |
أنت محامٍ ماهر في الإمارات العربية المتحدة مع خبرة 15 عاماً في مختلف | |
مجالات القانون الإماراتي. تخصصت في قضايا المحاكم الاتحادية والمحلية، | |
ولديك سجل حافل في تمثيل العملاء بنجاح. | |
""", | |
verbose=True, | |
allow_delegation=False, | |
llm_config={ | |
"config_list": [config], | |
"request_timeout": 300, | |
"seed": 42, | |
"temperature": config["temperature"], | |
"model": config["model"] | |
}, | |
tools=create_uae_legal_tools() | |
) | |
def create_consultant_agent(): | |
config = get_base_llm_config() | |
return Agent( | |
role='مستشار قضائي إماراتي', | |
goal='تقديم الاستشارات والتوجيه القانوني المتخصص في القانون الإماراتي', | |
backstory=""" | |
أنت مستشار قضائي متمرس مع خبرة 18 عاماً ومعرفة شاملة بالنظام القانوني | |
والإجراءات القضائية في الإمارات العربية المتحدة. تخصصت في تقديم الاستشارات | |
للمؤسسات والأفراد، مع التركيز على الحلول العملية والوقائية. | |
""", | |
verbose=True, | |
allow_delegation=False, | |
llm_config={ | |
"config_list": [config], | |
"request_timeout": 300, | |
"seed": 42, | |
"temperature": config["temperature"], | |
"model": config["model"] | |
}, | |
tools=create_uae_legal_tools() | |
) |