Arabic_EduGuide_Bot / chat_service.py
aamirali13's picture
Upload 7 files
23b8b85 verified
# chat_service.py
import re
from groq import Groq
from typing import List, Dict, Optional
class ChatService:
def __init__(self, api_key: str):
self.client = Groq(api_key=api_key)
def get_groq_response(self, messages: List[Dict[str, str]]) -> str:
chat_completion = self.client.chat.completions.create(
messages=messages,
model="llama3-8b-8192",
temperature=0.7,
max_tokens=1000,
)
return chat_completion.choices[0].message.content
@staticmethod
def is_arabic(text: str) -> bool:
arabic_pattern = re.compile(r"[\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF]+")
return bool(arabic_pattern.search(text))
@staticmethod
def get_chat_preview(chat: List[Dict[str, str]]) -> str:
for message in chat:
if message["role"] == "user":
return (
message["content"][:30] + "..."
if len(message["content"]) > 30
else message["content"]
)
return "دردشة جديدة"