diff --git a/Dockerfile b/Dockerfile
index d07414a..899189f 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -116,14 +116,12 @@ RUN { \
# Activate the pip environment on all shell calls
SHELL [ "/opt/backstory/shell" ]
-# From https://pytorch-extension.intel.com/installation?platform=gpu&version=v2.6.10%2Bxpu&os=linux%2Fwsl2&package=pip
RUN pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/xpu
-#RUN pip install intel-extension-for-pytorch==2.6.10+xpu oneccl_bind_pt==2.6.0+xpu --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/us/
# From https://huggingface.co/docs/bitsandbytes/main/en/installation?backend=Intel+CPU+%2B+GPU#multi-backend
RUN pip install "transformers>=4.45.1"
-#RUN pip install 'https://github.com/bitsandbytes-foundation/bitsandbytes/releases/download/continuous-release_multi-backend-refactor/bitsandbytes-0.44.1.dev0-py3-none-manylinux_2_24_x86_64.whl'
-RUN pip install 'https://github.com/bitsandbytes-foundation/bitsandbytes/releases/download/continuous-release_multi-backend-refactor/bitsandbytes-0.45.3.dev272-py3-none-manylinux_2_24_x86_64.whl'
+# Note, if you don't want to reinstall BNBs dependencies, append the `--no-deps` flag!
+#RUN pip install --force-reinstall 'https://github.com/bitsandbytes-foundation/bitsandbytes/releases/download/continuous-release_multi-backend-refactor/bitsandbytes-0.44.1.dev0-py3-none-manylinux_2_24_x86_64.whl'
# Install ollama python module
RUN pip install ollama langchain-ollama
@@ -475,6 +473,10 @@ FROM ubuntu:oracular AS frontend
# easy creation of an Android app as well as web app
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
+ rsync \
+ nano \
+ wget \
+ curl \
nodejs \
npm \
&& apt-get clean \
diff --git a/chromadb-prod/.keep b/chromadb-prod/.keep
deleted file mode 100644
index e69de29..0000000
diff --git a/docker-compose.yml b/docker-compose.yml
index 3a050a2..5de9168 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -58,7 +58,7 @@ services:
- ./chromadb-prod:/opt/backstory/chromadb:rw # Persist ChromaDB
- ./sessions-prod:/opt/backstory/sessions:rw # Persist sessions
- ./docs-prod:/opt/backstory/docs:rw # Live mount of RAG content
- - ./frontend/deployed:/opt/backstory/deployed:ro # Live mount built frontend
+ - ./frontend/deployed:/opt/backstory/frontend/deployed:ro # Live mount built frontend
cap_add: # used for running ze-monitor within container
- CAP_DAC_READ_SEARCH # Bypass all filesystem read access checks
- CAP_PERFMON # Access to perf_events (vs. overloaded CAP_SYS_ADMIN)
diff --git a/frontend/.gitignore b/frontend/.gitignore
index 3867a46..7418c6f 100644
--- a/frontend/.gitignore
+++ b/frontend/.gitignore
@@ -1,5 +1,6 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
build
+deployed
# dependencies
/node_modules
diff --git a/frontend/deployed/adaptive-icon.png b/frontend/deployed/adaptive-icon.png
deleted file mode 100755
index 03d6f6b..0000000
Binary files a/frontend/deployed/adaptive-icon.png and /dev/null differ
diff --git a/frontend/deployed/asset-manifest.json b/frontend/deployed/asset-manifest.json
deleted file mode 100644
index abd1ac5..0000000
--- a/frontend/deployed/asset-manifest.json
+++ /dev/null
@@ -1,157 +0,0 @@
-{
- "files": {
- "main.css": "/static/css/main.3c3ddc39.css",
- "main.js": "/static/js/main.b1c48cdf.js",
- "static/js/732.b7e64c48.chunk.js": "/static/js/732.b7e64c48.chunk.js",
- "static/js/467.ed8fe19b.chunk.js": "/static/js/467.ed8fe19b.chunk.js",
- "static/js/761.64498d2a.chunk.js": "/static/js/761.64498d2a.chunk.js",
- "static/js/358.7641aa7d.chunk.js": "/static/js/358.7641aa7d.chunk.js",
- "static/js/448.0ebff170.chunk.js": "/static/js/448.0ebff170.chunk.js",
- "static/js/461.dcde3ae6.chunk.js": "/static/js/461.dcde3ae6.chunk.js",
- "static/js/109.fea37f16.chunk.js": "/static/js/109.fea37f16.chunk.js",
- "static/js/203.e56567f8.chunk.js": "/static/js/203.e56567f8.chunk.js",
- "static/js/621.a72de2cb.chunk.js": "/static/js/621.a72de2cb.chunk.js",
- "static/js/320.f30ff8c0.chunk.js": "/static/js/320.f30ff8c0.chunk.js",
- "static/js/314.5b42713c.chunk.js": "/static/js/314.5b42713c.chunk.js",
- "static/js/972.19d4b287.chunk.js": "/static/js/972.19d4b287.chunk.js",
- "static/js/126.9837c9af.chunk.js": "/static/js/126.9837c9af.chunk.js",
- "static/js/147.660f25b1.chunk.js": "/static/js/147.660f25b1.chunk.js",
- "static/js/807.a9b3c2ae.chunk.js": "/static/js/807.a9b3c2ae.chunk.js",
- "static/js/859.88148fa8.chunk.js": "/static/js/859.88148fa8.chunk.js",
- "static/js/282.876bf6b3.chunk.js": "/static/js/282.876bf6b3.chunk.js",
- "static/js/255.28a7c83e.chunk.js": "/static/js/255.28a7c83e.chunk.js",
- "static/js/922.10b19c61.chunk.js": "/static/js/922.10b19c61.chunk.js",
- "static/js/370.721ed12b.chunk.js": "/static/js/370.721ed12b.chunk.js",
- "static/js/674.cb2cf2f8.chunk.js": "/static/js/674.cb2cf2f8.chunk.js",
- "static/js/622.95b51007.chunk.js": "/static/js/622.95b51007.chunk.js",
- "static/js/824.71eb7c8f.chunk.js": "/static/js/824.71eb7c8f.chunk.js",
- "static/js/415.d031fb39.chunk.js": "/static/js/415.d031fb39.chunk.js",
- "static/js/349.dfb2510e.chunk.js": "/static/js/349.dfb2510e.chunk.js",
- "static/js/626.6df36496.chunk.js": "/static/js/626.6df36496.chunk.js",
- "static/js/453.6fae039d.chunk.js": "/static/js/453.6fae039d.chunk.js",
- "static/js/372.1ba03aa4.chunk.js": "/static/js/372.1ba03aa4.chunk.js",
- "static/js/974.879246cb.chunk.js": "/static/js/974.879246cb.chunk.js",
- "static/js/914.0546aa7a.chunk.js": "/static/js/914.0546aa7a.chunk.js",
- "static/js/987.378e3c51.chunk.js": "/static/js/987.378e3c51.chunk.js",
- "static/js/318.239ef60c.chunk.js": "/static/js/318.239ef60c.chunk.js",
- "static/js/929.7d5d6402.chunk.js": "/static/js/929.7d5d6402.chunk.js",
- "static/js/854.2162dcf9.chunk.js": "/static/js/854.2162dcf9.chunk.js",
- "static/js/502.89ac9055.chunk.js": "/static/js/502.89ac9055.chunk.js",
- "static/js/646.3df37337.chunk.js": "/static/js/646.3df37337.chunk.js",
- "static/js/62.785a92ce.chunk.js": "/static/js/62.785a92ce.chunk.js",
- "static/js/35.b34bde96.chunk.js": "/static/js/35.b34bde96.chunk.js",
- "static/js/355.143eaed8.chunk.js": "/static/js/355.143eaed8.chunk.js",
- "static/media/roboto-latin-700-normal.woff2": "/static/media/roboto-latin-700-normal.c4d6cab43bec89049809.woff2",
- "static/media/roboto-latin-500-normal.woff2": "/static/media/roboto-latin-500-normal.599f66a60bdf974e578e.woff2",
- "static/media/roboto-latin-300-normal.woff2": "/static/media/roboto-latin-300-normal.db56943a88e4852343ae.woff2",
- "static/media/roboto-latin-400-normal.woff2": "/static/media/roboto-latin-400-normal.df1be0be92f6f19b8115.woff2",
- "static/media/roboto-math-700-normal.woff2": "/static/media/roboto-math-700-normal.f6f4b54add6ab9d60a0f.woff2",
- "static/media/roboto-math-500-normal.woff2": "/static/media/roboto-math-500-normal.41db483cb764343fca71.woff2",
- "static/media/roboto-latin-300-normal.woff": "/static/media/roboto-latin-300-normal.cb14f8e80cc69ddbac34.woff",
- "static/media/roboto-latin-700-normal.woff": "/static/media/roboto-latin-700-normal.bcfbe8accc968a375a8e.woff",
- "static/media/roboto-latin-500-normal.woff": "/static/media/roboto-latin-500-normal.c320def131b39bceabd8.woff",
- "static/media/roboto-latin-400-normal.woff": "/static/media/roboto-latin-400-normal.50a0a61e29c19a2f05cb.woff",
- "static/media/roboto-math-300-normal.woff2": "/static/media/roboto-math-300-normal.acc9c7c1d1fe3a1c7d44.woff2",
- "static/media/roboto-math-400-normal.woff2": "/static/media/roboto-math-400-normal.b60d9fba1e21da7497e6.woff2",
- "static/media/roboto-math-300-normal.woff": "/static/media/roboto-math-300-normal.90364ecfad5101ceb1a0.woff",
- "static/media/roboto-math-700-normal.woff": "/static/media/roboto-math-700-normal.a6fde3ddcb1629fd58b7.woff",
- "static/media/roboto-math-500-normal.woff": "/static/media/roboto-math-500-normal.c3014a611cd9d8fa6252.woff",
- "static/media/roboto-math-400-normal.woff": "/static/media/roboto-math-400-normal.3d3a272e5233c5fb1969.woff",
- "static/media/roboto-cyrillic-ext-500-normal.woff2": "/static/media/roboto-cyrillic-ext-500-normal.634ee2238bf30f362d52.woff2",
- "static/media/roboto-cyrillic-ext-700-normal.woff2": "/static/media/roboto-cyrillic-ext-700-normal.361cdfd3a3f9c4bb09ca.woff2",
- "static/media/roboto-cyrillic-ext-300-normal.woff2": "/static/media/roboto-cyrillic-ext-300-normal.b9d87b04a9119d8d2fdf.woff2",
- "static/media/roboto-cyrillic-ext-400-normal.woff2": "/static/media/roboto-cyrillic-ext-400-normal.31476620b88eec076438.woff2",
- "static/media/roboto-cyrillic-ext-700-normal.woff": "/static/media/roboto-cyrillic-ext-700-normal.6b08bc756cd72f5af9e8.woff",
- "static/media/roboto-cyrillic-ext-500-normal.woff": "/static/media/roboto-cyrillic-ext-500-normal.d6c661248da2fde17768.woff",
- "static/media/roboto-cyrillic-ext-300-normal.woff": "/static/media/roboto-cyrillic-ext-300-normal.a80c0d0719b1acb8f731.woff",
- "static/media/roboto-cyrillic-ext-400-normal.woff": "/static/media/roboto-cyrillic-ext-400-normal.5e3f232f89080810567d.woff",
- "static/media/roboto-latin-ext-500-normal.woff2": "/static/media/roboto-latin-ext-500-normal.8f02573e78730021ef49.woff2",
- "static/media/roboto-latin-ext-700-normal.woff2": "/static/media/roboto-latin-ext-700-normal.8e656eff240311c6050a.woff2",
- "static/media/roboto-latin-ext-400-normal.woff2": "/static/media/roboto-latin-ext-400-normal.0f86a30ca7e981fcfc99.woff2",
- "static/media/roboto-latin-ext-300-normal.woff2": "/static/media/roboto-latin-ext-300-normal.948c05192b1e64d931b1.woff2",
- "static/media/roboto-latin-ext-300-normal.woff": "/static/media/roboto-latin-ext-300-normal.6ddd1cfdbc5e74bcdab8.woff",
- "static/media/roboto-latin-ext-500-normal.woff": "/static/media/roboto-latin-ext-500-normal.aecaab4c4da2bf91377a.woff",
- "static/media/roboto-latin-ext-700-normal.woff": "/static/media/roboto-latin-ext-700-normal.2d3c3ba6fe2d9c1026a5.woff",
- "static/media/roboto-latin-ext-400-normal.woff": "/static/media/roboto-latin-ext-400-normal.2bfbba2d51a85c8702dd.woff",
- "static/media/roboto-cyrillic-500-normal.woff2": "/static/media/roboto-cyrillic-500-normal.1fb2c6d685bfb888cfa3.woff2",
- "static/media/roboto-cyrillic-700-normal.woff2": "/static/media/roboto-cyrillic-700-normal.fd3dfdd6cb1a9175b63d.woff2",
- "static/media/roboto-cyrillic-400-normal.woff2": "/static/media/roboto-cyrillic-400-normal.86d5c52f4588f9f221d7.woff2",
- "static/media/roboto-cyrillic-300-normal.woff2": "/static/media/roboto-cyrillic-300-normal.89d0351bce4bc857dba6.woff2",
- "static/media/roboto-symbols-700-normal.woff2": "/static/media/roboto-symbols-700-normal.634070e045ac99822c21.woff2",
- "static/media/roboto-symbols-500-normal.woff2": "/static/media/roboto-symbols-500-normal.a5457b0ec984fd4cc8da.woff2",
- "static/media/roboto-symbols-300-normal.woff2": "/static/media/roboto-symbols-300-normal.616638ec44336b3da884.woff2",
- "static/media/roboto-symbols-400-normal.woff2": "/static/media/roboto-symbols-400-normal.bb5b5d1459beb07bd3d5.woff2",
- "static/media/roboto-cyrillic-700-normal.woff": "/static/media/roboto-cyrillic-700-normal.e00802373a2c2db6b30d.woff",
- "static/media/roboto-cyrillic-500-normal.woff": "/static/media/roboto-cyrillic-500-normal.36f79cc7e73a69da4438.woff",
- "static/media/roboto-cyrillic-300-normal.woff": "/static/media/roboto-cyrillic-300-normal.44340549d94d10899346.woff",
- "static/media/roboto-cyrillic-400-normal.woff": "/static/media/roboto-cyrillic-400-normal.d67ac585bb6a05dbf71c.woff",
- "static/media/roboto-greek-700-normal.woff2": "/static/media/roboto-greek-700-normal.d7dfd0b02cd8311e2a97.woff2",
- "static/media/roboto-greek-400-normal.woff2": "/static/media/roboto-greek-400-normal.98a717d5a38e77c0f657.woff2",
- "static/media/roboto-greek-500-normal.woff2": "/static/media/roboto-greek-500-normal.5c8100481d4e784afbf2.woff2",
- "static/media/roboto-greek-300-normal.woff2": "/static/media/roboto-greek-300-normal.fdd1f928a606aa116a44.woff2",
- "static/media/roboto-symbols-300-normal.woff": "/static/media/roboto-symbols-300-normal.52cdf8344b378f0c4580.woff",
- "static/media/roboto-symbols-700-normal.woff": "/static/media/roboto-symbols-700-normal.017e476ef02f62144169.woff",
- "static/media/roboto-symbols-400-normal.woff": "/static/media/roboto-symbols-400-normal.f4f7e3bd8264f1a640cb.woff",
- "static/media/roboto-symbols-500-normal.woff": "/static/media/roboto-symbols-500-normal.09b674875029289fd9a7.woff",
- "static/media/roboto-vietnamese-700-normal.woff2": "/static/media/roboto-vietnamese-700-normal.44a103f706f3ffe6a041.woff2",
- "static/media/roboto-vietnamese-400-normal.woff2": "/static/media/roboto-vietnamese-400-normal.b1b8baa94fbcaa57d098.woff2",
- "static/media/roboto-vietnamese-300-normal.woff2": "/static/media/roboto-vietnamese-300-normal.6f0bf63e956c09377ef8.woff2",
- "static/media/roboto-vietnamese-500-normal.woff2": "/static/media/roboto-vietnamese-500-normal.148734d63bd96c6e964f.woff2",
- "static/media/roboto-greek-500-normal.woff": "/static/media/roboto-greek-500-normal.4fe733bc436afc295c24.woff",
- "static/media/roboto-greek-700-normal.woff": "/static/media/roboto-greek-700-normal.d23e03cf87ba44e5af6f.woff",
- "static/media/roboto-greek-300-normal.woff": "/static/media/roboto-greek-300-normal.8300b541aa89b8301a6f.woff",
- "static/media/roboto-greek-400-normal.woff": "/static/media/roboto-greek-400-normal.ecd8572d631f20ff5bd5.woff",
- "static/media/roboto-vietnamese-500-normal.woff": "/static/media/roboto-vietnamese-500-normal.72dbf2a25dd55b80b137.woff",
- "static/media/roboto-vietnamese-300-normal.woff": "/static/media/roboto-vietnamese-300-normal.53f399e4522b647bafa7.woff",
- "static/media/roboto-vietnamese-700-normal.woff": "/static/media/roboto-vietnamese-700-normal.fa58a041a3336692af1e.woff",
- "static/media/roboto-vietnamese-400-normal.woff": "/static/media/roboto-vietnamese-400-normal.1cffe58e71a9109191a2.woff",
- "static/media/roboto-greek-ext-500-normal.woff2": "/static/media/roboto-greek-ext-500-normal.bef9c15c7164d6435aad.woff2",
- "static/media/roboto-greek-ext-400-normal.woff2": "/static/media/roboto-greek-ext-400-normal.2d5875b032a1cca91eb2.woff2",
- "static/media/roboto-greek-ext-700-normal.woff2": "/static/media/roboto-greek-ext-700-normal.eb28a447335ba6d54fcb.woff2",
- "static/media/roboto-greek-ext-300-normal.woff2": "/static/media/roboto-greek-ext-300-normal.a88b77bb10633a8045e3.woff2",
- "static/media/roboto-greek-ext-400-normal.woff": "/static/media/roboto-greek-ext-400-normal.a0baf7d6726d8f751a27.woff",
- "static/media/roboto-greek-ext-700-normal.woff": "/static/media/roboto-greek-ext-700-normal.1aff9f4cd71608489b9a.woff",
- "static/media/roboto-greek-ext-500-normal.woff": "/static/media/roboto-greek-ext-500-normal.1964239c2800b6bd7e39.woff",
- "static/media/roboto-greek-ext-300-normal.woff": "/static/media/roboto-greek-ext-300-normal.60729cafbded24073dfb.woff",
- "index.html": "/index.html",
- "main.3c3ddc39.css.map": "/static/css/main.3c3ddc39.css.map",
- "main.b1c48cdf.js.map": "/static/js/main.b1c48cdf.js.map",
- "732.b7e64c48.chunk.js.map": "/static/js/732.b7e64c48.chunk.js.map",
- "467.ed8fe19b.chunk.js.map": "/static/js/467.ed8fe19b.chunk.js.map",
- "761.64498d2a.chunk.js.map": "/static/js/761.64498d2a.chunk.js.map",
- "358.7641aa7d.chunk.js.map": "/static/js/358.7641aa7d.chunk.js.map",
- "448.0ebff170.chunk.js.map": "/static/js/448.0ebff170.chunk.js.map",
- "461.dcde3ae6.chunk.js.map": "/static/js/461.dcde3ae6.chunk.js.map",
- "109.fea37f16.chunk.js.map": "/static/js/109.fea37f16.chunk.js.map",
- "203.e56567f8.chunk.js.map": "/static/js/203.e56567f8.chunk.js.map",
- "621.a72de2cb.chunk.js.map": "/static/js/621.a72de2cb.chunk.js.map",
- "320.f30ff8c0.chunk.js.map": "/static/js/320.f30ff8c0.chunk.js.map",
- "314.5b42713c.chunk.js.map": "/static/js/314.5b42713c.chunk.js.map",
- "972.19d4b287.chunk.js.map": "/static/js/972.19d4b287.chunk.js.map",
- "126.9837c9af.chunk.js.map": "/static/js/126.9837c9af.chunk.js.map",
- "147.660f25b1.chunk.js.map": "/static/js/147.660f25b1.chunk.js.map",
- "807.a9b3c2ae.chunk.js.map": "/static/js/807.a9b3c2ae.chunk.js.map",
- "859.88148fa8.chunk.js.map": "/static/js/859.88148fa8.chunk.js.map",
- "282.876bf6b3.chunk.js.map": "/static/js/282.876bf6b3.chunk.js.map",
- "255.28a7c83e.chunk.js.map": "/static/js/255.28a7c83e.chunk.js.map",
- "922.10b19c61.chunk.js.map": "/static/js/922.10b19c61.chunk.js.map",
- "370.721ed12b.chunk.js.map": "/static/js/370.721ed12b.chunk.js.map",
- "674.cb2cf2f8.chunk.js.map": "/static/js/674.cb2cf2f8.chunk.js.map",
- "622.95b51007.chunk.js.map": "/static/js/622.95b51007.chunk.js.map",
- "824.71eb7c8f.chunk.js.map": "/static/js/824.71eb7c8f.chunk.js.map",
- "415.d031fb39.chunk.js.map": "/static/js/415.d031fb39.chunk.js.map",
- "349.dfb2510e.chunk.js.map": "/static/js/349.dfb2510e.chunk.js.map",
- "626.6df36496.chunk.js.map": "/static/js/626.6df36496.chunk.js.map",
- "453.6fae039d.chunk.js.map": "/static/js/453.6fae039d.chunk.js.map",
- "854.2162dcf9.chunk.js.map": "/static/js/854.2162dcf9.chunk.js.map",
- "502.89ac9055.chunk.js.map": "/static/js/502.89ac9055.chunk.js.map",
- "646.3df37337.chunk.js.map": "/static/js/646.3df37337.chunk.js.map",
- "62.785a92ce.chunk.js.map": "/static/js/62.785a92ce.chunk.js.map",
- "35.b34bde96.chunk.js.map": "/static/js/35.b34bde96.chunk.js.map",
- "355.143eaed8.chunk.js.map": "/static/js/355.143eaed8.chunk.js.map"
- },
- "entrypoints": [
- "static/css/main.3c3ddc39.css",
- "static/js/main.b1c48cdf.js"
- ]
-}
\ No newline at end of file
diff --git a/frontend/deployed/backstory_favicon.ico b/frontend/deployed/backstory_favicon.ico
deleted file mode 100755
index cc83850..0000000
Binary files a/frontend/deployed/backstory_favicon.ico and /dev/null differ
diff --git a/frontend/deployed/disable-jpk.png b/frontend/deployed/disable-jpk.png
deleted file mode 100755
index 826227c..0000000
Binary files a/frontend/deployed/disable-jpk.png and /dev/null differ
diff --git a/frontend/deployed/docs/about-app.md b/frontend/deployed/docs/about-app.md
deleted file mode 100644
index 3d86792..0000000
--- a/frontend/deployed/docs/about-app.md
+++ /dev/null
@@ -1,21 +0,0 @@
-Backstory is developed using:
-
-## Frontend
-
-* React
-* MUI
-* Plotly.js
-* MuiMarkdown
-* Mermaid
-
-## Backend
-
-* Python
-* FastAPI
-* HuggingFace Transformers
-* Ollama
-* Backstory Agent Framework
-* Prometheus
-* Grafana
-* ze-monitor
-* Jupyter Notebook
\ No newline at end of file
diff --git a/frontend/deployed/docs/about.md b/frontend/deployed/docs/about.md
deleted file mode 100644
index 5d4e904..0000000
--- a/frontend/deployed/docs/about.md
+++ /dev/null
@@ -1,28 +0,0 @@
-## Backstory is three things
-
-1. **An interactive Q&A** -- let potential employers ask questions about an individual's work history (aka "Backstory".) Based on the content the job seeker has provided to the RAG system, that can provide insights into that individual's resume and curriculum vitae that are often left out when people are trying to fit everything onto one page.
-
-
-2. **A resume builder** -- if you have a job position, and you think this person might be a candidate, paste your job description and have a resume produced based on their data. If it looks interesting, reach out to them. If not, hopefully you've gained some insight into what drives them.
-
-3. **A curated expert about you** -- as a potential job seeker, you can self host this environment and generate resumes for yourself.
-
- While this project was generally built for self-hosting with open source models, you can use any of the frontier models. The API adapters in this project can be configured to use infrastructure hosted from Anthropic, Google, Grok, and OpenAI (alphabetical.) For information, see [https://github.com/jketreno/backstory/README.md](https://github.com/jketreno/backstory/README.md#Frontier_Models).
-
-
-## This application was developed to achieve a few goals:
-
-1. See if it is realistic to self-host AI LLMs. Turns out, it is -- with constraints. I don't have the GPU hardware to run models larger than about 8 billion parameters, which puts my local deployment in the realm of a Small Language Model (SLM.) I've been meaning to write a blog post about what to buy to build an AI PC that can run the latest "small" (7B) parameter models.
-2. Provide a recent example of my capabilities; many of my projects while working for Intel were internally facing. The source code to this project is available on [GitHub](https://github.com/jketreno/backstory). It doesn't touch on much of my history of work, however it does represent the pace at which I can adapt and develop useful solutions to fill a gap. During this project's development I have had the opportunity to test and use many of the latest frontier models, which has allowed me to develop at a pace that far exceeds what I could have done even a year ago.
-3. Explore Stable Diffusion (SD), Reinforced Learning (RL), Large Language Models (LLM), Paramater-Efficient Fine-Tuning (PEFT), Quantized Low-Rank Adapters (QLORA), open source and frontier models, tokenizers, and the vast open-source ecosystem for Machine Learning (ML) and Artificial Intelligence (AI). I wanted to do this to understand the strengths, weakness, and state of the industry in its development and deployment of those technologies.
-4. My career at Intel was diverse. Over the years, I have worked on many projects almost everywhere in the computer ecosystem. That results in a resume that is either too long, or too short. This application is intended to provide a quick way for employers to interactively ask about me. You can view my resume in totality, or use the Resume Builder to post your job position to see how I fit. Or go the Backstory and ask questions about the projects mentioned in my resume.
-
-## Some questions I've been asked
-
-Q.