networkbot / functions /chat.py
Adieva-15's picture
add текствоые опции и настройки сайта
f7ef4d6
Raw
History Blame Contribute Delete
2.14 kB
import os
from openai import OpenAI
HF_TOKEN=os.getenv("HF_TOKEN","")
print(f"HF_TOKEN exists: {bool(HF_TOKEN)}")
if not HF_TOKEN:
raise ValueError("Переменная окружения HF_TOKEN не установлена")
model_chat="zai-org/GLM-5.2:novita"
client = OpenAI(
base_url="https://router.huggingface.co/v1",
api_key=HF_TOKEN,
)
system_prompt=('Ты — дружелюбный собеседник. Отвечай кратко, по делу, живым русским языком.'
'Твои ответы — не более 512 символов (включая пробелы).'
'Избегай воды, повторов и вступлений. Говори суть.'
'Если вопрос сложный — дай один чёткий совет, а не лекцию.'
'Считай символы перед отправкой и ужимай ответ при превышении.')
def chat_with_agent(history, user_message):
if not history:
# Инициализируем историю с системным сообщением
history = [
{"role": "system", "content": system_prompt}
]
# Добавляем сообщение пользователя в историю
history.append({"role":"user","content":user_message})
try:
# Отправляем всю историю в модель
completion = client.chat.completions.create(
model=model_chat,
messages=history,
max_tokens=512,
temperature=0.7
)
# Получаем ответ ассистента
assistant_message = completion.choices[0].message
reply = assistant_message.content
# Добавляем ответ ассистента в историю
history.append({"role": "assistant", "content": reply})
return reply, history
except Exception as e:
error_mg=f'Error of API: {str(e)}'
history.append({'role':'assistant', 'content':error_mg})
return error_mg, history