Skip to content

timkazy/RAG_assistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект по созданию персонального AI-помощника — Rag-ассистента.

Используется следующие технолоии:

  1. python 3.12.10 / pip 25.3
  2. uv - для установки зависимостей
uv add "name of dependens" # для добавления библиотеки
uv sync # проверяет ваши зависимости и устанавливает недостающие
  1. Ruff - линтер внедренный в uv для проверки кода и форматирования
uv tool run ruff check . # проверка кода
uv tool run ruff check --fix . # исправление ошибок
uv tool run ruff format . # форматирование
  1. streamlit - для фронтенда
  2. httpx - библиотека для отправки HTTP-запросов на языке Python
  3. Docker - для контейниризации
docker-compose down -v # Полная очистка (удаление данных и таблиц)

docker compose up --build # cобирает образы и запускает все контейнеры.
docker compose up -d # запуск в «фоновом» режиме

docker-compose up -d db # Если хотим запустить базу данных в докере, а fastapi локально
docker-compose up -d db test_db # db и test_db
  1. uvicorn - для запуска веб-сервера бэкенда
  2. FastAPI - для создания api uv add "fastapi[all]"
  3. Pydantic - для валидации данных входит в FastAPI
  4. SQLAlchemy 2.0 - ORM для удобной работы с БД на языке python
  5. PostgreSQL + pgvector - для базы данных
  6. psycopg2-binary - Это адаптер, который позволяет Python-приложениям подключаться к базе данных PostgreSQL.
  7. LangChain - для оркестрации RAG-цепочек (связка документа -> эмбеддинга -> LLM)
  8. LiteLLM ??? - для быстрой смены модели LLM
  9. PyTest - тестирование
  10. Nginx - для проксирования запросов
  11. Apache Airflow
  12. jose[cryptography]
  13. passlib[bcrypt]
  14. pydantic[email]
  15. Хэширование паролей bcrypt==4.3.0

Dev зависимости uv add --dev "pytest" "pytest-asyncio" "httpx" "pytest-cov" "asyncio"

Frontend

streamlit >=1.52.2

  1. streamlit-option-menu
  2. extra-streamlit-components

Работа с git

# Изменить последний коммит без редактирования оригинального сообщения 
git commit --amend --no-edit

Вывод всех файлов проекта кроме .venv и pycache

Get-ChildItem -Path "." -Recurse -File | Where-Object { $_.FullName -notmatch "\\(\.venv|__pycache__)\\" } | Select-Object FullName

Запуск проекта:

  1. Запуск database
docker-compose down -v # Полная очистка (удаление данных и таблиц)
docker-compose up -d db # Запуск только базы данных
  1. Запуск FastAPI
uv run python -m app.main # С проверкой зависимостей
uvicorn app.main:app --reload # 
  1. Запуск Streamlit
streamlit run app.py # Запуск Streamlit
uv run streamlit run app.py --server.runOnSave true # Автоматический перезапуск при сохранении app.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages