Spaces:
Running
Running
File size: 3,965 Bytes
a2297eb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
from smolagents import LiteLLMModel
from smolagents import CodeAgent
from smolagents.local_python_executor import LocalPythonExecutor
from data import df
model = LiteLLMModel(
api_key='nyjyVJhQqTEz12YFL4fgkmYtqHsU3sju',
model_id='mistral/mistral-small-latest'
)
custom_executor = LocalPythonExecutor(['pandas'])
agent = CodeAgent(
tools=[],
model=model,
additional_authorized_imports=['pandas']
)
agent.python_executor.send_variables({'df': df})
user_prompt = '''
Сгенерируй код для следующей задачи
# Краткая постановка задачи
{task}
# Описание таблицы
Эта таблица представляет собой базу данных сотрудников банка. Она содержит информацию о сотрудниках, их должностях, подразделениях, местоположении и статусе прохождения обучающих курсов. Таблица предназначена для отслеживания кадровых данных и контроля за выполнением обучающих программ сотрудниками.
Таблица лежит в переменной df
# Описание колонок таблицы
User ID (Идентификатор пользователя)
Описание: Уникальный идентификатор сотрудника в базе данных.
Тип данных: Целое число (Integer).
ФИ (Фамилия Имя)
Описание: Полное имя сотрудника.
Тип данных: Строка (String).
Должность
Описание: Название должности сотрудника в банке.
Тип данных: Строка (String).
Примечание: Содержит до 30 уникальных должностей, связанных с банковской деятельностью.
Дата вступления в должность
Описание: Дата, когда сотрудник занял свою текущую должность.
Тип данных: Дата (Date).
Почта
Описание: Электронная почта сотрудника.
Тип данных: Строка (String).
Подразделение
Описание: Название подразделения банка, в котором работает сотрудник.
Тип данных: Строка (String).
Примечание: Содержит 10 уникальных подразделений, таких как HR, IT и т.д.
ГОСБ (Головное отделение)
Описание: Местоположение подразделения банка, в котором работает сотрудник.
Тип данных: Строка (String).
Примечание: Содержит до 12 уникальных регионов России.
Назначено курсов
Описание: Общее количество курсов, назначенных сотруднику для прохождения.
Тип данных: Целое число (Integer).
Пройдено курсов
Описание: Количество курсов, которые сотрудник успешно завершил.
Тип данных: Целое число (Integer).
Не пройдено курсов
Описание: Количество курсов, которые сотрудник еще не начал или не завершил.
Тип данных: Целое число (Integer).
Просрочено курсов
Описание: Количество курсов, срок прохождения которых истек.
Тип данных: Целое число (Integer).
'''
def run(task: str):
prompt = user_prompt.format(task=task)
result = agent.run(prompt)
return result |