# 2 модуль - Генератор парафраза на основе llama.cpp from openai import OpenAI class ParaphraseGenerator: """ Класс для использования генеративной модели на базе llama.cpp """ def __init__(self): self.client = OpenAI(base_url="http://127.0.0.1:8080", api_key="") def generate(self, srcText, entities): """ Генерация парафраза по промпту. Использование: generate(<исходный текст>, <сущности>) """ entityList = ', '.join(entity['text'] for entity in entities) # генерация списка выделенных сущностей prompt = 'Перефразируй следующий текст, сохранив все именованные сущности "' + entityList + '" в точности такими же, как в оригинале. ' \ 'Не изменяй эти фрагменты текста, не заменяй их синонимами, не переставляй слова внутри них. ' \ 'Можешь изменять грамматическую структуру предложения, порядок слов, использовать синонимы для' \ 'остальных частей текста, но именованные сущности должны остаться неизменными. Исходный текст: "' + srcText + '"' try: response = self.client.chat.completions.create( model = "", messages = [{"role": "user", "content": prompt}], temperature = 0.8, top_p = 0.95, max_tokens = 200 ) return response.choices[0].message.content except Exception as e: print(f"Ошибка генерации: {e}") return None