Skip to content

Commit

Permalink
Refactor app backend to async (#460)
Browse files Browse the repository at this point in the history
  • Loading branch information
sarah-widder committed Feb 1, 2024
1 parent 8b91c21 commit 28f962c
Show file tree
Hide file tree
Showing 17 changed files with 944 additions and 660 deletions.
99 changes: 77 additions & 22 deletions .env.sample
Original file line number Diff line number Diff line change
@@ -1,19 +1,5 @@
AZURE_SEARCH_SERVICE=
AZURE_SEARCH_INDEX=
AZURE_SEARCH_KEY=
AZURE_SEARCH_USE_SEMANTIC_SEARCH=False
AZURE_SEARCH_SEMANTIC_SEARCH_CONFIG=default
AZURE_SEARCH_INDEX_IS_PRECHUNKED=False
AZURE_SEARCH_TOP_K=5
AZURE_SEARCH_ENABLE_IN_DOMAIN=False
AZURE_SEARCH_CONTENT_COLUMNS=
AZURE_SEARCH_FILENAME_COLUMN=
AZURE_SEARCH_TITLE_COLUMN=
AZURE_SEARCH_URL_COLUMN=
AZURE_SEARCH_VECTOR_COLUMNS=
AZURE_SEARCH_QUERY_TYPE=simple
AZURE_SEARCH_PERMITTED_GROUPS_COLUMN=
AZURE_SEARCH_STRICTNESS=3
# Chat
DEBUG=True
AZURE_OPENAI_RESOURCE=
AZURE_OPENAI_MODEL=
AZURE_OPENAI_KEY=
Expand All @@ -23,19 +9,88 @@ AZURE_OPENAI_TOP_P=1.0
AZURE_OPENAI_MAX_TOKENS=1000
AZURE_OPENAI_STOP_SEQUENCE=
AZURE_OPENAI_SYSTEM_MESSAGE=You are an AI assistant that helps people find information.
AZURE_OPENAI_PREVIEW_API_VERSION=2023-06-01-preview
AZURE_OPENAI_PREVIEW_API_VERSION=2023-12-01-preview
AZURE_OPENAI_STREAM=True
AZURE_OPENAI_ENDPOINT=
AZURE_OPENAI_EMBEDDING_NAME=
AZURE_OPENAI_EMBEDDING_ENDPOINT=
AZURE_OPENAI_EMBEDDING_KEY=
# Chat history
AZURE_COSMOSDB_ACCOUNT=
AZURE_COSMOSDB_DATABASE=
AZURE_COSMOSDB_CONVERSATIONS_CONTAINER=
AZURE_COSMOSDB_DATABASE=db_conversation_history
AZURE_COSMOSDB_CONVERSATIONS_CONTAINER=conversations
AZURE_COSMOSDB_ACCOUNT_KEY=
AZURE_COSMOSDB_MONGO_VCORE_DATABASE=
AZURE_COSMOSDB_ENABLE_FEEDBACK=False
# Chat with data: common settings
SEARCH_TOP_K=5
SEARCH_STRICTNESS=3
SEARCH_ENABLE_IN_DOMAIN=True
# Chat with data: Azure AI Search
AZURE_SEARCH_SERVICE=
AZURE_SEARCH_INDEX=
AZURE_SEARCH_KEY=
AZURE_SEARCH_SEMANTIC_SEARCH_CONFIG=
AZURE_SEARCH_INDEX_IS_PRECHUNKED=False
AZURE_SEARCH_TOP_K=5
AZURE_SEARCH_ENABLE_IN_DOMAIN=False
AZURE_SEARCH_CONTENT_COLUMNS=
AZURE_SEARCH_FILENAME_COLUMN=
AZURE_SEARCH_TITLE_COLUMN=
AZURE_SEARCH_URL_COLUMN=
AZURE_SEARCH_VECTOR_COLUMNS=
AZURE_SEARCH_QUERY_TYPE=simple
AZURE_SEARCH_PERMITTED_GROUPS_COLUMN=
AZURE_SEARCH_STRICTNESS=3
# Chat with data: Azure CosmosDB Mongo VCore
AZURE_COSMOSDB_MONGO_VCORE_CONNECTION_STRING=
AZURE_COSMOSDB_MONGO_VCORE_DATABASE=
AZURE_COSMOSDB_MONGO_VCORE_CONTAINER=
AZURE_COSMOSDB_MONGO_VCORE_INDEX=
AZURE_COSMOSDB_MONGO_VCORE_INDEX=
AZURE_COSMOSDB_MONGO_VCORE_TOP_K=
AZURE_COSMOSDB_MONGO_VCORE_STRICTNESS=
AZURE_COSMOSDB_MONGO_VCORE_ENABLE_IN_DOMAIN=
AZURE_COSMOSDB_MONGO_VCORE_CONTENT_COLUMNS=
AZURE_COSMOSDB_MONGO_VCORE_FILENAME_COLUMN=
AZURE_COSMOSDB_MONGO_VCORE_TITLE_COLUMN=
AZURE_COSMOSDB_MONGO_VCORE_URL_COLUMN=
AZURE_COSMOSDB_MONGO_VCORE_VECTOR_COLUMNS=
AZURE_COSMOSDB_ENABLE_FEEDBACK=False
AUTH_ENABLED=False
# Chat with data: Elasticsearch
ELASTICSEARCH_ENDPOINT=
ELASTICSEARCH_ENCODED_API_KEY=
ELASTICSEARCH_INDEX=
ELASTICSEARCH_QUERY_TYPE=
ELASTICSEARCH_TOP_K=
ELASTICSEARCH_ENABLE_IN_DOMAIN=
ELASTICSEARCH_CONTENT_COLUMNS=
ELASTICSEARCH_FILENAME_COLUMN=
ELASTICSEARCH_TITLE_COLUMN=
ELASTICSEARCH_URL_COLUMN=
ELASTICSEARCH_VECTOR_COLUMNS=
ELASTICSEARCH_STRICTNESS=
ELASTICSEARCH_EMBEDDING_MODEL_ID=
# Chat with data: Pinecone
PINECONE_ENVIRONMENT=
PINECONE_API_KEY=
PINECONE_INDEX_NAME=
PINECONE_TOP_K=
PINECONE_STRICTNESS=
PINECONE_ENABLE_IN_DOMAIN=
PINECONE_CONTENT_COLUMNS=
PINECONE_FILENAME_COLUMN=
PINECONE_TITLE_COLUMN=
PINECONE_URL_COLUMN=
PINECONE_VECTOR_COLUMNS=
# Chat with data: Azure Machine Learning MLIndex
AZURE_MLINDEX_NAME=
AZURE_MLINDEX_VERSION=
AZURE_ML_PROJECT_RESOURCE_ID=
AZURE_MLINDEX_TOP_K=
AZURE_MLINDEX_STRICTNESS=
AZURE_MLINDEX_ENABLE_IN_DOMAIN=
AZURE_MLINDEX_CONTENT_COLUMNS=
AZURE_MLINDEX_FILENAME_COLUMN=
AZURE_MLINDEX_TITLE_COLUMN=
AZURE_MLINDEX_URL_COLUMN=
AZURE_MLINDEX_VECTOR_COLUMNS=
AZURE_MLINDEX_QUERY_TYPE=
24 changes: 16 additions & 8 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -1,17 +1,25 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Sample UI Backend",
"name": "Python: Sample App Backend",
"type": "python",
"request": "launch",
"module": "flask",
"module": "quart",
"cwd": "${workspaceFolder}",
"env": {
"QUART_APP": "app:app",
"QUART_ENV": "development",
"QUART_DEBUG": "0"
},
"args": [
"run",
"--no-reload",
"-p 50505"
],
"console": "integratedTerminal",
"justMyCode": false,
"envFile": "${workspaceFolder}/.env",
"args": ["run", "--no-debugger", "--no-reload", "-p 5000"],
"justMyCode": true
}
}
]
}
5 changes: 2 additions & 3 deletions WebApp.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ RUN pip install --no-cache-dir -r /usr/src/app/requirements.txt \
COPY . /usr/src/app/
COPY --from=frontend /home/node/app/static /usr/src/app/static/
WORKDIR /usr/src/app
ENV UWSGI_PROCESSES=2
ENV UWSGI_THREADS=1

EXPOSE 80
CMD uwsgi --processes $UWSGI_PROCESSES --threads $UWSGI_THREADS --http :80 --wsgi-file app.py --callable app -b 32768
CMD ["python", "-m", "gunicorn", "app:app"]
Loading

0 comments on commit 28f962c

Please sign in to comment.