Alex Zerocoder
Deploy 2MOOD AI Workspace (Feedback + Messenger + KB)
851f3c6
from openai import OpenAI
from app.config import OPENAI_API_KEY
class ChatEngine:
def __init__(self):
self.client = OpenAI(api_key=OPENAI_API_KEY) if OPENAI_API_KEY else None
def answer(self, user_text: str, context: str = "") -> str:
# fallback, если ключа нет
if not self.client:
return "⚠️ OPENAI_API_KEY не задан. (Пилотный режим) Ваш вопрос: " + user_text
system = (
"Ты ассистент 2MOOD. Отвечай кратко и по делу. "
"Если дан контекст из базы знаний — опирайся на него и добавляй ссылки на источники (имя файла). "
"Если контекста нет — скажи, что в базе знаний не найдено подтверждение, и предложи уточнить."
)
user = f"Вопрос: {user_text}\n\nКонтекст из базы знаний:\n{context or '(нет)'}"
resp = self.client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": system},
{"role": "user", "content": user},
],
temperature=0.2,
)
return resp.choices[0].message.content.strip()