/
obuxxxov
/
CodeForge
Обзор
Документация
Войти
/
obuxxxov
/
CodeForge
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
comb
analyzer/makes_theme.py
72 строки
4 KB
ObliInSe
start
18 авг 2025, 00:31
18 авг 2025, 00:31
0671f4e
Код
Авторство
О чём код?
import pandas as pd from gigachat import GigaChat from gigachat.models import Chat, Messages, MessagesRole # === Загружаем Excel === df = pd.read_excel("competency_analysis.xlsx") # === GigaChat токен === TOKEN = "OGJkZGMyYWEtYzBmNC00N2E5LTg3MmMtMGFlMjBmMzFkY2I2OmQ4YTVjNDc0LTZkNzctNGIxYi1iOTJmLWYxYmNjMWI3MzY0ZA==" # === Подключаемся === giga = GigaChat(credentials=TOKEN, verify_ssl_certs=False) # === Функция получения тем для обучения === def get_learning_topics(problem_text): if (pd.isna(problem_text)) or (problem_text.strip() == 'nan' or (problem_text is None)): return '' prompt = f""" Ты — эксперт по разработке матриц компетенций программистов с опытом создания индивидуальных планов развития. АНАЛИЗ ВХОДНЫХ ДАННЫХ: Описание слабых мест сотрудника: {problem_text} ЗАДАЧА: Создай список из 1-4 конкретных тем для изучения, которые помогут сотруднику закрыть выявленные пробелы в компетенциях. ТРЕБОВАНИЯ К РЕЗУЛЬТАТУ: 1. Максимум 4 темы 2. Каждая тема должна быть конкретной и измеримой 3. Избегай общих формулировок типа "изучить Python" - вместо этого "Асинхронное программирование в Python с asyncio" 4. Темы должны быть практико-ориентированными 5. Учитывай, что по этим темам будут искаться конкретные упражнения и материалы 6. НЕ добавляй никаких ссылочных маркеров типа [1], [2], [3], [1-2] или подобных! 7. НЕ используй JSON формат! 8. Возвращай только чистый текст без номерных ссылок и маркеров! ФОРМАТ ВЫВОДА (простой список через запятую): Название темы 1, Название темы 2, Название темы 3, Название темы 4 ПРИМЕРЫ ХОРОШИХ ТЕМ: - "SQL JOIN операции и оптимизация запросов" вместо "изучить SQL" - "Работа с Git: ветвление, слияние, разрешение конфликтов" вместо "изучить Git" - "Архитектурные паттерны: MVC, Repository, Factory" вместо "изучить архитектуру" ПРИМЕРЫ ПРАВИЛЬНОГО ФОРМАТА ОТВЕТА: "Асинхронное программирование в Python с asyncio, SQL JOIN операции и оптимизация запросов, Работа с Git: ветвление и слияние" ВАЖНО: - НЕ добавляй [1], [2] или любые другие ссылочные маркеры! - НЕ используй JSON, скобки {{}} или []! - Только простой текст через запятую! """ payload = Chat( messages=[ Messages(role=MessagesRole.SYSTEM, content="Ты помогаешь формировать список тем для изучения. Отвечай ТОЛЬКО простым текстом через запятую, БЕЗ JSON, БЕЗ ссылочных маркеров [1], [2]!"), Messages(role=MessagesRole.USER, content=prompt) ], temperature=0.2, max_tokens=300 ) response = giga.chat(payload) return response.choices[0].message.content # === Обработка файла === df["Темы для изучения"] = df["Проблемные темы"].apply(lambda x: get_learning_topics(str(x))) # === Сохраняем результат === df.to_excel("competency_with_learning_topics.xlsx", index=False) print("Готово. Результат сохранён в competency_with_learning_topics.xlsx")