From 5795b25bf2105ed98cc42e06152e014d928a2f42 Mon Sep 17 00:00:00 2001 From: thomasht86 Date: Thu, 22 Aug 2024 14:03:49 +0200 Subject: [PATCH 01/13] add fasthtml demo-app --- examples/fasthtml-demo/.env.example | 8 + examples/fasthtml-demo/.gitignore | 15 + examples/fasthtml-demo/Dockerfile | 10 + examples/fasthtml-demo/Dockerfile.nonhf | 16 + examples/fasthtml-demo/README.md | 141 ++++ examples/fasthtml-demo/assets/admin-login.png | Bin 0 -> 57214 bytes examples/fasthtml-demo/assets/query-log.png | Bin 0 -> 209111 bytes examples/fasthtml-demo/assets/search-page.png | Bin 0 -> 200502 bytes examples/fasthtml-demo/config.ini | 5 + examples/fasthtml-demo/deploy_app.ipynb | 621 +++++++++++++++ examples/fasthtml-demo/deploy_hf.py | 93 +++ examples/fasthtml-demo/main.py | 714 ++++++++++++++++++ examples/fasthtml-demo/requirements.txt | 5 + 13 files changed, 1628 insertions(+) create mode 100644 examples/fasthtml-demo/.env.example create mode 100644 examples/fasthtml-demo/.gitignore create mode 100644 examples/fasthtml-demo/Dockerfile create mode 100644 examples/fasthtml-demo/Dockerfile.nonhf create mode 100644 examples/fasthtml-demo/README.md create mode 100644 examples/fasthtml-demo/assets/admin-login.png create mode 100644 examples/fasthtml-demo/assets/query-log.png create mode 100644 examples/fasthtml-demo/assets/search-page.png create mode 100644 examples/fasthtml-demo/config.ini create mode 100644 examples/fasthtml-demo/deploy_app.ipynb create mode 100644 examples/fasthtml-demo/deploy_hf.py create mode 100644 examples/fasthtml-demo/main.py create mode 100644 examples/fasthtml-demo/requirements.txt diff --git a/examples/fasthtml-demo/.env.example b/examples/fasthtml-demo/.env.example new file mode 100644 index 000000000..abd31e9e0 --- /dev/null +++ b/examples/fasthtml-demo/.env.example @@ -0,0 +1,8 @@ +# The URL of your Vespa Cloud application (you get it when running `deploy_app.ipynb`) +VESPA_APP_URL=https://my-vespa-endpoint.z.vespa-app.cloud/ +# The secret token for your Vespa Cloud application (Created in Vespa Cloud Console) +VESPA_CLOUD_SECRET_TOKEN=vespa_cloud_mysecret_tokenabcdeabcdeabcdedcba +# Username of admin user (has access to query logs in SQLite DB) +ADMIN_NAME=admin +# Password of admin user +ADMIN_PWD=admin \ No newline at end of file diff --git a/examples/fasthtml-demo/.gitignore b/examples/fasthtml-demo/.gitignore new file mode 100644 index 000000000..90cb85950 --- /dev/null +++ b/examples/fasthtml-demo/.gitignore @@ -0,0 +1,15 @@ +ft/ +db/ +session/ +todo/ +fasthtml/ +.venv/ +__pycache__/ +.python-version +# Python stuff +*.pyc +*.pyo + + +.env +.sesskey \ No newline at end of file diff --git a/examples/fasthtml-demo/Dockerfile b/examples/fasthtml-demo/Dockerfile new file mode 100644 index 000000000..9a70b71ee --- /dev/null +++ b/examples/fasthtml-demo/Dockerfile @@ -0,0 +1,10 @@ +FROM python:3.10 +WORKDIR /code +COPY --link --chown=1000 . . +RUN mkdir -p /tmp/cache/ session/ db/ +RUN chmod a+rwx -R /tmp/cache/ session/ db/ +ENV HF_HUB_CACHE=HF_HOME +RUN pip install --no-cache-dir -r requirements.txt + +ENV PYTHONUNBUFFERED=1 PORT=7860 +CMD ["python", "main.py"] diff --git a/examples/fasthtml-demo/Dockerfile.nonhf b/examples/fasthtml-demo/Dockerfile.nonhf new file mode 100644 index 000000000..2c41796e2 --- /dev/null +++ b/examples/fasthtml-demo/Dockerfile.nonhf @@ -0,0 +1,16 @@ +FROM python:3.10 +# Set working directory +WORKDIR /code +# Copy only the requirements file to leverage Docker cache +COPY --chown=1000 requirements.txt . +# Install dependencies +RUN pip install --no-cache-dir -r requirements.txt +# Copy the rest of the application code +COPY --chown=1000 . . +# Create necessary directories with appropriate permissions +RUN mkdir -p /tmp/cache/ session/ \ + && chmod a+rwx -R /tmp/cache/ session/ +# Set environment variable +ENV PYTHONUNBUFFERED=1 +# Define the command to run the application +CMD ["python", "main.py"] \ No newline at end of file diff --git a/examples/fasthtml-demo/README.md b/examples/fasthtml-demo/README.md new file mode 100644 index 000000000..b4cedc5e3 --- /dev/null +++ b/examples/fasthtml-demo/README.md @@ -0,0 +1,141 @@ +--- +title: vespa-engine/fasthtml-vespa +emoji: 🚀 +colorFrom: purple +colorTo: red +sdk: docker +app_file: main.py +pinned: false +termination_grace_period: 2m +--- + + + + + + #Vespa + + +# FastHTML Vespa frontend + +This is a simple frontend for Vespa search engine. It is built using [FastHTML](https://www.fastht.ml/) and written in pure Python. +Check out the [live demo](https://huggingface.co/spaces/vespa-engine/fasthtml-vespa) on Huggingface Spaces. + +Search page | Login page | Query logs +:-------------------------:|:-------------------------:|:-------------------------: +![search](assets/search-page.png) | ![admin-login](assets/admin-login.png) | ![query-log](assets/query-log.png) + +### Features + +- Simple search interface, with links to search results. +- Accordion with full JSON-response from Vespa. +- SQLite DB for storing queries. +- Admin authentication for viewing and downloading queries. +- Deployment options - Docker + [Huggingface spaces](https://huggingface.co/spaces/). + +### Why? + +We have recognized the need, both for ourselves and others, to be able to set up a simple frontend for Vespa, without having to navigate the frontend framework jungle. Demo frontend apps often end up with a bunch of dependendcies and angry github renovate bots. :robot: :sad: + +This sample-app can serve as an example of how you can build and deploy a simple frontend for Vespa, using FastHTML. + +### How to use + +#### 1. Clone this folder to your local machine 📂 + +The command below will clone the repository and only fetch the `fasthtml-frontend` folder. + +```bash +git clone --depth 1 --filter=blob:none --sparse https://github.com/vespa-engine/sample-apps.git temp-sample-apps && cd temp-sample-apps && git sparse-checkout set fasthtml-demo && mkdir -p ../fasthtml-demo && mv fasthtml-demo/* ../fasthtml-demp/ && cd .. && rm -rf temp-sample-apps +``` + +#### 2. Install dependencies 🔧 + +```bash +pip install -r requirements.txt +``` + +#### 3. Run the app locally 💻 + +```bash +python main.py +``` + +At this point, you should be able to access the app at [http://localhost:5001](http://localhost:5001). + +But, you will _not_ be able to search for anything, as your environment variables are not set up. + +#### 4. Deploy and feed your Vespa application ▶️ + +By running the `deploy_app.ipynb` notebook, you will deploy a Vespa application to the Vespa Cloud. The application is just a sample hybrid search application using the [BEIR/nfcorpus](https://huggingface.co/datasets/BeIR/nfcorpus) dataset. +Feel free to replace the dataset and application with your own. + +Make sure to replace these variables at the top of the notebook with your own values: + +```python +# Replace with your tenant name from the Vespa Cloud Console +tenant_name = "mytenant" +# Replace with your application name (does not need to exist yet) +application = "fasthtml" +# Token id (from Vespa Cloud Console) +token_id = "fasthtmltoken" +``` + +#### 5. Set up environment variables 🔐 + +Make sure to add the output of the `token_endpoint` from the `deploy_app.ipynb`- notebook to your `.env.example` file. +This value should be placed in the `VESPA_APP_URL` environment variable. + +At the same time, you should rename the `.env.example` file to `.env`. This is added to the `.gitignore` file. + +#### 6. Run the app locally 🚀 + +Now, you should be able to run the app locally and search for queries. + +```bash +python main.py +``` + +Open your browser and navigate to [http://localhost:5001](http://localhost:5001). + +### Deployment + +If you want to deploy the app, you set the `DEV_MODE=False` in `main.py`. +This will disable loading of environment variables from the `.env` file, and instead use the environment variables set in the deployment environment. + +#### Docker 🐳 + +You can build and run the app using Docker. + +Note that there are two Dockerfiles in the repo: + +- `Dockerfile` is for building the image for Huggingface Spaces. +- `Dockerfile.nonhf` is for building an image that can be run locally or on any other platform. + +Build the image: + +```bash +docker build -t fhtdemoimg . -f Dockerfile.nonhf +``` + +**Run the container:** + +- Makes the environment variables in the `.env` file available to the container. +- Will mount the `db/` folder to the container, so that the SQLite database is persisted between runs. +- Sets the hostname to `dockerhost`, so that we can know use that to enable hot-reloading in the FastHTML app. +- Maps the default Starlette port `5001` to `8000` on the host. + +```bash +docker run --name fhtdemo --rm --env-file .env -p 8000:5001 -h dockerhost -v $(pwd)/db:/code/db fhtdemoimg +``` + +#### Huggingface 🤗 Spaces + +This deployment option is free. The deployment script is shamelessly copied from the [fasthtml-hf](https://github.com/AnswerDotAI/fasthtml-hf) repo. Check it out for details on cli-options, configuration and DB-backup options. + +1. Get a huggingface token with `write` permissions. You can do this by going to your [Huggingface profile](https://huggingface.co/settings/tokens) and create a new token. +2. Set the `HF_TOKEN` environment variable to the token you just created. +3. Run `python deploy_hf.py [--private true]` to deploy the app to Huggingface Spaces. +4. Remember to add `VESPA_APP_URL` and `VESPA_CLOUD_SECRET_TOKEN` to the environment variables in the [Huggingface Spaces settings.](https://huggingface.co/docs/hub/en/spaces-overview#managing-secrets) + +### Go build some cool Vespa apps! 🚀 \ No newline at end of file diff --git a/examples/fasthtml-demo/assets/admin-login.png b/examples/fasthtml-demo/assets/admin-login.png new file mode 100644 index 0000000000000000000000000000000000000000..176200e4e798b8fa7cc64e80218580a1f8b88843 GIT binary patch literal 57214 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%0DljhdLRWN>{ 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

