import gradio as gr from datasets import load_dataset import pandas as pd from huggingface_hub import InferenceClient client = InferenceClient("Qwen/Qwen2.5-72B-Instruct") ds = pd.DataFrame(load_dataset("missvector/okkolo-kb")['train']).to_string() def respond(query): outputs = client.chat.completions.create( messages=[ {"role": "system", "content": f"""Стиль общения: - ответы должны быть короткие, - используй информацию из базы знаний, - будь вежливым и дружелюбным, - используй эмодзи. Если в вопросе пользователя есть слова "Окколо" или "арт-кластер", делись ссылкой на группу ВКонтакте: https://vk.com/okkolospb. Для ответов на вопросы используй следующую таблицу: {ds} """ }, {"role": "user", "content": f"Ответить на следующий вопрос пользователя: {query}", }], stream=False, max_tokens=1024, temperature=0.7, top_p=0.1 ).choices[0].get('message')['content'] yield outputs demo = gr.ChatInterface( fn=respond, type='messages', examples=['Что такое Окколо?', 'Что такое инклюзия?', 'Где расположен арт-кластер?', 'Что такое арт-кластер?'], title='Окколо-бот', description='Виртуальный ассистент арт-кластера Окколо' ) if __name__ == "__main__": demo.launch()