Solving merge conflicts
This commit is contained in:
@@ -1,8 +1,9 @@
|
|||||||
Dockerfile
|
Dockerfile
|
||||||
README.md
|
README.md
|
||||||
*.pyc
|
*.pyc
|
||||||
*.pyo
|
*.pyo
|
||||||
*.pyd
|
*.pyd
|
||||||
__pycache__
|
__pycache__
|
||||||
.pytest_cache
|
.pytest_cache
|
||||||
postman
|
postman
|
||||||
|
/scripts
|
||||||
|
|||||||
33
.env
33
.env
@@ -1,33 +0,0 @@
|
|||||||
OPENAI_API_KEY=sk-proj-Ol2dgrsNwaUcEgOSefsST3BlbkFJLD2HeO7PuoYsJzZzgqtF
|
|
||||||
JWT_SECRET_KEY=6e9c124ba92e8814719dcb0f21200c8aa4d0f119a994ac5e06eb90a366c83ab2
|
|
||||||
JWT_TEST_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0In0.Emrs2D3BmMP4b3zMjw0fJTPeyMwWEBDbxx2vvaWguO0
|
|
||||||
#HEY_GEN_TOKEN=MjY4MDE0MjdjZmNhNDFmYTlhZGRkNmI3MGFlMzYwZDItMTY5NTExNzY3MA==
|
|
||||||
GPT_ZERO_API_KEY=0195b9bb24c5439899f71230809c74af
|
|
||||||
MONGODB_URI=mongodb+srv://user:JKpFBymv0WLv3STj@encoach.lz18a.mongodb.net/?retryWrites=true&w=majority&appName=EnCoach
|
|
||||||
GOOGLE_APPLICATION_CREDENTIALS=firebase-configs/encoach-staging.json
|
|
||||||
ELAI_TOKEN=KtzxETdcZesZtwl7JKiYQapRvp0b4zMG
|
|
||||||
AWS_ACCESS_KEY_ID=AKIAWMFUPM6VZJ5MFFXK
|
|
||||||
AWS_SECRET_ACCESS_KEY=vneqMslwPiqlUbZNeMJ7hXw5JwQPwuRjzzApGdcG
|
|
||||||
|
|
||||||
# Staging
|
|
||||||
ENV=staging
|
|
||||||
|
|
||||||
#
|
|
||||||
#FIREBASE_SCRYPT_B64_SIGNER_KEY="qjo/b5U5oNxA8o+PHFMZx/ZfG8ZQ7688zYmwMOcfZvVjOM6aHe4Jf270xgyrVArqLIQwFi7VkFnbysBjueMbVw=="
|
|
||||||
#FIREBASE_SCRYPT_B64_SALT_SEPARATOR="Bw=="
|
|
||||||
#FIREBASE_SCRYPT_ROUNDS=8
|
|
||||||
#FIREBASE_SCRYPT_MEM_COST=14
|
|
||||||
#FIREBASE_PROJECT_ID=encoach-staging
|
|
||||||
#MONGODB_DB=staging
|
|
||||||
|
|
||||||
# Prod
|
|
||||||
#ENV=production
|
|
||||||
|
|
||||||
#GOOGLE_APPLICATION_CREDENTIALS=firebase-configs/storied-phalanx-349916.json
|
|
||||||
#FIREBASE_SCRYPT_B64_SIGNER_KEY="vbO3Xii2lajSeSkCstq3s/dCwpXP7J2YN9rP/KRreU2vGOT1fg+wzSuy1kIhBECqJHG82tmwAilSxLFFtNKVMA=="
|
|
||||||
#FIREBASE_SCRYPT_B64_SALT_SEPARATOR="Bw=="
|
|
||||||
#FIREBASE_SCRYPT_ROUNDS=8
|
|
||||||
#FIREBASE_SCRYPT_MEM_COST=14
|
|
||||||
#FIREBASE_PROJECT_ID=storied-phalanx-349916
|
|
||||||
MONGODB_DB=staging
|
|
||||||
|
|
||||||
12
.gitignore
vendored
12
.gitignore
vendored
@@ -1,6 +1,6 @@
|
|||||||
__pycache__
|
__pycache__
|
||||||
.idea
|
.idea
|
||||||
.env
|
.env
|
||||||
.DS_Store
|
.DS_Store
|
||||||
.venv
|
.venv
|
||||||
_scripts
|
_scripts
|
||||||
|
|||||||
8
.idea/.gitignore
generated
vendored
8
.idea/.gitignore
generated
vendored
@@ -1,8 +0,0 @@
|
|||||||
# Default ignored files
|
|
||||||
/shelf/
|
|
||||||
/workspace.xml
|
|
||||||
# Editor-based HTTP Client requests
|
|
||||||
/httpRequests/
|
|
||||||
# Datasource local storage ignored files
|
|
||||||
/dataSources/
|
|
||||||
/dataSources.local.xml
|
|
||||||
26
.idea/ielts-be.iml
generated
26
.idea/ielts-be.iml
generated
@@ -1,26 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<module type="PYTHON_MODULE" version="4">
|
|
||||||
<component name="Flask">
|
|
||||||
<option name="enabled" value="true" />
|
|
||||||
</component>
|
|
||||||
<component name="NewModuleRootManager">
|
|
||||||
<content url="file://$MODULE_DIR$">
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/.venv" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/venv" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/_scripts" />
|
|
||||||
</content>
|
|
||||||
<orderEntry type="jdk" jdkName="Python 3.11 (ielts-be)" jdkType="Python SDK" />
|
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
|
||||||
</component>
|
|
||||||
<component name="PackageRequirementsSettings">
|
|
||||||
<option name="versionSpecifier" value="Don't specify version" />
|
|
||||||
</component>
|
|
||||||
<component name="TemplatesService">
|
|
||||||
<option name="TEMPLATE_CONFIGURATION" value="Jinja2" />
|
|
||||||
<option name="TEMPLATE_FOLDERS">
|
|
||||||
<list>
|
|
||||||
<option value="$MODULE_DIR$/../flaskProject\templates" />
|
|
||||||
</list>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
</module>
|
|
||||||
6
.idea/inspectionProfiles/profiles_settings.xml
generated
6
.idea/inspectionProfiles/profiles_settings.xml
generated
@@ -1,6 +0,0 @@
|
|||||||
<component name="InspectionProjectProfileManager">
|
|
||||||
<settings>
|
|
||||||
<option name="USE_PROJECT_PROFILE" value="false" />
|
|
||||||
<version value="1.0" />
|
|
||||||
</settings>
|
|
||||||
</component>
|
|
||||||
10
.idea/misc.xml
generated
10
.idea/misc.xml
generated
@@ -1,10 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="Black">
|
|
||||||
<option name="sdkName" value="Python 3.11 (ielts-be)" />
|
|
||||||
</component>
|
|
||||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.11 (ielts-be)" project-jdk-type="Python SDK" />
|
|
||||||
<component name="PyCharmProfessionalAdvertiser">
|
|
||||||
<option name="shown" value="true" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
8
.idea/modules.xml
generated
8
.idea/modules.xml
generated
@@ -1,8 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="ProjectModuleManager">
|
|
||||||
<modules>
|
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/ielts-be.iml" filepath="$PROJECT_DIR$/.idea/ielts-be.iml" />
|
|
||||||
</modules>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
6
.idea/vcs.xml
generated
6
.idea/vcs.xml
generated
@@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="VcsDirectoryMappings">
|
|
||||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
82
Dockerfile
82
Dockerfile
@@ -1,41 +1,41 @@
|
|||||||
FROM python:3.11-slim as requirements-stage
|
FROM python:3.11-slim as requirements-stage
|
||||||
WORKDIR /tmp
|
WORKDIR /tmp
|
||||||
RUN pip install poetry
|
RUN pip install poetry
|
||||||
COPY pyproject.toml ./poetry.lock* /tmp/
|
COPY pyproject.toml ./poetry.lock* /tmp/
|
||||||
RUN poetry export -f requirements.txt --output requirements.txt --without-hashes
|
RUN poetry export -f requirements.txt --output requirements.txt --without-hashes
|
||||||
|
|
||||||
|
|
||||||
FROM python:3.11-slim
|
FROM python:3.11-slim
|
||||||
|
|
||||||
# Allow statements and log messages to immediately appear in the logs
|
# Allow statements and log messages to immediately appear in the logs
|
||||||
ENV PYTHONUNBUFFERED True
|
ENV PYTHONUNBUFFERED True
|
||||||
|
|
||||||
# Copy local code to the container image.
|
# Copy local code to the container image.
|
||||||
ENV APP_HOME /app
|
ENV APP_HOME /app
|
||||||
WORKDIR $APP_HOME
|
WORKDIR $APP_HOME
|
||||||
|
|
||||||
COPY . ./
|
COPY . ./
|
||||||
|
|
||||||
COPY --from=requirements-stage /tmp/requirements.txt /app/requirements.txt
|
COPY --from=requirements-stage /tmp/requirements.txt /app/requirements.txt
|
||||||
|
|
||||||
RUN apt update && apt install -y \
|
RUN apt update && apt install -y \
|
||||||
ffmpeg \
|
ffmpeg \
|
||||||
poppler-utils \
|
poppler-utils \
|
||||||
texlive-latex-base \
|
texlive-latex-base \
|
||||||
texlive-fonts-recommended \
|
texlive-fonts-recommended \
|
||||||
texlive-latex-extra \
|
texlive-latex-extra \
|
||||||
texlive-xetex \
|
texlive-xetex \
|
||||||
pandoc \
|
pandoc \
|
||||||
librsvg2-bin \
|
librsvg2-bin \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
RUN pip install --no-cache-dir -r /app/requirements.txt
|
RUN pip install --no-cache-dir -r /app/requirements.txt
|
||||||
|
|
||||||
EXPOSE 8000
|
EXPOSE 8000
|
||||||
|
|
||||||
# Run the web service on container startup. Here we use the gunicorn
|
# Run the web service on container startup. Here we use the gunicorn
|
||||||
# webserver, with one worker process and 8 threads.
|
# webserver, with one worker process and 8 threads.
|
||||||
# For environments with multiple CPU cores, increase the number of workers
|
# For environments with multiple CPU cores, increase the number of workers
|
||||||
# to be equal to the cores available.
|
# to be equal to the cores available.
|
||||||
# Timeout is set to 0 to disable the timeouts of the workers to allow Cloud Run to handle instance scaling.
|
# Timeout is set to 0 to disable the timeouts of the workers to allow Cloud Run to handle instance scaling.
|
||||||
CMD exec uvicorn --bind 0.0.0.0:8000 --workers 1 --threads 8 --timeout 0 app.server:app
|
CMD exec uvicorn --bind 0.0.0.0:8000 --workers 1 --threads 8 --timeout 0 app.server:app
|
||||||
|
|||||||
50
app.py
50
app.py
@@ -1,25 +1,25 @@
|
|||||||
import click
|
import click
|
||||||
import uvicorn
|
import uvicorn
|
||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
|
|
||||||
load_dotenv()
|
load_dotenv()
|
||||||
|
|
||||||
|
|
||||||
@click.command()
|
@click.command()
|
||||||
@click.option(
|
@click.option(
|
||||||
"--env",
|
"--env",
|
||||||
type=click.Choice(["local", "staging", "production"], case_sensitive=False),
|
type=click.Choice(["local", "staging", "production"], case_sensitive=False),
|
||||||
default="staging",
|
default="staging",
|
||||||
)
|
)
|
||||||
def main(env: str):
|
def main(env: str):
|
||||||
uvicorn.run(
|
uvicorn.run(
|
||||||
app="app.server:app",
|
app="app.server:app",
|
||||||
host="localhost",
|
host="localhost",
|
||||||
port=8000,
|
port=8000,
|
||||||
reload=True if env != "production" else False,
|
reload=True if env != "production" else False,
|
||||||
workers=1,
|
workers=1,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
BIN
faiss/ct_focus_tips_index.faiss
Normal file
BIN
faiss/ct_focus_tips_index.faiss
Normal file
Binary file not shown.
BIN
faiss/language_for_writing_tips_index.faiss
Normal file
BIN
faiss/language_for_writing_tips_index.faiss
Normal file
Binary file not shown.
BIN
faiss/reading_skill_tips_index.faiss
Normal file
BIN
faiss/reading_skill_tips_index.faiss
Normal file
Binary file not shown.
BIN
faiss/strategy_tips_index.faiss
Normal file
BIN
faiss/strategy_tips_index.faiss
Normal file
Binary file not shown.
BIN
faiss/tips_metadata.pkl
Normal file
BIN
faiss/tips_metadata.pkl
Normal file
Binary file not shown.
BIN
faiss/word_link_tips_index.faiss
Normal file
BIN
faiss/word_link_tips_index.faiss
Normal file
Binary file not shown.
BIN
faiss/word_partners_tips_index.faiss
Normal file
BIN
faiss/word_partners_tips_index.faiss
Normal file
Binary file not shown.
BIN
faiss/writing_skill_tips_index.faiss
Normal file
BIN
faiss/writing_skill_tips_index.faiss
Normal file
Binary file not shown.
Reference in New Issue
Block a user