EZ`Q*zoA|XfdjI^gQav2$<&3EJe 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 J=pQ%k{tp(Jg|h$v literal 0 HcmV?d00001 diff --git a/examples/fasthtml-demo/assets/search-page.png b/examples/fasthtml-demo/assets/search-page.png new file mode 100644 index 0000000000000000000000000000000000000000..a2b123a90ebd4397d7be3510d1fb194bc4be146c GIT binary patch literal 200502 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 }#Gio*Q` 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 eIuQIXxp!)P$zD6Fn zK}LEmUrL!wk>{V0uFq=mfUnE=$p@tf>+6{9|Urf&K_g z-WS=|Fa`n;fB*!PfDOJCc05uFx?QTIY~_@>>gNqk+3SDbu*a5?ZgJ}yH|Q7+@)e%b zk5=8{un$vOM?XA+?T|Cq{Kiw*>R{Y9Zw(Yp%@>`*-XE2TtoHqM zCASTV`+ns&d|vmz)=J z+-9$A_l|^L@xX5++)m#9(f|A5G4hW;=mT1d$Hl4E@?IZlNvp7jGXLb&&A+41X_1M; zm)2ILi>(UQxZ=OeHNUMrM|Hn~Q@|(}PsZIu>h7mJF24GG;>R7?naqA#W;c(}uN!x# za4BiGq!G%5ZkM-O_S{*Aex6j}n7`$cM!u_y>kJp&wz4G+KTI$7PI>7jp49LfuwB?r zEbDDg+pv?wnY}^p?Lek<(03AkB|BeT&!SGq>DHyLFR`$FvL{=S^U1NZ?{DC|NQl>?N7AD{@N!k(@4|$hG@G(o9(W( zzm2xFo&i5@wO3Z1-w2;5pD$O>L*u%|X%oLZnP|)X6Yk7S7be_JHjKv$pL#tzs&S;Z zeSX?;-#c;Sna#e=`n~u3Qfw!J(d*8Uah1akGi{Jt8jyBqrd({ z?X1OEW~;Zg$QbEbdFsD@9Pzb;pE`WEZ@06)eYYy!3fmu%@GIJ}2EI%e_I~@bLEMie zoit|W!YA^sZOYim?@0Q2<;mXof5~gwe-?InchXPgCl1$%1%5yL<}cS|Quzni8?1a=WnoVOoaZc?k2>#y#@OkG3$9RTt}1O@YAa^8Ay9>ApE%1Uft(di58jD@Go0?YvfK?PZlDC?1FE|_}BH@=vw_23&K_G$f3Y5;Z7?@ zC;9kVO1QK(w)P#_?6d8A%za13@zj6accj@<;!WhYTbUsKxX)~f%a^l@zFX~6dS9?O zI+UaDHa*B=nCF4I>qQydPdAw#Tx!Gwfmu(W-rmH`&S1*xKc|CJ0000aaW literal 0 HcmV?d00001 diff --git a/examples/fasthtml-demo/config.ini b/examples/fasthtml-demo/config.ini new file mode 100644 index 000000000..76c049bda --- /dev/null +++ b/examples/fasthtml-demo/config.ini @@ -0,0 +1,5 @@ +[DEFAULT] +dataset_id = space-backup +db_dir = data +private_backup = True +interval = 5 diff --git a/examples/fasthtml-demo/deploy_app.ipynb b/examples/fasthtml-demo/deploy_app.ipynb new file mode 100644 index 000000000..b9fa5b31a --- /dev/null +++ b/examples/fasthtml-demo/deploy_app.ipynb @@ -0,0 +1,621 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "given-adoption", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "\n", + " \n", + " \n", + " \"#Vespa\"\n", + "\n", + "\n", + "# Deploy a sample app to Vespa Cloud\n", + "\n", + "This is the same guide as [getting-started-pyvespa](https://pyvespa.readthedocs.io/en/latest/getting-started-pyvespa.html), deploying to Vespa Cloud.\n" + ] + }, + { + "cell_type": "markdown", + "id": "4f8c1448", + "metadata": {}, + "source": [ + "

\n" + ] + }, + { + "cell_type": "markdown", + "id": "148d275b", + "metadata": {}, + "source": [ + "**Pre-requisite**: Create a tenant at [cloud.vespa.ai](https://cloud.vespa.ai/), save the tenant name.\n", + "\n", + "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/vespa-engine/pyvespa/blob/master/docs/sphinx/source/getting-started-pyvespa-cloud.ipynb)\n" + ] + }, + { + "cell_type": "markdown", + "id": "366b0d83", + "metadata": {}, + "source": [ + "## Install\n", + "\n", + "Install [pyvespa](https://pyvespa.readthedocs.io/) >= 0.45\n", + "and the [Vespa CLI](https://docs.vespa.ai/en/vespa-cli.html).\n", + "The Vespa CLI is used for data and control plane key management ([Vespa Cloud Security Guide](https://cloud.vespa.ai/en/security/guide)).\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "136750de", + "metadata": {}, + "outputs": [], + "source": [ + "!pip3 install pyvespa vespacli datasets" + ] + }, + { + "cell_type": "markdown", + "id": "02f706ff", + "metadata": {}, + "source": [ + "## Configure application\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "9ca4da83", + "metadata": {}, + "outputs": [], + "source": [ + "# Replace with your tenant name from the Vespa Cloud Console\n", + "tenant_name = \"mytenant\"\n", + "# Replace with your application name (does not need to exist yet)\n", + "application = \"fasthtml\"\n", + "# Token id (from Vespa Cloud Console)\n", + "token_id = \"fasthtmltoken\"" + ] + }, + { + "cell_type": "markdown", + "id": "db637322", + "metadata": {}, + "source": [ + "## Create an application package\n", + "\n", + "The [application package](https://pyvespa.readthedocs.io/en/latest/reference-api.html#vespa.package.ApplicationPackage)\n", + "has all the Vespa configuration files -\n", + "create one from scratch:\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "bd5c2629", + "metadata": {}, + "outputs": [], + "source": [ + "from vespa.package import (\n", + " ApplicationPackage,\n", + " Field,\n", + " Schema,\n", + " Document,\n", + " HNSW,\n", + " RankProfile,\n", + " Component,\n", + " Parameter,\n", + " FieldSet,\n", + " GlobalPhaseRanking,\n", + " Function,\n", + " AuthClient,\n", + ")\n", + "\n", + "package = ApplicationPackage(\n", + " name=application,\n", + " schema=[\n", + " Schema(\n", + " name=\"doc\",\n", + " document=Document(\n", + " fields=[\n", + " Field(name=\"id\", type=\"string\", indexing=[\"summary\"]),\n", + " Field(\n", + " name=\"title\",\n", + " type=\"string\",\n", + " indexing=[\"index\", \"summary\"],\n", + " index=\"enable-bm25\",\n", + " ),\n", + " Field(\n", + " name=\"body\",\n", + " type=\"string\",\n", + " indexing=[\"index\", \"summary\"],\n", + " index=\"enable-bm25\",\n", + " bolding=True,\n", + " ),\n", + " Field(\n", + " name=\"embedding\",\n", + " type=\"tensor(x[384])\",\n", + " indexing=[\n", + " 'input title . \" \" . input body',\n", + " \"embed\",\n", + " \"index\",\n", + " \"attribute\",\n", + " ],\n", + " ann=HNSW(distance_metric=\"angular\"),\n", + " is_document_field=False,\n", + " ),\n", + " ]\n", + " ),\n", + " fieldsets=[FieldSet(name=\"default\", fields=[\"title\", \"body\"])],\n", + " rank_profiles=[\n", + " RankProfile(\n", + " name=\"bm25\",\n", + " inputs=[(\"query(q)\", \"tensor(x[384])\")],\n", + " functions=[\n", + " Function(name=\"bm25sum\", expression=\"bm25(title) + bm25(body)\")\n", + " ],\n", + " first_phase=\"bm25sum\",\n", + " ),\n", + " RankProfile(\n", + " name=\"semantic\",\n", + " inputs=[(\"query(q)\", \"tensor(x[384])\")],\n", + " first_phase=\"closeness(field, embedding)\",\n", + " ),\n", + " RankProfile(\n", + " name=\"fusion\",\n", + " inherits=\"bm25\",\n", + " inputs=[(\"query(q)\", \"tensor(x[384])\")],\n", + " first_phase=\"closeness(field, embedding)\",\n", + " global_phase=GlobalPhaseRanking(\n", + " expression=\"reciprocal_rank_fusion(bm25sum, closeness(field, embedding))\",\n", + " rerank_count=1000,\n", + " ),\n", + " ),\n", + " ],\n", + " )\n", + " ],\n", + " components=[\n", + " Component(\n", + " id=\"e5\",\n", + " type=\"hugging-face-embedder\",\n", + " parameters=[\n", + " Parameter(\n", + " \"transformer-model\",\n", + " {\n", + " \"url\": \"https://github.com/vespa-engine/sample-apps/raw/master/simple-semantic-search/model/e5-small-v2-int8.onnx\"\n", + " },\n", + " ),\n", + " Parameter(\n", + " \"tokenizer-model\",\n", + " {\n", + " \"url\": \"https://raw.githubusercontent.com/vespa-engine/sample-apps/master/simple-semantic-search/model/tokenizer.json\"\n", + " },\n", + " ),\n", + " ],\n", + " )\n", + " ],\n", + " auth_clients=[\n", + " AuthClient(\n", + " id=\"mtls\",\n", + " permissions=[\"read\", \"write\"],\n", + " parameters=[Parameter(\"certificate\", {\"file\": \"security/clients.pem\"})],\n", + " ),\n", + " AuthClient(\n", + " id=\"token\",\n", + " permissions=[\"read\"], # Token client only needs read permission\n", + " parameters=[Parameter(\"token\", {\"id\": token_id})],\n", + " ),\n", + " ],\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "2c5e2943", + "metadata": {}, + "source": [ + "Note that the name cannot have `-` or `_`.\n" + ] + }, + { + "cell_type": "markdown", + "id": "careful-savage", + "metadata": {}, + "source": [ + "## Deploy to Vespa Cloud\n", + "\n", + "The app is now defined and ready to deploy to Vespa Cloud.\n", + "\n", + "Deploy `package` to Vespa Cloud, by creating an instance of\n", + "[VespaCloud](https://pyvespa.readthedocs.io/en/latest/reference-api.html#vespa.deployment.VespaCloud):\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "canadian-blood", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Setting application...\n", + "Running: vespa config set application scoober.fasthtml\n", + "Setting target cloud...\n", + "Running: vespa config set target cloud\n", + "\n", + "No api-key found for control plane access. Using access token.\n", + "Checking for access token in auth.json...\n", + "Successfully obtained access token for control plane access.\n" + ] + } + ], + "source": [ + "from vespa.deployment import VespaCloud\n", + "\n", + "vespa_cloud = VespaCloud(\n", + " tenant=tenant_name,\n", + " application=application,\n", + " application_package=package,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "197c0a27", + "metadata": {}, + "source": [ + "The following will upload the application package to Vespa Cloud Dev Zone (`aws-us-east-1c`), read more about [Vespa Zones](https://cloud.vespa.ai/en/reference/zones.html).\n", + "The Vespa Cloud Dev Zone is considered as a sandbox environment where resources are down-scaled and idle deployments are expired automatically.\n", + "For information about production deployments, see the following [example](https://pyvespa.readthedocs.io/en/latest/getting-started-pyvespa-cloud.html#Example:-Deploy-the-app-to-the-prod-environment).\n", + "\n", + "> Note: Deployments to dev and perf expire after 7 days of inactivity, i.e., 7 days after running deploy. This applies to all plans, not only the Free Trial. Use the Vespa Console to extend the expiry period, or redeploy the application to add 7 more days.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "752166fc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Deployment started in run 13 of dev-aws-us-east-1c for scoober.fasthtml. This may take a few minutes the first time.\n", + "INFO [10:44:08] Deploying platform version 8.397.20 and application dev build 7 for dev-aws-us-east-1c of default ...\n", + "INFO [10:44:08] Using CA signed certificate version 1\n", + "INFO [10:44:08] Using 1 nodes in container cluster 'fasthtml_container'\n", + "INFO [10:44:11] Validating Onnx models memory usage for container cluster 'fasthtml_container', percentage of available memory too low (10 < 15) to avoid restart, consider a flavor with more memory to avoid this\n", + "INFO [10:44:13] Session 4210 for tenant 'scoober' prepared and activated.\n", + "INFO [10:44:13] ######## Details for all nodes ########\n", + "INFO [10:44:13] h94419b.dev.aws-us-east-1c.vespa-external.aws.oath.cloud: expected to be UP\n", + "INFO [10:44:13] --- platform vespa/cloud-tenant-rhel8:8.397.20\n", + "INFO [10:44:13] --- storagenode on port 19102 has config generation 4210, wanted is 4210\n", + "INFO [10:44:13] --- searchnode on port 19107 has config generation 4210, wanted is 4210\n", + "INFO [10:44:13] --- distributor on port 19111 has config generation 4210, wanted is 4210\n", + "INFO [10:44:13] --- metricsproxy-container on port 19092 has config generation 4210, wanted is 4210\n", + "INFO [10:44:13] h93281d.dev.aws-us-east-1c.vespa-external.aws.oath.cloud: expected to be UP\n", + "INFO [10:44:13] --- platform vespa/cloud-tenant-rhel8:8.397.20\n", + "INFO [10:44:13] --- container-clustercontroller on port 19050 has config generation 4209, wanted is 4210\n", + "INFO [10:44:13] --- metricsproxy-container on port 19092 has config generation 4210, wanted is 4210\n", + "INFO [10:44:13] h93281b.dev.aws-us-east-1c.vespa-external.aws.oath.cloud: expected to be UP\n", + "INFO [10:44:13] --- platform vespa/cloud-tenant-rhel8:8.397.20\n", + "INFO [10:44:13] --- logserver-container on port 4080 has config generation 4209, wanted is 4210\n", + "INFO [10:44:13] --- metricsproxy-container on port 19092 has config generation 4210, wanted is 4210\n", + "INFO [10:44:13] h95982a.dev.aws-us-east-1c.vespa-external.aws.oath.cloud: expected to be UP\n", + "INFO [10:44:13] --- platform vespa/cloud-tenant-rhel8:8.397.20\n", + "INFO [10:44:13] --- container on port 4080 has config generation 4209, wanted is 4210\n", + "INFO [10:44:13] --- metricsproxy-container on port 19092 has config generation 4209, wanted is 4210\n", + "INFO [10:44:23] Found endpoints:\n", + "INFO [10:44:23] - dev.aws-us-east-1c\n", + "INFO [10:44:23] |-- https://d14d3ce0.ba4a39d8.z.vespa-app.cloud/ (cluster 'fasthtml_container')\n", + "INFO [10:44:23] Deployment of new application complete!\n", + "Found mtls endpoint for fasthtml_container\n", + "URL: https://d14d3ce0.ba4a39d8.z.vespa-app.cloud/\n", + "Connecting to https://d14d3ce0.ba4a39d8.z.vespa-app.cloud/\n", + "Using Mutual TLS with key and cert to connect to Vespa endpoint https://d14d3ce0.ba4a39d8.z.vespa-app.cloud/\n", + "Application is up!\n", + "Finished deployment.\n" + ] + } + ], + "source": [ + "app = vespa_cloud.deploy()" + ] + }, + { + "cell_type": "markdown", + "id": "aaae2f91", + "metadata": {}, + "source": [ + "If the deployment failed, it is possible you forgot to add the key in the Vespa Cloud Console in the `vespa auth api-key` step above.\n", + "\n", + "If you can authenticate, you should see lines like the following\n", + "\n", + "```\n", + " Deployment started in run 1 of dev-aws-us-east-1c for mytenant.hybridsearch.\n", + "```\n", + "\n", + "The deployment takes a few minutes the first time while Vespa Cloud sets up the resources for your Vespa application\n", + "\n", + "`app` now holds a reference to a [Vespa](https://pyvespa.readthedocs.io/en/latest/reference-api.html#vespa.application.Vespa) instance. We can access the\n", + "mTLS protected endpoint name using the control-plane (vespa_cloud) instance. This endpoint we can query and feed to (data plane access) using the\n", + "mTLS certificate generated in previous steps.\n" + ] + }, + { + "cell_type": "markdown", + "id": "sealed-mustang", + "metadata": {}, + "source": [ + "### Feeding documents to Vespa\n", + "\n", + "In this example we use the [HF Datasets](https://huggingface.co/docs/datasets/index) library to stream the\n", + "[BeIR/nfcorpus](https://huggingface.co/datasets/BeIR/nfcorpus) dataset and index in our newly deployed Vespa instance. Read\n", + "more about the [NFCorpus](https://www.cl.uni-heidelberg.de/statnlpgroup/nfcorpus/):\n", + "\n", + "> NFCorpus is a full-text English retrieval data set for Medical Information Retrieval.\n", + "\n", + "The following uses the [stream](https://huggingface.co/docs/datasets/stream) option of datasets to stream the data without\n", + "downloading all the contents locally. The `map` functionality allows us to convert the\n", + "dataset fields into the expected feed format for `pyvespa` which expects a dict with the keys `id` and `fields`:\n", + "\n", + "`{ \"id\": \"vespa-document-id\", \"fields\": {\"vespa_field\": \"vespa-field-value\"}}`\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "9a49fa8e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Found token endpoint for fasthtml_container\n", + "URL: https://d3f601e7.ba4a39d8.z.vespa-app.cloud/\n" + ] + }, + { + "data": { + "text/plain": [ + "'https://d3f601e7.ba4a39d8.z.vespa-app.cloud/'" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "token_endpoint = vespa_cloud.get_token_endpoint()\n", + "token_endpoint" + ] + }, + { + "cell_type": "markdown", + "id": "126c0c29", + "metadata": {}, + "source": [ + "Add this endpoint to your `.env.example` file:\n", + "\n", + "```bash\n", + "VESPA_APP_URL=https://d3f601e7.ba4a39d8.z.vespa-app.cloud/\n", + "```\n", + "\n", + "Remember to rename the file to `.env`.\n" + ] + }, + { + "cell_type": "markdown", + "id": "775f3dd4", + "metadata": {}, + "source": [ + "## Feed data\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "executed-reservoir", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/thomas/.pyenv/versions/3.9.19/envs/pyvespa-dev/lib/python3.9/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", + " from .autonotebook import tqdm as notebook_tqdm\n" + ] + } + ], + "source": [ + "from datasets import load_dataset\n", + "\n", + "dataset = load_dataset(\"BeIR/nfcorpus\", \"corpus\", split=\"corpus\", streaming=True)\n", + "vespa_feed = dataset.map(\n", + " lambda x: {\n", + " \"id\": x[\"_id\"],\n", + " \"fields\": {\"title\": x[\"title\"], \"body\": x[\"text\"], \"id\": x[\"_id\"]},\n", + " }\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "4f0ca33f", + "metadata": {}, + "source": [ + "Now we can feed to Vespa using `feed_iterable` which accepts any `Iterable` and an optional callback function where we can\n", + "check the outcome of each operation. The application is configured to use [embedding](https://docs.vespa.ai/en/embedding.html)\n", + "functionality, that produce a vector embedding using a concatenation of the title and the body input fields. This step is resource intensive.\n", + "\n", + "Read more about embedding inference in Vespa in the [Accelerating Transformer-based Embedding Retrieval with Vespa](https://blog.vespa.ai/accelerating-transformer-based-embedding-retrieval-with-vespa/)\n", + "blog post.\n", + "\n", + "Default node resources in Vespa Cloud have 2 v-cpu for the Dev Zone.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "bottom-memorabilia", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Using mtls_key_cert Authentication against endpoint https://d14d3ce0.ba4a39d8.z.vespa-app.cloud//ApplicationStatus\n" + ] + } + ], + "source": [ + "from vespa.io import VespaResponse\n", + "\n", + "\n", + "def callback(response: VespaResponse, id: str):\n", + " if not response.is_successful():\n", + " print(f\"Error when feeding document {id}: {response.get_json()}\")\n", + "\n", + "\n", + "app.feed_iterable(vespa_feed, schema=\"doc\", namespace=\"tutorial\", callback=callback)" + ] + }, + { + "cell_type": "markdown", + "id": "336e339d", + "metadata": {}, + "source": [ + "### Run a test query\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "11faeacf", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'root': {'id': 'toplevel',\n", + " 'relevance': 1.0,\n", + " 'fields': {'totalCount': 1387},\n", + " 'coverage': {'coverage': 100,\n", + " 'documents': 3633,\n", + " 'full': True,\n", + " 'nodes': 1,\n", + " 'results': 1,\n", + " 'resultsFull': 1},\n", + " 'children': [{'id': 'id:tutorial:doc::MED-2464',\n", + " 'relevance': 0.03200204813108039,\n", + " 'source': 'fasthtml_content',\n", + " 'fields': {'sddocname': 'doc',\n", + " 'body': \"BACKGROUND: In recent decades, children's diet quality has changed and asthma prevalence has increased, although it remains unclear if these events are associated. OBJECTIVE: To examine children's total and component diet quality and asthma and airway hyperresponsiveness (AHR), a proxy for asthma severity. METHODS: Food frequency questionnaires adapted from the Nurses' Health Study and supplemented with foods whose nutrients which have garnered interest of late in relation to asthma were administered. From these data, diet quality scores (total and component), based on the Youth Healthy Eating Index (YHEI adapted) were developed. Asthma assessments were performed by pediatric allergists and classified by atopic status: Allergic asthma (≥1 positive skin prick test to common allergens >3 mm compared to negative control) versus non-allergic asthma (negative skin prick test). AHR was assessed via the Cockcroft technique. Participants included 270 boys (30% with asthma) and 206 girls (33% with asthma) involved in the 1995 Manitoba Prospective Cohort Study nested case-control study. Logistic regression was used to examine associations between diet quality and asthma, and multinomial logistic regression was used to examine associations between diet quality and AHR. RESULTS: Four hundred seventy six children (56.7% boys) were seen at 12.6 ± 0.5 years. Asthma and AHR prevalence were 26.2 and 53.8%, respectively. In fully adjusted models, high vegetable intake was protective against allergic asthma (OR 0.49; 95% CI 0.29-0.84; P < 0.009) and moderate/severe AHR (OR 0.58; 0.37-0.91; P < 0.019). CONCLUSIONS: Vegetable intake is inversely associated with allergic asthma and moderate/severe AHR. Copyright © 2012 Wiley Periodicals, Inc.\",\n", + " 'documentid': 'id:tutorial:doc::MED-2464',\n", + " 'id': 'MED-2464',\n", + " 'title': 'Low vegetable intake is associated with allergic asthma and moderate-to-severe airway hyperresponsiveness.'}},\n", + " {'id': 'id:tutorial:doc::MED-2450',\n", + " 'relevance': 0.03177805800756621,\n", + " 'source': 'fasthtml_content',\n", + " 'fields': {'sddocname': 'doc',\n", + " 'body': \"Background Atopy is not uncommon among children living in rural Crete, but wheeze and rhinitis are rare. A study was undertaken to examine whether this discrepancy could be attributed to a high consumption of fresh fruit and vegetables or adherence to a traditional Mediterranean diet. Methods A cross‐sectional survey was performed in 690 children aged 7–18\\u2005years in rural Crete. Parents completed a questionnaire on their child's respiratory and allergic symptoms and a 58‐item food frequency questionnaire. Adherence to a Mediterranean diet was measured using a scale with 12 dietary items. Children underwent skin prick tests with 10 common aeroallergens. Results 80% of children ate fresh fruit (and 68% vegetables) at least twice a day. The intake of grapes, oranges, apples, and fresh tomatoes—the main local products in Crete—had no association with atopy but was protective for wheezing and rhinitis. A high consumption of nuts was found to be inversely associated with wheezing (OR 0.46; 95% CI 0.20 to 0.98), whereas margarine increased the risk of both wheeze (OR 2.19; 95% CI 1.01 to 4.82) and allergic rhinitis (OR 2.10; 95% CI 1.31 to 3.37). A high level of adherence to the Mediterranean diet was protective for allergic rhinitis (OR 0.34; 95% CI 0.18 to 0.64) while a more modest protection was observed for wheezing and atopy. Conclusion The results of this study suggest a beneficial effect of commonly consumed fruits, vegetables and nuts, and of a high adherence to a traditional Mediterranean diet during childhood on symptoms of asthma and rhinitis. Diet may explain the relative lack of allergic symptoms in this population.\",\n", + " 'documentid': 'id:tutorial:doc::MED-2450',\n", + " 'id': 'MED-2450',\n", + " 'title': 'Protective effect of fruits, vegetables and the Mediterranean diet on asthma and allergies among children in Crete'}},\n", + " {'id': 'id:tutorial:doc::MED-2458',\n", + " 'relevance': 0.030776515151515152,\n", + " 'source': 'fasthtml_content',\n", + " 'fields': {'sddocname': 'doc',\n", + " 'body': 'BACKGROUND: Antioxidant-rich diets are associated with reduced asthma prevalence in epidemiologic studies. We previously showed that short-term manipulation of antioxidant defenses leads to changes in asthma outcomes. OBJECTIVE: The objective was to investigate the effects of a high-antioxidant diet compared with those of a low-antioxidant diet, with or without lycopene supplementation, in asthma. DESIGN: Asthmatic adults (n = 137) were randomly assigned to a high-antioxidant diet (5 servings of vegetables and 2 servings of fruit daily; n = 46) or a low-antioxidant diet (≤2 servings of vegetables and 1 serving of fruit daily; n = 91) for 14 d and then commenced a parallel, randomized, controlled supplementation trial. Subjects who consumed the high-antioxidant diet received placebo. Subjects who consumed the low-antioxidant diet received placebo or tomato extract (45 mg lycopene/d). The intervention continued until week 14 or until an exacerbation occurred. RESULTS: After 14 d, subjects consuming the low-antioxidant diet had a lower percentage predicted forced expiratory volume in 1 s and percentage predicted forced vital capacity than did those consuming the high-antioxidant diet. Subjects in the low-antioxidant diet group had increased plasma C-reactive protein at week 14. At the end of the trial, time to exacerbation was greater in the high-antioxidant than in the low-antioxidant diet group, and the low-antioxidant diet group was 2.26 (95% CI: 1.04, 4.91; P = 0.039) times as likely to exacerbate. Of the subjects in the low-antioxidant diet group, no difference in airway or systemic inflammation or clinical outcomes was observed between the groups that consumed the tomato extract and those who consumed placebo. CONCLUSIONS: Modifying the dietary intake of carotenoids alters clinical asthma outcomes. Improvements were evident only after increased fruit and vegetable intake, which suggests that whole-food interventions are most effective. This trial was registered at http://www.actr.org.au as ACTRN012606000286549.',\n", + " 'documentid': 'id:tutorial:doc::MED-2458',\n", + " 'id': 'MED-2458',\n", + " 'title': 'Manipulating antioxidant intake in asthma: a randomized controlled trial.'}},\n", + " {'id': 'id:tutorial:doc::MED-2461',\n", + " 'relevance': 0.03055037313432836,\n", + " 'source': 'fasthtml_content',\n", + " 'fields': {'sddocname': 'doc',\n", + " 'body': 'This study aimed to evaluate the association of diet with respiratory symptoms and asthma in schoolchildren in Taipei, Taiwan. An in-class interview survey elicited experiences of asthma and respiratory symptoms and consumption frequencies of the major food categories in 2290 fifth graders. Respiratory symptoms surveyed included persistent cough, chest tightness, wheezing with cold, wheezing without cold, dyspnea-associated wheezing, and exercise-induced cough or wheezing. Results showed that the consumption of sweetened beverages had the strongest association with respiratory symptoms and was positively associated with six of the seven respiratory symptoms (all p < 0.05). The adjusted odds ratios (aOR) ranged from 1.05 (95% confidence interval (CI = 1.01-1.09) for exercise-induced cough to 1.09 (95% CI = 1.03-1.16) for wheezing without cold. Egg consumption was associated with 5 of the 7 respiratory symptoms. Consumptions of seafood, soy products, and fruits were each negatively associated with one of the seven respiratory symptoms (all p < 0.05). Consumption of seafood was negatively associated with physician-diagnosed asthma and consumptions of sweetened beverages and eggs were positively associated with suspected asthma (p < 0.05). In conclusion, the study suggests that diet is associated with the respiratory symptoms in schoolchildren in Taipei. Consumptions of sweetened beverages and eggs are associated with increased risk of respiratory symptoms and asthma whereas consumptions of soy products and fruits are associated with reduced risk of respiratory symptoms.',\n", + " 'documentid': 'id:tutorial:doc::MED-2461',\n", + " 'id': 'MED-2461',\n", + " 'title': 'The association of diet with respiratory symptoms and asthma in schoolchildren in Taipei, Taiwan.'}},\n", + " {'id': 'id:tutorial:doc::MED-5072',\n", + " 'relevance': 0.027757078986587184,\n", + " 'source': 'fasthtml_content',\n", + " 'fields': {'sddocname': 'doc',\n", + " 'body': 'Antioxidant-rich diets are associated with reduced asthma prevalence. However, direct evidence that altering intake of antioxidant-rich foods affects asthma is lacking. The objective was to investigate changes in asthma and airway inflammation resulting from a low antioxidant diet and subsequent use of lycopene-rich treatments. Asthmatic adults (n=32) consumed a low antioxidant diet for 10 days, then commenced a randomized, cross-over trial involving 3 x 7 day treatment arms (placebo, tomato extract (45 mg lycopene/day) and tomato juice (45 mg lycopene/day)). With consumption of a low antioxidant diet, plasma carotenoid concentrations decreased, Asthma Control Score worsened, %FEV(1) and %FVC decreased and %sputum neutrophils increased. Treatment with both tomato juice and extract reduced airway neutrophil influx. Treatment with tomato extract also reduced sputum neutrophil elastase activity. In conclusion, dietary antioxidant consumption modifies clinical asthma outcomes. Changing dietary antioxidant intake may be contributing to rising asthma prevalence. Lycopene-rich supplements should be further investigated as a therapeutic intervention.',\n", + " 'documentid': 'id:tutorial:doc::MED-5072',\n", + " 'id': 'MED-5072',\n", + " 'title': 'Lycopene-rich treatments modify noneosinophilic airway inflammation in asthma: proof of concept.'}}]}}" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "with app.syncio(connections=1) as session:\n", + " query = \"How Fruits and Vegetables Can Treat Asthma?\"\n", + " response = session.query(\n", + " yql=\"select * from sources * where userQuery() or ({targetHits:1000}nearestNeighbor(embedding,q)) limit 5\",\n", + " query=query,\n", + " ranking=\"fusion\",\n", + " body={\"input.query(q)\": f\"embed({query})\"},\n", + " )\n", + " assert response.is_successful()\n", + "response.json" + ] + }, + { + "cell_type": "markdown", + "id": "072a12ac", + "metadata": {}, + "source": [ + "Now, you should be all set to run your frontend against the Vespa Cloud application.\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.19" + }, + "nbsphinx": { + "allow_errors": true + }, + "vscode": { + "interpreter": { + "hash": "b0fa6594d8f4cbf19f97940f81e996739fb7646882a419484c72d19e05852a7e" + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/fasthtml-demo/deploy_hf.py b/examples/fasthtml-demo/deploy_hf.py new file mode 100644 index 000000000..4c0f7523d --- /dev/null +++ b/examples/fasthtml-demo/deploy_hf.py @@ -0,0 +1,93 @@ +import datetime +from huggingface_hub import create_repo, upload_folder, add_space_secret, whoami +from fastcore.utils import * +from fastcore.script import * + + +def _mk_docker(python_ver): + fn = Path("Dockerfile") + if fn.exists(): + return + packages = Path("packages.txt") + pkg_line = "" + reqs = Path("requirements.txt") + if not reqs.exists(): + reqs.write_text("python-fasthtml\nfasthtml-hf\n") + req_line = "RUN pip install --no-cache-dir -r requirements.txt" + if packages.exists(): + pkglist = " ".join(packages.readlines()) + pkg_line = f"RUN apt-get update -y && apt-get install -y {pkglist}" + + cts = f"""FROM python:{python_ver} +WORKDIR /code +COPY --link --chown=1000 . . +RUN mkdir -p /tmp/cache/ +RUN chmod a+rwx -R /tmp/cache/ +ENV HF_HUB_CACHE=HF_HOME +{req_line} +{pkg_line} +ENV PYTHONUNBUFFERED=1 PORT=7860 +CMD ["python", "main.py"] +""" + fn.write_text(cts) + + +def _mk_README(space_id, termination_grace_period): + fn = Path("README.md") + if fn.exists(): + return + cts = f"""--- +title: {space_id} +emoji: 🚀 +colorFrom: purple +colorTo: red +sdk: docker +app_file: app.py +pinned: false +termination_grace_period: {termination_grace_period} +--- +""" + fn.write_text(cts) + + +@call_parse +def deploy( + space_id: str, # ID of the space to upload to + token: str = None, # Hugging Face token for authentication + python_ver: str = "3.10", # Version of python to use + upload: bool_arg = True, # Set to `false` to skip uploading files + private: bool_arg = False, + termination_grace_period: str = "2m", +): # Make the repository private + "Upload current directory to Hugging Face Spaces" + if not token: + token = os.getenv("HF_TOKEN") + if not token: + return print("No token available") + if "/" not in space_id: + space_id = f"{whoami(token)['name']}/{space_id}" + # _mk_docker(python_ver) + # _mk_README(space_id, termination_grace_period) + private = bool( + private + ) # `private` can be 0,1 or False. As `create_repo` expects private to be True/False we cast it. + url = create_repo( + space_id, + token=token, + repo_type="space", + space_sdk="docker", + private=private, + exist_ok=True, + ) + if not upload: + return print("Repo created; upload skipped") + upload_folder( + folder_path=Path("."), + repo_id=space_id, + repo_type="space", + ignore_patterns=["__pycache__/*", ".sesskey", "deploy_hf.py", "data/*"], + commit_message=f"deploy at {datetime.datetime.now()}", + token=token, + ) + add_space_secret(space_id, token=token, key="HF_TOKEN", value=token) + print(f"Deployed space at {url}") diff --git a/examples/fasthtml-demo/main.py b/examples/fasthtml-demo/main.py new file mode 100644 index 000000000..f83bd2056 --- /dev/null +++ b/examples/fasthtml-demo/main.py @@ -0,0 +1,714 @@ +# Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +from fasthtml_hf import setup_hf_backup +from fasthtml.common import ( + picolink, + serve, + Div, + Title, + Main, + Input, + Button, + A, + Section, + H2, + Ul, + Li, + P, + Img, + Details, + MarkdownJS, + HighlightJS, + Summary, + Script, + I, + Form, + RedirectResponse, + dataclass, + Favicon, + database, + get_key, + Table, + Thead, + Tr, + Th, + Tbody, + Td, + FileResponse, + fast_app, + Beforeware, + Hidden, + Request, +) +from fasthtml.components import Nav, Article, Header, Mark +from fasthtml.pico import Search +from starlette.middleware import Middleware +from starlette.middleware.base import BaseHTTPMiddleware +from starlette.middleware.sessions import SessionMiddleware +from vespa.application import Vespa +import json +import os +import re +import time +from hmac import compare_digest +from io import StringIO +import csv +import tempfile + +DEV_MODE = True + +if DEV_MODE: + print("Running in DEV_MODE - Hot reload enabled") + from dotenv import load_dotenv + + load_dotenv() + +ADMIN_NAME = os.getenv("ADMIN_NAME", "admin") +ADMIN_PWD = os.getenv("ADMIN_PWD", "admin") + +vespa_app: Vespa = Vespa( + url=os.getenv("VESPA_APP_URL"), + vespa_cloud_secret_token=os.getenv("VESPA_CLOUD_SECRET_TOKEN"), +) +status = vespa_app.get_application_status() +if status is None: + print("Could not connect to Vespa application") +else: + print("Connected to Vespa application!") + +fa = Script(src="https://kit.fontawesome.com/664eb1a115.js", crossorigin="anonymous") +favicon = Favicon( + "https://search.vespa.ai/favicon.ico", + "https://search.vespa.ai/favicon.ico", +) +DB_FILE = "db/vespa.db" +db = database(DB_FILE) +queries = db.t.queries +if queries not in db.t: + # You can pass a dict, or kwargs, to most MiniDataAPI methods. + queries.create(dict(qid=int, query=str, sess_id=str, timestamp=int), pk="qid") + # Add autoincrement to the qid column + db.query("ALTER TABLE queries ADD COLUMN qid INTEGER PRIMARY KEY AUTOINCREMENT") +Query = queries.dataclass() + +# Add a classmethod to the Query dataclass to convert timestamp field to a human readable format +Query.get_datetime = lambda self: time.strftime( + "%Y-%m-%d %H:%M:%S", time.localtime(self.timestamp) +) + +# Status code 303 is a redirect that can change POST to GET, +# so it's appropriate for a login page. +login_redir = RedirectResponse("/login", status_code=303) + + +def user_auth_before(req, sess): + # The `auth` key in the request scope is automatically provided + # to any handler which requests it, and can not be injected + # by the user using query params, cookies, etc, so it should + # be secure to use. + print(f"Session Data before route: {sess}") + auth = req.scope["auth"] = sess.get("auth", None) + print(f"Auth: {auth}") + if not auth: + return login_redir + + +headers = (picolink, MarkdownJS(), HighlightJS(langs=["json", "python"]), favicon, fa) + +# Sesskey +sess_key_path = "session/.sesskey" +# Make sure session directory exists +os.makedirs("session", exist_ok=True) + +# Middleware + + +class XFrameOptionsMiddleware(BaseHTTPMiddleware): + async def dispatch(self, request, call_next): + response = await call_next(request) + response.headers["X-Frame-Options"] = "ALLOW-FROM https://huggingface.co/" + return response + + +middlewares = [ + Middleware( + SessionMiddleware, + secret_key=get_key(fname=sess_key_path), + max_age=3600, + ), + Middleware(XFrameOptionsMiddleware), +] +bware = Beforeware( + user_auth_before, + skip=[ + r"/favicon\.ico", + r"/static/.*", + r".*\.css", + r".*\.js", + "/", + "/login", + "/search", + "/document/.*", + "/expand/.*", + "/source", + ], +) + +app, rt = fast_app( + before=bware, + live=DEV_MODE, + hdrs=headers, + middleware=middlewares, + key_fname=sess_key_path, + same_site="None", +) + + +sesskey = get_key(fname=sess_key_path) +print(f"Session key: {sesskey}") + + +def get_navbar(admin: bool): + print(f"In get_navbar: {admin}") + bar = Nav( + Ul( + Li( + A( + Img(src="https://vespa.ai/assets/vespa-ai-logo-heather.svg"), + href="https://cloud.vespa.ai", + target="_blank", + style="margin: 10px;", + ), + ) + ), + Ul(H2("Vespa-fastHTML demo")), + Ul( + # A question mark icon with link to an about page + A( + I(cls="fa fa-question-circle fa-2x"), + href="/about", + style="margin: 10px;", + title="About this app", + ), + A( + I(cls="fab fa-slack fa-2x"), + href="https://slack.vespa.ai/", + style="margin: 10px;", + target="_blank", + title="Join Vespa Slack channel", + ), + A( + I(cls="fab fa-github fa-2x"), + href="https://github.com/thomasht86/fasthtml-vespa-demo/", + style="margin: 10px;", + target="_blank", + title="View source code on GitHub", + ), + A( + I(cls="fa fa-code fa-2x"), + href="/source", + style="margin: 10px;", + title="View source code", + ), + # Login icon (link to /login) show tooltip on hover. MAke it hidden if admin is logged in + A( + I(cls="fa fa-shield fa-2x"), + href="/login" if not admin else "/admin", + style="margin: 10px;", + title="Admin login", + ), + # Logout icon if admin is logged in + A( + I(cls="fa fa-sign-out fa-2x"), + href="/logout", + style="margin: 10px;" if admin else "display: none;", + title="Logout", + ), + ), + # 10px margin to right of navbar + style="margin-right: 10px;", + ) + return bar + + +@app.route("/") +def get(sess): + # Can not get auth directly, as it is skipped in beforeware + auth = sess.get("auth", False) + return ( + Title("Vespa demo"), + get_navbar(auth), + Main( + # Search bar + Search( + Input( + type="search", + placeholder="Ask/search for medical information?", + id="userquery", + ), + # Get search results on button click with search-input as query parameter + Button( + "Search", + hx_get="/search", + hx_include="#userquery", + hx_target="#results", + hx_indicator="#spinner", + ), + style="margin: 10% 10px 0 0;", + ), + # Section( + # Input( + # id="suggestion-input", + # list="search-options", + # placeholder="Search options", + # ), + # Datalist( + # *[ + # Option( + # "Covid-19", + # value="Covid-19", + # ), + # Option( + # "Vaccine", + # value="Vaccine", + # ), + # ], + # id="search-options", + # ), + # id="suggestions", + # ), + Section( + Div( + A( + id="spinner", + aria_busy="true", + cls="htmx-indicator", + style="font-size: 2em;", + ), + style="text-align: center; margin-top: 40px;", + ), + id="results", + hx_swap="innerHTML", + style="margin: 20px;", + ), + style="margin: 0 auto; width: 70%;", + id="main", + ), + ) + + +@dataclass +class Login: + name: str + pwd: str + + +@app.get("/login") +def get_login_form(sess, error: bool = False): + auth = sess.get("auth", False) + frm = Form( + Input(id="name", placeholder="Name"), + Input(id="pwd", type="password", placeholder="Password"), + Button("login"), + action="/login", + method="post", + ) + err_msg = P("Incorrect password", style="color: red;") if error else "" + return ( + Title("Admin login"), + get_navbar(auth), + Main( + err_msg, + frm, + style="width: 50%; margin: 10% auto;", + ), + ) + + +@app.post("/login") +def post(login: Login, sess): + if not compare_digest(ADMIN_PWD.encode("utf-8"), login.pwd.encode("utf-8")): + # Incorrect password - add error message + return RedirectResponse("/login?error=True", status_code=303) + sess["auth"] = True + print(f"Sess after login: {sess}") + return RedirectResponse("/admin", status_code=303) + + +@app.get("/logout") +def logout(sess): + sess["auth"] = False + return RedirectResponse("/") + + +def replace_hi_with_strong(text): + parts = re.split(r"(|)", text) + elements = [] + open_tag = False + for part in parts: + if part == "": + open_tag = True + elif part == "": + open_tag = False + elif open_tag: + elements.append(Mark(part)) + else: + elements.append(part) + return elements + + +def log_query_to_db(query, sess): + return queries.insert( + Query(query=query, sess_id=sesskey, timestamp=int(time.time())) + ) + + +def parse_results(records): + return [ + Article( + Header( + H2( + A( + result["title"], + hx_get=f"/document/{result['id']}", + hx_target="#results", + ) + ) + ), + Div( + P( + *replace_hi_with_strong( + result["body"][:300] + "..." + ), # Display first 300 characters of body + ), + Div( + # Button with "Show more" - center align + Button( + "Show more", + hx_post=f"/expand/{result['id']}?expand=true", + hx_target=f"#{result['id']}", + hx_include=f"#{result['id']}-full", + cls="outline secondary", + # Style to fill whole width of parent div + style="width: 100%;", + ), + style="text-align: center;", + ), + id=result["id"], + ), + Hidden(result["body"], id=f"{result['id']}-full"), + ) + for result in records + ] + + +@app.post("/expand/{docid}") +async def expand(request: Request, docid: str, expand: bool): + print(f"Expanding {docid}") + form_data = await request.form() + result = form_data.get(f"{docid}-full") + if not expand: + result = result[:300] + "..." + return ( + Div( + P( + *replace_hi_with_strong(result), # Display full body + ), + Div( + # Button with "Show less" - center align + Button( + "Show less" if expand else "Show more", + hx_post=f"/expand/{docid}?expand=" + + ("false" if expand else "true"), + hx_target=f"#{docid}", + hx_include=f"#{docid}-full", + cls="outline secondary", + # Style to fill whole width of parent div + style="width: 100%;", + ), + style="text-align: center;", + ), + id=docid, + ), + ) + + +@app.get("/search") +async def search(userquery: str, sess): + print(sess) + if "queries" not in sess: + sess["queries"] = [] + else: + sess["queries"].append(userquery) + print(f"Searching for: {userquery}") + log_query_to_db(userquery, sess) + async with vespa_app.asyncio() as session: + resp = await session.query( + yql="select * from sources * where userQuery() or ({targetHits:1000}nearestNeighbor(embedding,q)) limit 10;", + query=userquery, + hits=10, + ranking="fusion", + body={"input.query(q)": f"embed({userquery})"}, + ) + records = [] + fields = ["id", "title", "body"] + for hit in resp.hits: + record = {} + for field in fields: + record[field] = hit["fields"][field] + records.append(record) + results = parse_results(records) + json_dump = json.dumps(resp.get_json(), indent=4) + return Div( + # Accordion (with Details) + Details( + Summary("Full JSON response"), + Div( + f"""```json\n{json_dump}\n```""", + cls="marked", + ), + ), + H2( + "Search Results", + ), + Div( + *results, + id="all-searchresults", + ), + ) + + +@app.get("/download_csv") +def download_csv(auth): + queries_dict = list(db.query("SELECT * FROM queries")) + queries = [Query(**query) for query in queries_dict] + + # Create CSV in memory + csv_file = StringIO() + csv_writer = csv.writer(csv_file) + csv_writer.writerow(["Query", "Session ID", "Timestamp"]) + for query in queries: + csv_writer.writerow([query.query, query.sess_id, query.timestamp]) + + # Move to the beginning of the StringIO object + csv_file.seek(0) + + # Save CSV to a temporary file + temp_file = tempfile.NamedTemporaryFile(delete=False, suffix=".csv") + temp_file.write(csv_file.getvalue().encode("utf-8")) + temp_file.close() + + return FileResponse( + temp_file.name, + filename="queries.csv", + media_type="text/csv", + content_disposition_type="attachment", + ) + + +@app.get("/admin") +def get_admin(auth, page: int = 1): + limit = 15 + offset = (page - 1) * limit + total_queries_result = list( + db.query("SELECT COUNT(*) AS count FROM queries ORDER BY timestamp DESC") + ) + total_queries = total_queries_result[0]["count"] + queries_dict = list( + db.query(f"SELECT * FROM queries LIMIT {limit} OFFSET {offset}") + ) + queries = [Query(**query) for query in queries_dict] + + total_pages = ( + total_queries + limit - 1 + ) // limit # Calculate total number of pages + + # Define the range of pages to display + page_window = 5 # Number of pages to display at once + start_page = max(1, page - page_window // 2) + end_page = min(total_pages, start_page + page_window - 1) + + # Adjust the start and end pages if they exceed the limits + if end_page - start_page < page_window: + start_page = max(1, end_page - page_window + 1) + + # Pagination controls with "First", "Previous", "Next", and "Last" + pagination_controls = Div( + A( + "First", + href="/admin?page=1", + style="margin: 5px;" + if page > 1 + else "margin: 5px; color: grey; pointer-events: none;", + ), + A( + "Previous", + href=f"/admin?page={page - 1}", + style="margin: 5px;" + if page > 1 + else "margin: 5px; color: grey; pointer-events: none;", + ), + *[ + A( + f"{i}", + href=f"/admin?page={i}", + style="margin: 5px;" + if i != page + else "margin: 5px; font-weight: bold;", + ) + for i in range(start_page, end_page + 1) + ], + A( + "Next", + href=f"/admin?page={page + 1}", + style="margin: 5px;" + if page < total_pages + else "margin: 5px; color: grey; pointer-events: none;", + ), + A( + "Last", + href=f"/admin?page={total_pages}", + style="margin: 5px;" + if page < total_pages + else "margin: 5px; color: grey; pointer-events: none;", + ), + style="text-align: center; margin: 20px;", + ) + + # Total pages indication + total_pages_indicator = Div( + f"Page {page} of {total_pages}", + style="text-align: center; margin: 10px;", + ) + + return ( + Title("Admin"), + get_navbar(auth), + Main( + Div( + A( + I(cls="fa fa-arrow-left"), + "Back", + href="/", + title="Back to main page", + style="margin: 10px;", + ), + style="margin: 10px;", + ), + H2("Queries"), + # Table of all queries + Table( + Thead( + Tr( + Th("Query"), + Th("Session ID"), + Th("Datetime"), + ) + ), + Tbody( + *[ + Tr( + Td(query.query), + Td(query.sess_id), + Td(query.get_datetime()), + ) + for query in queries + ], + ), + cls="striped", + ), + total_pages_indicator, # Include the total pages indicator here + pagination_controls, + Div( + A( + I(cls="fa fa-download fa-2x"), + " Download CSV", + href="/download_csv", + style="margin: 10px; float: right;", + title="Download queries as CSV", + ), + style="text-align: right; margin: 20px;", + ), + style="width: 80%; margin: 40px auto;", + ), + ) + + +@app.get("/source") +def get_source(auth, sess): + with open("main.py") as f: + source = f.read() + # Back icon to go back to main page in top left corner + return ( + Title("Source code"), + get_navbar(auth), + Main( + Div( + A( + I(cls="fa fa-arrow-left"), + "Back", + href="/", + title="Back to main page", + style="margin: 10px;", + ), + Div( + f"""### main.py - This is the whole source code for this app (!)\n```python\n{source}\n```""", + cls="marked", + style="margin: 10px;", + ), + style="width: 80%; margin: 40px auto;", + ), + ), + ) + + +@app.get("/about") +def get_about(auth, sess): + return ( + Title("About this app"), + get_navbar(auth), + Main( + Div( + A( + I(cls="fa fa-arrow-left"), + "Back", + href="/", + title="Back to main page", + style="margin: 10px;", + ), + Div( + """# About this app \n We wanted to see if we could build a simple search interface using Vespa and fastHTML. This is the result!""", + cls="marked", + style="margin: 10px;", + ), + style="width: 80%; margin: 40px auto;", + ), + ), + ) + + +@app.get("/document/{docid}") +def get_document(docid: str, sess): + resp = vespa_app.get_data(data_id=docid, schema="doc", namespace="tutorial") + doc = resp.json + # Link with Back to search results at top of page + return Main( + Div( + A( + I(cls="fa fa-arrow-left"), + "Back to search results", + hx_get=f"/search?userquery={sess['queries'][-1]}", + hx_target="#results", + style="margin: 10px;", + ), + H2(doc["fields"]["title"], style="margin: 10px;"), + P(doc["fields"]["body"], cls="marked"), + ), + ) + + +if not DEV_MODE: + try: + setup_hf_backup(app) + except Exception as e: + print(f"Error setting up hf backup: {e}") +serve() diff --git a/examples/fasthtml-demo/requirements.txt b/examples/fasthtml-demo/requirements.txt new file mode 100644 index 000000000..0088ea79a --- /dev/null +++ b/examples/fasthtml-demo/requirements.txt @@ -0,0 +1,5 @@ +python-fasthtml==0.4.4 +git+https://github.com/AnswerDotAI/fasthtml-hf@a7ae831a1bd01105a9f771fb3a4e4c454ddc3176 # latest released version did not work +pyvespa +vespacli +python-dotenv From c434c4e2e696cc56b85b1d6e63e32a19db3a9015 Mon Sep 17 00:00:00 2001 From: thomasht86 Date: Thu, 22 Aug 2024 14:05:28 +0200 Subject: [PATCH 02/13] correct github link --- examples/fasthtml-demo/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/fasthtml-demo/main.py b/examples/fasthtml-demo/main.py index f83bd2056..411c699e3 100644 --- a/examples/fasthtml-demo/main.py +++ b/examples/fasthtml-demo/main.py @@ -198,7 +198,7 @@ def get_navbar(admin: bool): ), A( I(cls="fab fa-github fa-2x"), - href="https://github.com/thomasht86/fasthtml-vespa-demo/", + href="https://github.com/vespa-engine/sample-apps/tree/master/examples/fasthtml-demo", style="margin: 10px;", target="_blank", title="View source code on GitHub", From 51e9102d593e8b2fa108b8b1ba9b580cf6c32677 Mon Sep 17 00:00:00 2001 From: thomasht86 Date: Thu, 22 Aug 2024 14:11:31 +0200 Subject: [PATCH 03/13] typo --- examples/fasthtml-demo/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/fasthtml-demo/README.md b/examples/fasthtml-demo/README.md index b4cedc5e3..2e9f29a16 100644 --- a/examples/fasthtml-demo/README.md +++ b/examples/fasthtml-demo/README.md @@ -43,7 +43,7 @@ This sample-app can serve as an example of how you can build and deploy a simple #### 1. Clone this folder to your local machine 📂 -The command below will clone the repository and only fetch the `fasthtml-frontend` folder. +The command below will clone the repository and only fetch the `fasthtml-demo` directory. ```bash git clone --depth 1 --filter=blob:none --sparse https://github.com/vespa-engine/sample-apps.git temp-sample-apps && cd temp-sample-apps && git sparse-checkout set fasthtml-demo && mkdir -p ../fasthtml-demo && mv fasthtml-demo/* ../fasthtml-demp/ && cd .. && rm -rf temp-sample-apps From d63f8413e9926645bbe334e620eb079c3b09dea9 Mon Sep 17 00:00:00 2001 From: thomasht86 Date: Thu, 22 Aug 2024 15:26:15 +0200 Subject: [PATCH 04/13] minor improvements --- examples/fasthtml-demo/main.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/examples/fasthtml-demo/main.py b/examples/fasthtml-demo/main.py index 411c699e3..b01eda333 100644 --- a/examples/fasthtml-demo/main.py +++ b/examples/fasthtml-demo/main.py @@ -1,4 +1,3 @@ -# Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. from fasthtml_hf import setup_hf_backup from fasthtml.common import ( picolink, @@ -150,6 +149,7 @@ async def dispatch(self, request, call_next): "/document/.*", "/expand/.*", "/source", + "/about", ], ) @@ -663,6 +663,13 @@ def get_source(auth, sess): @app.get("/about") def get_about(auth, sess): + with open("README.md") as f: + readme = f.read() + # Strip everything before the FIRST # in the README + stripped_readme = re.sub( + r"^.*?(?=# FastHTML Vespa frontend)", "", readme, flags=re.DOTALL + ) + return ( Title("About this app"), get_navbar(auth), @@ -676,7 +683,7 @@ def get_about(auth, sess): style="margin: 10px;", ), Div( - """# About this app \n We wanted to see if we could build a simple search interface using Vespa and fastHTML. This is the result!""", + stripped_readme, cls="marked", style="margin: 10px;", ), From 9de5b2896adc08250c134137beffb7fb7b764da4 Mon Sep 17 00:00:00 2001 From: thomasht86 Date: Thu, 22 Aug 2024 15:27:15 +0200 Subject: [PATCH 05/13] remove localhost-link --- examples/fasthtml-demo/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/fasthtml-demo/README.md b/examples/fasthtml-demo/README.md index 2e9f29a16..7e34bc8bd 100644 --- a/examples/fasthtml-demo/README.md +++ b/examples/fasthtml-demo/README.md @@ -61,7 +61,7 @@ pip install -r requirements.txt python main.py ``` -At this point, you should be able to access the app at [http://localhost:5001](http://localhost:5001). +At this point, you should be able to access the app at `http://localhost:5001` But, you will _not_ be able to search for anything, as your environment variables are not set up. From 8c21bef81eeed34703f82d6a0540bf442d498a29 Mon Sep 17 00:00:00 2001 From: thomasht86 Date: Thu, 22 Aug 2024 15:49:36 +0200 Subject: [PATCH 06/13] ignore link --- .github/workflows/link-checker.yml | 1 + examples/fasthtml-demo/README.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/link-checker.yml b/.github/workflows/link-checker.yml index 592654a57..2a20bd265 100644 --- a/.github/workflows/link-checker.yml +++ b/.github/workflows/link-checker.yml @@ -30,6 +30,7 @@ jobs: ignore-urls: |- src/main/application/schemas/wiki.sd#L80 /localhost:8080/ + /localhost:5001/ src/main/application/search/query-profiles /hub.docker.com/r/vespaengine/vespa/tags/ swap-urls: |- diff --git a/examples/fasthtml-demo/README.md b/examples/fasthtml-demo/README.md index 7e34bc8bd..2e9f29a16 100644 --- a/examples/fasthtml-demo/README.md +++ b/examples/fasthtml-demo/README.md @@ -61,7 +61,7 @@ pip install -r requirements.txt python main.py ``` -At this point, you should be able to access the app at `http://localhost:5001` +At this point, you should be able to access the app at [http://localhost:5001](http://localhost:5001). But, you will _not_ be able to search for anything, as your environment variables are not set up. From 0ac30334a67ae12e88dcf35483fa03a6e020147b Mon Sep 17 00:00:00 2001 From: thomasht86 Date: Fri, 23 Aug 2024 11:30:58 +0200 Subject: [PATCH 07/13] add sample queries and ranking radio --- examples/fasthtml-demo/main.py | 146 +++++++++++++++++++++++++++------ 1 file changed, 123 insertions(+), 23 deletions(-) diff --git a/examples/fasthtml-demo/main.py b/examples/fasthtml-demo/main.py index b01eda333..2581ccc08 100644 --- a/examples/fasthtml-demo/main.py +++ b/examples/fasthtml-demo/main.py @@ -37,9 +37,11 @@ Beforeware, Hidden, Request, + H3, + Style, ) from fasthtml.components import Nav, Article, Header, Mark -from fasthtml.pico import Search +from fasthtml.pico import Search, Grid, Fieldset, Label from starlette.middleware import Middleware from starlette.middleware.base import BaseHTTPMiddleware from starlette.middleware.sessions import SessionMiddleware @@ -52,11 +54,15 @@ from io import StringIO import csv import tempfile +from enum import Enum +from typing import Tuple as T +from urllib.parse import quote -DEV_MODE = True +DEV_MODE = False if DEV_MODE: print("Running in DEV_MODE - Hot reload enabled") + print("Loading environment variables from .env") from dotenv import load_dotenv load_dotenv() @@ -84,7 +90,9 @@ queries = db.t.queries if queries not in db.t: # You can pass a dict, or kwargs, to most MiniDataAPI methods. - queries.create(dict(qid=int, query=str, sess_id=str, timestamp=int), pk="qid") + queries.create( + dict(qid=int, query=str, ranking=str, sess_id=str, timestamp=int), pk="qid" + ) # Add autoincrement to the qid column db.query("ALTER TABLE queries ADD COLUMN qid INTEGER PRIMARY KEY AUTOINCREMENT") Query = queries.dataclass() @@ -111,7 +119,24 @@ def user_auth_before(req, sess): return login_redir -headers = (picolink, MarkdownJS(), HighlightJS(langs=["json", "python"]), favicon, fa) +spinner_css = Style(""" + .htmx-indicator { + display: none; /* Hide spinner by default */ + } + + .htmx-indicator.htmx-request { + display: block; + } +""") + +headers = ( + picolink, + MarkdownJS(), + HighlightJS(langs=["json", "python"]), + favicon, + fa, + spinner_css, +) # Sesskey sess_key_path = "session/.sesskey" @@ -167,6 +192,13 @@ async def dispatch(self, request, call_next): print(f"Session key: {sesskey}") +# enum class for rank profiles +class RankProfile(str, Enum): + bm25 = "bm25" + semantic = "semantic" + fusion = "fusion" + + def get_navbar(admin: bool): print(f"In get_navbar: {admin}") bar = Nav( @@ -230,10 +262,32 @@ def get_navbar(admin: bool): return bar +def spinner_div(hidden: bool = False): + return Div( + A( + id="spinner", + aria_busy="true", + cls="htmx-indicator", + style="font-size: 2em;", + ), + style="text-align: center; margin-top: 40px;" + if not hidden + else "display: none;", + ) + + @app.route("/") def get(sess): # Can not get auth directly, as it is skipped in beforeware auth = sess.get("auth", False) + queries = [ + "Breast Cancer Cells Feed on Cholesterol", + "Treating Asthma With Plants vs. Pills", + "Alkylphenol Endocrine Disruptors", + "Testing Turmeric on Smokers", + "The Role of Pesticides in Parkinson's Disease", + "Vitamin D for sleep quality in older adults", + ] return ( Title("Vespa demo"), get_navbar(auth), @@ -249,12 +303,48 @@ def get(sess): Button( "Search", hx_get="/search", - hx_include="#userquery", + # include userquery and id of selected ranking radio button + hx_include="#userquery, input[name=ranking]:checked", hx_target="#results", hx_indicator="#spinner", ), style="margin: 10% 10px 0 0;", ), + Fieldset( + Input(type="radio", id="bm25", name="ranking", value="bm25"), + Label("BM25", htmlfor="bm25"), + Input(type="radio", id="semantic", name="ranking", value="semantic"), + Label("Semantic", htmlfor="semantic"), + Input( + type="radio", + id="fusion", + name="ranking", + value="fusion", + checked="", + ), + Label("Reciprocal Rank fusion", htmlfor="fusion"), + style="margin: 10px; text-align: center;", + id="ranking", + ), + H3("Example queries"), + # Buttons with predefined search queries + Grid( + *[ + Button( + query, + hx_get="/search?userquery=" + query, + hx_include="input[name=ranking]:checked", + hx_target="#results", + hx_indicator="#spinner", + style="margin: 10px; padding: 5px;", + cls="secondary outline", + id=f"example-{qid}", + ) + for qid, query in enumerate(queries) + ], + # Make the grid buttons have same height and distribute evenly and center align + style="grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));", + ), # Section( # Input( # id="suggestion-input", @@ -276,16 +366,9 @@ def get(sess): # ), # id="suggestions", # ), + # Display spinner div only if it #spinner does not exist Section( - Div( - A( - id="spinner", - aria_busy="true", - cls="htmx-indicator", - style="font-size: 2em;", - ), - style="text-align: center; margin-top: 40px;", - ), + spinner_div(), id="results", hx_swap="innerHTML", style="margin: 20px;", @@ -356,9 +439,9 @@ def replace_hi_with_strong(text): return elements -def log_query_to_db(query, sess): +def log_query_to_db(query, ranking, sess): return queries.insert( - Query(query=query, sess_id=sesskey, timestamp=int(time.time())) + Query(query=query, ranking=ranking, sess_id=sesskey, timestamp=int(time.time())) ) @@ -432,22 +515,38 @@ async def expand(request: Request, docid: str, expand: bool): ) +# Returns tuple of (yql, body(dict)) based on the ranking profile +def get_yql(ranking: RankProfile, userquery: str) -> T[str, dict]: + if ranking == RankProfile.bm25: + yql = "select * from sources * where userQuery() limit 10" + body = {} + elif ranking == RankProfile.semantic: + yql = "select * from sources * where ({targetHits:10}nearestNeighbor(embedding,q)) limit 10" + body = {"input.query(q)": f"embed({userquery})"} + elif ranking == RankProfile.fusion: + yql = "select * from sources * where rank({targetHits:1000}nearestNeighbor(embedding,q), userQuery()) limit 10" + body = {"input.query(q)": f"embed({userquery})"} + return yql, body + + @app.get("/search") -async def search(userquery: str, sess): +async def search(userquery: str, ranking: str, sess): print(sess) if "queries" not in sess: sess["queries"] = [] - else: - sess["queries"].append(userquery) + quoted = quote(userquery) + "&ranking=" + ranking + sess["queries"].append(quoted) print(f"Searching for: {userquery}") - log_query_to_db(userquery, sess) + print(f"Ranking: {ranking}") + log_query_to_db(userquery, ranking, sess) + yql, body = get_yql(ranking, userquery) async with vespa_app.asyncio() as session: resp = await session.query( - yql="select * from sources * where userQuery() or ({targetHits:1000}nearestNeighbor(embedding,q)) limit 10;", + yql=yql, query=userquery, hits=10, - ranking="fusion", - body={"input.query(q)": f"embed({userquery})"}, + ranking=str(ranking), + body=body, ) records = [] fields = ["id", "title", "body"] @@ -459,6 +558,7 @@ async def search(userquery: str, sess): results = parse_results(records) json_dump = json.dumps(resp.get_json(), indent=4) return Div( + spinner_div(), # Accordion (with Details) Details( Summary("Full JSON response"), From 9dbe53f0a207fa0c2eca81dcfa8ddf0b2c0b5e13 Mon Sep 17 00:00:00 2001 From: thomasht86 Date: Fri, 23 Aug 2024 11:31:09 +0200 Subject: [PATCH 08/13] add locked reqs --- examples/fasthtml-demo/requirements.in | 6 + examples/fasthtml-demo/requirements.txt | 167 +++++++++++++++++++++++- 2 files changed, 169 insertions(+), 4 deletions(-) create mode 100644 examples/fasthtml-demo/requirements.in diff --git a/examples/fasthtml-demo/requirements.in b/examples/fasthtml-demo/requirements.in new file mode 100644 index 000000000..22ba25d17 --- /dev/null +++ b/examples/fasthtml-demo/requirements.in @@ -0,0 +1,6 @@ +python-fasthtml==0.4.4 +huggingface-hub +git+https://github.com/AnswerDotAI/fasthtml-hf@a7ae831a1bd01105a9f771fb3a4e4c454ddc3176 # latest released version did not work +pyvespa +vespacli +python-dotenv diff --git a/examples/fasthtml-demo/requirements.txt b/examples/fasthtml-demo/requirements.txt index 0088ea79a..9d9bc333a 100644 --- a/examples/fasthtml-demo/requirements.txt +++ b/examples/fasthtml-demo/requirements.txt @@ -1,5 +1,164 @@ +# This file was autogenerated by uv via the following command: +# uv pip compile requirements.in --output-file requirements.txt +aiohappyeyeballs==2.4.0 + # via aiohttp +aiohttp==3.10.5 + # via pyvespa +aiosignal==1.3.1 + # via aiohttp +anyio==4.4.0 + # via + # httpx + # starlette + # watchfiles +async-timeout==4.0.3 + # via aiohttp +attrs==24.2.0 + # via aiohttp +beautifulsoup4==4.12.3 + # via python-fasthtml +certifi==2024.7.4 + # via + # httpcore + # httpx + # requests +cffi==1.17.0 + # via cryptography +charset-normalizer==3.3.2 + # via requests +click==8.1.7 + # via uvicorn +cryptography==43.0.0 + # via pyvespa +docker==7.1.0 + # via pyvespa +exceptiongroup==1.2.2 + # via anyio +fastcore==1.7.1 + # via + # fasthtml-hf + # fastlite + # python-fasthtml + # sqlite-minutils +fasthtml-hf @ git+https://github.com/AnswerDotAI/fasthtml-hf@a7ae831a1bd01105a9f771fb3a4e4c454ddc3176 + # via -r requirements.in +fastlite==0.0.9 + # via python-fasthtml +filelock==3.15.4 + # via huggingface-hub +frozenlist==1.4.1 + # via + # aiohttp + # aiosignal +fsspec==2024.6.1 + # via huggingface-hub +h11==0.14.0 + # via + # httpcore + # uvicorn +h2==4.1.0 + # via httpx +hpack==4.0.0 + # via h2 +httpcore==1.0.5 + # via httpx +httptools==0.6.1 + # via uvicorn +httpx==0.27.0 + # via + # python-fasthtml + # pyvespa +huggingface-hub==0.24.6 + # via + # -r requirements.in + # fasthtml-hf +hyperframe==6.0.1 + # via h2 +idna==3.7 + # via + # anyio + # httpx + # requests + # yarl +itsdangerous==2.2.0 + # via python-fasthtml +jinja2==3.1.4 + # via pyvespa +markupsafe==2.1.5 + # via jinja2 +multidict==6.0.5 + # via + # aiohttp + # yarl +oauthlib==3.2.2 + # via python-fasthtml +packaging==24.1 + # via + # fastcore + # huggingface-hub +pycparser==2.22 + # via cffi +python-dateutil==2.9.0.post0 + # via + # python-fasthtml + # pyvespa +python-dotenv==1.0.1 + # via + # -r requirements.in + # uvicorn python-fasthtml==0.4.4 -git+https://github.com/AnswerDotAI/fasthtml-hf@a7ae831a1bd01105a9f771fb3a4e4c454ddc3176 # latest released version did not work -pyvespa -vespacli -python-dotenv + # via -r requirements.in +python-multipart==0.0.9 + # via python-fasthtml +pyvespa==0.46.0 + # via -r requirements.in +pyyaml==6.0.2 + # via + # huggingface-hub + # uvicorn +requests==2.31.0 + # via + # docker + # huggingface-hub + # pyvespa + # requests-toolbelt +requests-toolbelt==1.0.0 + # via pyvespa +six==1.16.0 + # via python-dateutil +sniffio==1.3.1 + # via + # anyio + # httpx +soupsieve==2.6 + # via beautifulsoup4 +sqlite-minutils==3.37.0.post1 + # via fastlite +starlette==0.38.2 + # via python-fasthtml +tenacity==9.0.0 + # via pyvespa +tqdm==4.66.5 + # via huggingface-hub +typing-extensions==4.12.2 + # via + # anyio + # huggingface-hub + # pyvespa + # uvicorn +urllib3==2.2.2 + # via + # docker + # requests +uvicorn==0.30.6 + # via python-fasthtml +uvloop==0.20.0 + # via uvicorn +vespacli==8.391.23 + # via -r requirements.in +watchfiles==0.23.0 + # via uvicorn +websockets==13.0 + # via uvicorn +yarl==1.9.4 + # via aiohttp From a3b75d571f5a00061af4082e71ce20ac55274f1d Mon Sep 17 00:00:00 2001 From: thomasht86 Date: Fri, 23 Aug 2024 17:18:34 +0200 Subject: [PATCH 09/13] set userquery on sample query click --- examples/fasthtml-demo/main.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/examples/fasthtml-demo/main.py b/examples/fasthtml-demo/main.py index 2581ccc08..1cd5e0792 100644 --- a/examples/fasthtml-demo/main.py +++ b/examples/fasthtml-demo/main.py @@ -58,7 +58,7 @@ from typing import Tuple as T from urllib.parse import quote -DEV_MODE = False +DEV_MODE = True if DEV_MODE: print("Running in DEV_MODE - Hot reload enabled") @@ -336,6 +336,8 @@ def get(sess): hx_include="input[name=ranking]:checked", hx_target="#results", hx_indicator="#spinner", + # Set the value of #userquery on click + hx_on_click=f"document.getElementById('userquery').value='{query}'", style="margin: 10px; padding: 5px;", cls="secondary outline", id=f"example-{qid}", From f020b867a62911f2d268c60875bd376828f7afdc Mon Sep 17 00:00:00 2001 From: thomasht86 Date: Fri, 23 Aug 2024 17:18:54 +0200 Subject: [PATCH 10/13] error on startup if no url --- examples/fasthtml-demo/main.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/examples/fasthtml-demo/main.py b/examples/fasthtml-demo/main.py index 1cd5e0792..0e8cfeef9 100644 --- a/examples/fasthtml-demo/main.py +++ b/examples/fasthtml-demo/main.py @@ -58,7 +58,7 @@ from typing import Tuple as T from urllib.parse import quote -DEV_MODE = True +DEV_MODE = False if DEV_MODE: print("Running in DEV_MODE - Hot reload enabled") @@ -66,12 +66,19 @@ from dotenv import load_dotenv load_dotenv() +else: + print("DEV_MODE disabled - environment variables loaded from system") + +vespa_app_url = os.getenv("VESPA_APP_URL", None) +if vespa_app_url is None: + print("Please set the VESPA_APP_URL environment variable") + exit(1) ADMIN_NAME = os.getenv("ADMIN_NAME", "admin") ADMIN_PWD = os.getenv("ADMIN_PWD", "admin") vespa_app: Vespa = Vespa( - url=os.getenv("VESPA_APP_URL"), + url=vespa_app_url, vespa_cloud_secret_token=os.getenv("VESPA_CLOUD_SECRET_TOKEN"), ) status = vespa_app.get_application_status() @@ -286,7 +293,6 @@ def get(sess): "Alkylphenol Endocrine Disruptors", "Testing Turmeric on Smokers", "The Role of Pesticides in Parkinson's Disease", - "Vitamin D for sleep quality in older adults", ] return ( Title("Vespa demo"), @@ -336,7 +342,6 @@ def get(sess): hx_include="input[name=ranking]:checked", hx_target="#results", hx_indicator="#spinner", - # Set the value of #userquery on click hx_on_click=f"document.getElementById('userquery').value='{query}'", style="margin: 10px; padding: 5px;", cls="secondary outline", From e5a18f4baae2a271ce369b13002266fb527d3582 Mon Sep 17 00:00:00 2001 From: thomasht86 Date: Fri, 23 Aug 2024 17:26:20 +0200 Subject: [PATCH 11/13] loading from files once --- examples/fasthtml-demo/main.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/examples/fasthtml-demo/main.py b/examples/fasthtml-demo/main.py index 0e8cfeef9..f1c52c3e5 100644 --- a/examples/fasthtml-demo/main.py +++ b/examples/fasthtml-demo/main.py @@ -145,14 +145,19 @@ def user_auth_before(req, sess): spinner_css, ) +# Read file contents once before starting the server +with open("README.md") as f: + README = f.read() +with open("main.py") as f: + SOURCE = f.read() + # Sesskey sess_key_path = "session/.sesskey" # Make sure session directory exists os.makedirs("session", exist_ok=True) -# Middleware - +# Middleware class XFrameOptionsMiddleware(BaseHTTPMiddleware): async def dispatch(self, request, call_next): response = await call_next(request) @@ -742,8 +747,6 @@ def get_admin(auth, page: int = 1): @app.get("/source") def get_source(auth, sess): - with open("main.py") as f: - source = f.read() # Back icon to go back to main page in top left corner return ( Title("Source code"), @@ -758,7 +761,7 @@ def get_source(auth, sess): style="margin: 10px;", ), Div( - f"""### main.py - This is the whole source code for this app (!)\n```python\n{source}\n```""", + f"""### `main.py`\n### This is the complete source code for this app \n```python\n{SOURCE}\n```""", cls="marked", style="margin: 10px;", ), @@ -770,11 +773,9 @@ def get_source(auth, sess): @app.get("/about") def get_about(auth, sess): - with open("README.md") as f: - readme = f.read() # Strip everything before the FIRST # in the README stripped_readme = re.sub( - r"^.*?(?=# FastHTML Vespa frontend)", "", readme, flags=re.DOTALL + r"^.*?(?=# FastHTML Vespa frontend)", "", README, flags=re.DOTALL ) return ( From d34297f009a6a01bfa16a7d12ca12a90605fa17a Mon Sep 17 00:00:00 2001 From: thomasht86 Date: Tue, 17 Sep 2024 13:47:54 +0200 Subject: [PATCH 12/13] remove hf link in readme --- examples/fasthtml-demo/README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/examples/fasthtml-demo/README.md b/examples/fasthtml-demo/README.md index 2e9f29a16..7b6aa7d4e 100644 --- a/examples/fasthtml-demo/README.md +++ b/examples/fasthtml-demo/README.md @@ -19,7 +19,6 @@ termination_grace_period: 2m # FastHTML Vespa frontend This is a simple frontend for Vespa search engine. It is built using [FastHTML](https://www.fastht.ml/) and written in pure Python. -Check out the [live demo](https://huggingface.co/spaces/vespa-engine/fasthtml-vespa) on Huggingface Spaces. Search page | Login page | Query logs :-------------------------:|:-------------------------:|:-------------------------: From 64d3bc76b7b0d097782a2a20a88d4337ebaef405 Mon Sep 17 00:00:00 2001 From: thomasht86 Date: Tue, 17 Sep 2024 13:53:24 +0200 Subject: [PATCH 13/13] update links to assets --- examples/fasthtml-demo/README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/examples/fasthtml-demo/README.md b/examples/fasthtml-demo/README.md index 7b6aa7d4e..eafada2c1 100644 --- a/examples/fasthtml-demo/README.md +++ b/examples/fasthtml-demo/README.md @@ -11,11 +11,12 @@ termination_grace_period: 2m - - - #Vespa + + + #Vespa + # FastHTML Vespa frontend This is a simple frontend for Vespa search engine. It is built using [FastHTML](https://www.fastht.ml/) and written in pure Python.
\n", + " Refer to troubleshooting\n", + " for any problem when running this guide.\n", + "