updated poetry.lock

This commit is contained in:
Saurab-Shrestha 2024-01-30 15:16:49 +05:45
parent 2108d6d1ec
commit bca9175a59
23 changed files with 2009 additions and 1742 deletions

5
.env
View File

@ -3,7 +3,8 @@ ENVIRONMENT=dev
DB_HOST=localhost
DB_USER=postgres
DB_PASSWORD=quick
DB_PORT=5432
DB_PASSWORD=admin
DB_NAME=QuickGpt
SUPER_ADMIN_EMAIL=superadmin@email.com
@ -11,7 +12,7 @@ SUPER_ADMIN_PASSWORD=supersecretpassword
SUPER_ADMIN_ACCOUNT_NAME=superaccount
SECRET_KEY=ba9dc3f976cf8fb40519dcd152a8d7d21c0b7861d841711cdb2602be8e85fd7c
ACCESS_TOKEN_EXPIRE_MINUTES=60
ACCESS_TOKEN_EXPIRE_MINUTES=60
REFRESH_TOKEN_EXPIRE_MINUTES = 120 # 7 days

View File

View File

@ -1,38 +0,0 @@
"""Created a relationships based on company
Revision ID: 6f93f0d1defb
Revises: 6f3cc13e1339
Create Date: 2024-01-20 15:46:13.093101
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = '6f93f0d1defb'
down_revision: Union[str, None] = '6f3cc13e1339'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('user_roles', sa.Column('company_id', sa.Integer(), nullable=True))
# op.create_unique_constraint('unique_user_role', 'user_roles', ['user_id', 'role_id', 'company_id'])
op.create_foreign_key(None, 'user_roles', 'companies', ['company_id'], ['id'])
op.add_column('users', sa.Column('company_id', sa.Integer(), nullable=True))
op.create_foreign_key(None, 'users', 'companies', ['company_id'], ['id'])
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.drop_constraint(None, 'users', type_='foreignkey')
op.drop_column('users', 'company_id')
op.drop_constraint(None, 'user_roles', type_='foreignkey')
# op.drop_constraint('unique_user_role', 'user_roles', type_='unique')
op.drop_column('user_roles', 'company_id')
# ### end Alembic commands ###

View File

@ -1,8 +1,8 @@
"""Create user, roles, user roles, subscription and company model
"""Create models
Revision ID: 6f3cc13e1339
Revision ID: 864a15f1ee0a
Revises:
Create Date: 2024-01-18 12:33:39.002575
Create Date: 2024-01-29 15:34:21.797387
"""
from typing import Sequence, Union
@ -12,7 +12,7 @@ import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = '6f3cc13e1339'
revision: str = '864a15f1ee0a'
down_revision: Union[str, None] = None
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
@ -26,7 +26,7 @@ def upgrade() -> None:
sa.PrimaryKeyConstraint('id')
)
op.create_index(op.f('ix_companies_id'), 'companies', ['id'], unique=False)
op.create_index(op.f('ix_companies_name'), 'companies', ['name'], unique=False)
op.create_index(op.f('ix_companies_name'), 'companies', ['name'], unique=True)
op.create_table('roles',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('name', sa.String(length=100), nullable=True),
@ -35,18 +35,6 @@ def upgrade() -> None:
)
op.create_index(op.f('ix_roles_id'), 'roles', ['id'], unique=False)
op.create_index(op.f('ix_roles_name'), 'roles', ['name'], unique=False)
op.create_table('users',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('email', sa.String(length=225), nullable=False),
sa.Column('hashed_password', sa.String(), nullable=False),
sa.Column('fullname', sa.String(length=225), nullable=False),
sa.Column('is_active', sa.Boolean(), nullable=True),
sa.Column('last_login', sa.DateTime(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.PrimaryKeyConstraint('id'),
sa.UniqueConstraint('email')
)
op.create_table('subscriptions',
sa.Column('sub_id', sa.Integer(), nullable=False),
sa.Column('company_id', sa.Integer(), nullable=True),
@ -56,13 +44,31 @@ def upgrade() -> None:
sa.PrimaryKeyConstraint('sub_id')
)
op.create_index(op.f('ix_subscriptions_sub_id'), 'subscriptions', ['sub_id'], unique=False)
op.create_table('users',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('email', sa.String(length=225), nullable=False),
sa.Column('hashed_password', sa.String(), nullable=False),
sa.Column('fullname', sa.String(length=225), nullable=False),
sa.Column('is_active', sa.Boolean(), nullable=True),
sa.Column('last_login', sa.DateTime(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('company_id', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['company_id'], ['companies.id'], ),
sa.PrimaryKeyConstraint('id'),
sa.UniqueConstraint('email'),
sa.UniqueConstraint('fullname'),
sa.UniqueConstraint('fullname', name='unique_username_no_spacing')
)
op.create_table('user_roles',
sa.Column('user_id', sa.Integer(), nullable=False),
sa.Column('role_id', sa.Integer(), nullable=False),
sa.Column('company_id', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['company_id'], ['companies.id'], ),
sa.ForeignKeyConstraint(['role_id'], ['roles.id'], ),
sa.ForeignKeyConstraint(['user_id'], ['users.id'], ),
sa.PrimaryKeyConstraint('user_id', 'role_id'),
sa.UniqueConstraint('user_id', 'role_id', name='unique_user_role')
sa.PrimaryKeyConstraint('user_id', 'role_id', 'company_id'),
sa.UniqueConstraint('user_id', 'role_id', 'company_id', name='unique_user_role')
)
# ### end Alembic commands ###
@ -70,9 +76,9 @@ def upgrade() -> None:
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.drop_table('user_roles')
op.drop_table('users')
op.drop_index(op.f('ix_subscriptions_sub_id'), table_name='subscriptions')
op.drop_table('subscriptions')
op.drop_table('users')
op.drop_index(op.f('ix_roles_name'), table_name='roles')
op.drop_index(op.f('ix_roles_id'), table_name='roles')
op.drop_table('roles')

View File

@ -1,34 +0,0 @@
"""make username
Revision ID: bb09ed1e141b
Revises: bca1465a100f
Create Date: 2024-01-28 11:48:31.406920
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = 'bb09ed1e141b'
down_revision: Union[str, None] = 'bca1465a100f'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
# op.create_unique_constraint('unique_user_role', 'user_roles', ['user_id', 'role_id', 'company_id'])
op.create_unique_constraint('unique_username_no_spacing', 'users', ['fullname'])
op.create_unique_constraint(None, 'users', ['fullname'])
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.drop_constraint(None, 'users', type_='unique')
op.drop_constraint('unique_username_no_spacing', 'users', type_='unique')
# op.drop_constraint('unique_user_role', 'user_roles', type_='unique')
# ### end Alembic commands ###

View File

@ -1,32 +0,0 @@
"""Remove is_active from subscription
Revision ID: bca1465a100f
Revises: cccea6c7d70d
Create Date: 2024-01-21 12:18:59.279663
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = 'bca1465a100f'
down_revision: Union[str, None] = 'cccea6c7d70d'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
# op.create_unique_constraint('unique_user_role', 'user_roles', ['user_id', 'role_id', 'company_id'])
pass
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
# op.drop_constraint('unique_user_role', 'user_roles', type_='unique')
pass
# ### end Alembic commands ###

View File

@ -1,32 +0,0 @@
"""Added relation company with user roles
Revision ID: cccea6c7d70d
Revises: f93bebc068de
Create Date: 2024-01-20 17:17:36.178991
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = 'cccea6c7d70d'
down_revision: Union[str, None] = 'f93bebc068de'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
# op.create_unique_constraint('unique_user_role', 'user_roles', ['user_id', 'role_id', 'company_id'])
pass
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
# op.drop_constraint('unique_user_role', 'user_roles', type_='unique')
pass
# ### end Alembic commands ###

View File

@ -1,46 +0,0 @@
"""Created company name as unique
Revision ID: f93bebc068de
Revises: 6f93f0d1defb
Create Date: 2024-01-20 17:05:36.133343
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = 'f93bebc068de'
down_revision: Union[str, None] = '6f93f0d1defb'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.drop_index('ix_companies_name', table_name='companies')
op.create_index(op.f('ix_companies_name'), 'companies', ['name'], unique=True)
op.alter_column('user_roles', 'company_id',
existing_type=sa.INTEGER(),
nullable=True)
# op.create_unique_constraint('unique_user_role', 'user_roles', ['user_id', 'role_id', 'company_id'])
op.alter_column('users', 'company_id',
existing_type=sa.INTEGER(),
nullable=True)
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.alter_column('users', 'company_id',
existing_type=sa.INTEGER(),
nullable=True)
# op.drop_constraint('unique_user_role', 'user_roles', type_='unique')
op.alter_column('user_roles', 'company_id',
existing_type=sa.INTEGER(),
nullable=True)
op.drop_index(op.f('ix_companies_name'), table_name='companies')
op.create_index('ix_companies_name', 'companies', ['name'], unique=False)
# ### end Alembic commands ###

View File

@ -12,3 +12,5 @@ services:
PGPT_PROFILES: docker
PGPT_MODE: local
env_file:
- .env

3303
poetry.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
from pathlib import Path
PROJECT_ROOT_PATH: Path = Path(__file__).parents[1]
UPLOAD_DIR = rf"F:\LLM\privateGPT\private_gpt\uploads"
UPLOAD_DIR = rf"C:\Users\Dbuser\QuickGPT\backend\privateGPT\private_gpt\uploads"

View File

@ -35,15 +35,15 @@ def create_app(root_injector: Injector) -> FastAPI:
app.include_router(api_router)
app.include_router(home_router)
settings = root_injector.get(Settings)
# if settings.server.cors.enabled/:
logger.debug("Setting up CORS middleware")
app.add_middleware(
CORSMiddleware,
allow_credentials=True,
allow_origins=["http://localhost:5173", "http://localhost:8001"],
allow_methods=["DELETE", "GET", "POST", "PUT", "OPTIONS", "PATCH"],
allow_headers=["*"],
)
if settings.server.cors.enabled:
logger.debug("Setting up CORS middleware")
app.add_middleware(
CORSMiddleware,
allow_credentials=True,
allow_origins=["http://localhost:80", "http://10.1.101.125", "http://quickgpt.gibl.com.np"],
allow_methods=["DELETE", "GET", "POST", "PUT", "OPTIONS", "PATCH"],
allow_headers=["*"],
)
# if settings.ui.enabled:
# logger.debug("Importing the UI module")

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -10,7 +10,7 @@ SQLALCHEMY_DATABASE_URI = "postgresql+psycopg2://{username}:{password}@{host}:{p
port='5432',
db_name='QuickGpt',
username='postgres',
password="quick",
password="admin",
)
class Settings(BaseSettings):
@ -30,6 +30,7 @@ class Settings(BaseSettings):
DB_USER: str
DB_PASSWORD: str
DB_NAME: str
DB_PORT: str
PORT: str
SMTP_SERVER: str

View File

@ -16,6 +16,13 @@ llama-index = { extras = ["local_models"], version = "0.9.3" }
watchdog = "^3.0.0"
qdrant-client = "^1.6.9"
chromadb = {version = "^0.4.13", optional = true}
inflect = "^7.0.0"
alembic = "^1.13.1"
sqlalchemy = "^2.0.25"
bcrypt = "^4.1.2"
python-jose = "^3.3.0"
psycopg2-binary = "^2.9.9"
passlib = "^1.7.4"
[tool.poetry.group.dev.dependencies]
black = "^22"

177
requirements.txt Normal file
View File

@ -0,0 +1,177 @@
accelerate==0.25.0
aiofiles==23.2.1
aiohttp==3.9.1
aiosignal==1.3.1
aiostream==0.5.2
alembic==1.13.1
altair==5.2.0
annotated-types==0.6.0
anyio==3.7.1
argcomplete==3.2.2
attrs==23.1.0
bcrypt==4.1.2
beautifulsoup4==4.12.2
black==22.12.0
boto3==1.34.2
botocore==1.34.2
certifi==2023.11.17
cfgv==3.4.0
charset-normalizer==3.3.2
click==8.1.7
colorama==0.4.6
coloredlogs==15.0.1
contourpy==1.2.0
coverage==7.3.3
cycler==0.12.1
dataclasses-json==0.5.14
datasets==2.14.4
Deprecated==1.2.14
dill==0.3.7
diskcache==5.6.3
distlib==0.3.8
distro==1.8.0
dnspython==2.4.2
ecdsa==0.18.0
email-validator==2.1.0.post1
evaluate==0.4.1
fastapi==0.103.2
ffmpy==0.3.1
filelock==3.13.1
flatbuffers==23.5.26
fonttools==4.46.0
frozenlist==1.4.1
fsspec==2023.12.2
gradio==4.10.0
gradio_client==0.7.3
greenlet==3.0.2
grpcio==1.60.0
grpcio-tools==1.60.0
h11==0.14.0
h2==4.1.0
hpack==4.0.0
httpcore==1.0.2
httptools==0.6.1
httpx==0.25.2
huggingface-hub==0.19.4
humanfriendly==10.0
hyperframe==6.0.1
identify==2.5.33
idna==3.6
importlib-resources==6.1.1
inflect==7.0.0
iniconfig==2.0.0
injector==0.21.0
itsdangerous==2.1.2
Jinja2==3.1.3
jmespath==1.0.1
joblib==1.3.2
jsonschema==4.20.0
jsonschema-specifications==2023.11.2
kiwisolver==1.4.5
llama-index==0.9.3
llama_cpp_python==0.2.35
Mako==1.3.0
markdown-it-py==3.0.0
MarkupSafe==2.1.4
marshmallow==3.20.1
matplotlib==3.8.2
mdurl==0.1.2
mpmath==1.3.0
multidict==6.0.4
multiprocess==0.70.15
mypy==1.7.1
mypy-extensions==1.0.0
nest-asyncio==1.5.8
networkx==3.2.1
nltk==3.8.1
nodeenv==1.8.0
numpy==1.26.3
onnx==1.15.0
onnxruntime==1.16.3
openai==1.5.0
optimum==1.16.1
orjson==3.9.10
packaging==23.2
pandas==2.1.4
passlib==1.7.4
pathspec==0.12.1
Pillow==10.1.0
pipx==1.4.3
platformdirs==4.1.0
pluggy==1.3.0
portalocker==2.8.2
pre-commit==2.21.0
-e git+https://github.com/QuickfoxConsulting/privateGPT.git@2108d6d1ec260e788a28b1e0ce32314425cfbd08#egg=private_gpt
protobuf==4.25.1
psutil==5.9.6
psycopg2-binary==2.9.9
pyarrow==14.0.1
pyasn1==0.5.1
pydantic==2.5.2
pydantic-extra-types==2.2.0
pydantic-settings==2.1.0
pydantic_core==2.14.5
pydub==0.25.1
Pygments==2.17.2
pyparsing==3.1.1
pypdf==3.17.2
pyreadline3==3.4.1
pytest==7.4.3
pytest-asyncio==0.21.1
pytest-cov==3.0.0
python-dateutil==2.8.2
python-dotenv==1.0.0
python-jose==3.3.0
python-multipart==0.0.6
pytz==2023.3.post1
pywin32==306
PyYAML==6.0.1
qdrant-client==1.7.0
referencing==0.32.0
regex==2023.10.3
requests==2.31.0
responses==0.18.0
rich==13.7.0
rpds-py==0.14.1
rsa==4.9
ruff==0.1.8
s3transfer==0.9.0
safetensors==0.4.1
scikit-learn==1.3.2
scipy==1.11.4
semantic-version==2.10.0
sentence-transformers==2.2.2
sentencepiece==0.1.99
shellingham==1.5.4
six==1.16.0
sniffio==1.3.0
soupsieve==2.5
SQLAlchemy==2.0.23
starlette==0.27.0
sympy==1.12
tenacity==8.2.3
threadpoolctl==3.2.0
tiktoken==0.5.2
tokenizers==0.15.0
tomlkit==0.12.0
toolz==0.12.0
torch==2.1.2
torchvision==0.16.2
tqdm==4.66.1
transformers==4.36.1
typer==0.9.0
types-PyYAML==6.0.12.12
typing-inspect==0.9.0
typing_extensions==4.9.0
tzdata==2023.3
ujson==5.9.0
urllib3==1.26.18
userpath==1.9.1
uvicorn==0.24.0.post1
virtualenv==20.25.0
watchdog==3.0.0
watchfiles==0.21.0
websockets==11.0.3
wrapt==1.16.0
xxhash==3.4.1
yarl==1.9.4

View File

@ -3,12 +3,12 @@
# Syntax in `private_pgt/settings/settings.py`
server:
env_name: ${APP_ENV:prod}
port: ${PORT:8001}
port: ${PORT:88}
cors:
enabled: true
allow_credentials: true
allow_origins: ["http://localhost:5173/"]
allow_methods: ["*"]
allow_origins: ["http://localhost:80", "http://10.1.101.125", "http://quickgpt.gibl.com.np"]
allow_methods: ["DELETE", "GET", "POST", "PUT", "OPTIONS", "PATCH"]
allow_headers: ["*"]
auth:
enabled: false