Ридме
Этот Readme обычно документирует любые шаги, необходимые для того, чтобы поднять и запустить ваше приложение.
Технологический стек
- Python 3.9
- FASTAPI
- faiss-cpu == 1.7.4
- Langchain == 0,0,207
- Pinecone-Client
- PGVector
Сторонние интеграции
- SendGrid - отправка электронных писем
- YouTube-Transcript-API-получение текстового URL-адреса YouTube
- docx2txt - получение текста из файла docx
- PYPDF - получение текста из файла PDF
- Selenium -обеспечивающий текст из файла URL -адреса
- Другие загрузчики документов и анализ данных
Настройка проекта
Установите зависимости в файлах требований
- PIP установка -R TEDS.TXT
Добавить OpenAI и другой ключ API в файле env
См. Sample.env для имен переменных и используйте Backend.env в качестве фактического файла env
Настройте постоянные переменные в constant.py в соответствии с вашим вариантом использования
Векторная конфигурация базы данных:
- Настройте приложение в соответствии с вашей векторной базой данных
Дополнительные рекомендации:
- Измените, как данные анализируются в соответствии с вашим пользовательским требованием
- Измените постоянные переменные в соответствии с вариантами использования
- Измените код шаблона для конкретных вариантов использования вашего проекта
функции
- конечные точки и утилиты для общих функций
- Создание векторных встроений - из видео YouTube, HTML -страницы, SiteMeaps, URL, PDF, DOCX, JSON, текстового файла, CSV или реляционной базы данных
- Вопрос и ответ на основе пользовательских данных с точными источниками
- Количество токенов и токен превысили обработку ошибок с помощью Tiktoken
- Различная поддержка вектора БД для разных конечных точек
будущее улучшение
- Поточить отклик Openai в реальном времени
- Добавить некоторые утилиты функции и улучшить функциональность существующих.
- Сделайте код более модульным и настраиваемым
IDE
- Пичам
- Против кода
- Возвышенный текст
Настройка проекта
- Резюме настройки
- Конфигурация
- Зависимости
- Конфигурация базы данных
- Как запустить тесты
- Инструкции по развертыванию
Конвенции кодирования
- PEP8
- Напишите модульный и настраиваемый код
- НЕ размещайте комментированный код или неиспользованный импорт в основной код
- Абсолютный импорт должен использоваться вместо относительного импорта
- Использование F-стенков вместо .format () или %s
- Имена классов должны быть в Camelcase
- Имена функций и имена переменных должны быть в snake_case
- Использование подсказков типа
- Использование Docstrings
- Использование журнала
Руководящие принципы вклада
- Письменные тесты
- Обзор кода
- Другие руководящие принципы
Redis Integation
- Установите Redis: Pip установить Redis aioredis
- Заморозить требования: PIP FREEZE> TEDING.TXT
- Добавить redis_host_url в .env file
- Экземпляр Redis создан в файле main.py, в событии on_startup
Интеграция сельдерея
- Установите сельдерей: PIP установить сельдерей
- Заморозить требования: PIP FREEZE> TEDING.TXT
- Добавить celery_broker_url в .env file
- Экземпляр сельдерея создается в модуле Core, в celery_app
- Задачи сельдерея создаются в рабочем модуле в корневом каталоге
- Работник сельдерея начинается с использованием команды: сельдерей -A App.worker Worker -l Info -c 1
Сельдерея бит интеграция
- Установите сельдерей: PIP установить сельдерей
- Заморозить требования: PIP FREEZE> TEDING.TXT
- Экземпляр Beat Celerery создан в работником модуле в корневом каталоге
- При добавлении новых задач добавьте их в работник модуль в корневом каталоге с запланированным временем в секундах
- Бэт сельдерея начинается с использованием команды: сельдерей -A App.worker Beat -l Информация
Сентри интеграция
- Установите Sentry SDK: PIP установка Sentry-SDK
- Заморозить требования: PIP FREEZE> TEDING.TXT
- Экземпляр Sentry создается в файле main.py