Простой помощник для студентов на базе LLM и FastAPI.
Для управления зависимостями в проекте используется uv.
- Установите
uv, если он ещё не установлен. - Склонируйте репозиторий.
- Установите зависимости:
uv sync
- Создайте файл
.envв корне проекта или задайте переменную окружения:OPENAI_API_KEY=your_api_key_here
- Настройки моделей, ролей и шаблонов находятся в
config.yml.
Для запуска сервера используйте команду:
uv run fastapi devСервер будет доступен по адресу: http://127.0.0.1:8000
Интерактивная документация API (Swagger UI): http://127.0.0.1:8000/docs
Демо-страница (Веб-интерфейс): http://127.0.0.1:8000/demo
В проекте есть скрипт main.py для быстрой проверки работы (через TestClient):
uv run main.pyВы можете отправить POST-запрос на эндпоинт /ask:
curl -X 'POST' \
'http://127.0.0.1:8000/ask' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'role=math_tutor&template=tutor_quick_answer&question=Что такое число Пи?'role: Роль ассистента (math_tutor,history_tutor).template: Шаблон ответа (tutor_full_answer,tutor_quick_answer).question: Ваш вопрос.