import json import os import requests # Основные настройки OLLAMA_URL = "http://localhost:11434/api/generate" MODEL_NAME = "qwen3:30b-a3b" # Имя модели в Ollama def generate_breed_description(breed): """Генерирует описание породы с помощью Ollama""" prompt = f"""Создай подробное и структурированное описание породы собаки {breed}, включая следующие разделы: 1. Происхождение и история породы 2. Физические характеристики (размер, вес, тип шерсти) 3. Характер и поведение (темперамент, уровень энергии, совместимость с детьми и другими животными, насколько опасна без тренировок) 4. Интеллект, способность к обучению, необходимость умственных нагрузок 5. Уход и содержание (необходимость в гигиене, тренировках, физической активности) 6. Потенциальные проблемы со здоровьем и продолжительность жизни 7. Рекомендуемое питание и режим кормления 8. Выводы кому подходит такая порода Описание должно быть понятным для владельцев, с четкой структурой и полезной информацией.""" response = requests.post(OLLAMA_URL, json={"model": MODEL_NAME, "prompt": prompt, "stream": False}) if response.status_code == 200: return response.json().get("response", "Не удалось получить описание") else: return f"Ошибка при генерации описания для {breed}" def save_description(breed, description): """Сохраняет описание в файл""" os.makedirs("breed_descriptions", exist_ok=True) filename = f"breed_descriptions/{breed}.txt" with open(filename, "w", encoding="utf-8") as f: f.write(description) print(f"Сохранено: {filename}") def main(): with open("../../labels_dogs.json") as f: beers = json.load(f) for key in beers: name = beers[key].replace("_", " ") print(f"Генерация описания для {name}...") if os.path.isfile(f"breed_descriptions/{beers[key]}.txt"): print(f"Описание уже существует: {beers[key]}.") continue description = generate_breed_description(name) save_description(beers[key], description) if __name__ == "__main__": main()