-
Notifications
You must be signed in to change notification settings - Fork 26
Bump @babel/traverse from 7.23.0 to 7.24.0 in /client #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
dependabot
wants to merge
5
commits into
main
from
dependabot/npm_and_yarn/client/babel/traverse-7.24.0
Open
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
a978248
first commit
yorek 3b7c524
Merge branch 'main' of https://github.com/Azure-Samples/azure-sql-db-...
yorek bc96973
fixed urls
yorek d8b8ca8
updated readme
yorek 8a51a7e
Bump @babel/traverse from 7.23.0 to 7.24.0 in /client
dependabot[bot] File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
3 changes: 3 additions & 0 deletions
.env.sample
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
MSSQL='Server=.database.windows.net;Initial Catalog=;Persist Security Info=False;User ID=session_recommender_app;Password=unEno!h5!&*KP420xds&@P901afb$^M;MultipleActiveResultSets=False;Encrypt=True;Connection Timeout=30;' | ||
OPENAI.URL='https://.openai.azure.com' | ||
OPENAI.KEY='' |
13 changes: 13 additions & 0 deletions
.gitattributes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# Thanks to: https://rehansaeed.com/gitattributes-best-practices/ | ||
|
||
# Set default behavior to automatically normalize line endings. | ||
* text=auto | ||
|
||
# Force batch scripts to always use CRLF line endings so that if a repo is accessed | ||
# in Windows via a file share from Linux, the scripts will work. | ||
*.{cmd,[cC][mM][dD]} text eol=crlf | ||
*.{bat,[bB][aA][tT]} text eol=crlf | ||
|
||
# Force bash scripts to always use LF line endings so that if a repo is accessed | ||
# in Unix via a file share from Windows, the scripts will work. | ||
*.sh text eol=lf |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -396,3 +396,9 @@ FodyWeavers.xsd | |
|
||
# JetBrains Rider | ||
*.sln.iml | ||
|
||
# Custom | ||
.env | ||
azuredeploy.parameters.json | ||
*.zip | ||
.azure/ |
1 change: 1 addition & 0 deletions
.nvmrc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
20 |
6 changes: 6 additions & 0 deletions
.vscode/extensions.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
{ | ||
"recommendations": [ | ||
"ms-azuretools.vscode-azurefunctions", | ||
"ms-dotnettools.csharp" | ||
] | ||
} |
25 changes: 25 additions & 0 deletions
.vscode/launch.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
{ | ||
"version": "0.2.0", | ||
"configurations": [ | ||
{ | ||
"name": "Attach to .NET Functions", | ||
"type": "coreclr", | ||
"request": "attach", | ||
"processId": "${command:azureFunctions.pickProcess}" | ||
}, | ||
{ | ||
"name": "Run web app", | ||
"type": "node", | ||
"request": "launch", | ||
"cwd": "${workspaceFolder}", | ||
"runtimeExecutable": "swa", | ||
"runtimeArgs": ["start"], | ||
"presentation": { | ||
"hidden": false, | ||
"group": "Frontend", | ||
"order": 1 | ||
}, | ||
"preLaunchTask": "npm: install" | ||
} | ||
] | ||
} |
7 changes: 7 additions & 0 deletions
.vscode/settings.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
{ | ||
"azureFunctions.deploySubpath": "api/bin/Release/net8.0/publish", | ||
"azureFunctions.projectLanguage": "C#", | ||
"azureFunctions.projectRuntime": "~4", | ||
"debug.internalConsoleOptions": "neverOpen", | ||
"azureFunctions.preDeployTask": "publish (functions)" | ||
} |
89 changes: 89 additions & 0 deletions
.vscode/tasks.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
{ | ||
"version": "2.0.0", | ||
"tasks": [ | ||
{ | ||
"label": "clean (functions)", | ||
"command": "dotnet", | ||
"args": [ | ||
"clean", | ||
"/property:GenerateFullPaths=true", | ||
"/consoleloggerparameters:NoSummary" | ||
], | ||
"type": "process", | ||
"problemMatcher": "$msCompile", | ||
"options": { | ||
"cwd": "${workspaceFolder}/api" | ||
} | ||
}, | ||
{ | ||
"label": "build (functions)", | ||
"command": "dotnet", | ||
"args": [ | ||
"build", | ||
"/property:GenerateFullPaths=true", | ||
"/consoleloggerparameters:NoSummary" | ||
], | ||
"type": "process", | ||
"dependsOn": "clean (functions)", | ||
"group": { | ||
"kind": "build", | ||
"isDefault": true | ||
}, | ||
"problemMatcher": "$msCompile", | ||
"options": { | ||
"cwd": "${workspaceFolder}/api" | ||
} | ||
}, | ||
{ | ||
"label": "clean release (functions)", | ||
"command": "dotnet", | ||
"args": [ | ||
"clean", | ||
"--configuration", | ||
"Release", | ||
"/property:GenerateFullPaths=true", | ||
"/consoleloggerparameters:NoSummary" | ||
], | ||
"type": "process", | ||
"problemMatcher": "$msCompile", | ||
"options": { | ||
"cwd": "${workspaceFolder}/api" | ||
} | ||
}, | ||
{ | ||
"label": "publish (functions)", | ||
"command": "dotnet", | ||
"args": [ | ||
"publish", | ||
"--configuration", | ||
"Release", | ||
"/property:GenerateFullPaths=true", | ||
"/consoleloggerparameters:NoSummary" | ||
], | ||
"type": "process", | ||
"dependsOn": "clean release (functions)", | ||
"problemMatcher": "$msCompile", | ||
"options": { | ||
"cwd": "${workspaceFolder}/api" | ||
} | ||
}, | ||
{ | ||
"type": "func", | ||
"dependsOn": "build (functions)", | ||
"options": { | ||
"cwd": "${workspaceFolder}/api/bin/Debug/net8.0" | ||
}, | ||
"command": "host start", | ||
"isBackground": true, | ||
"problemMatcher": "$func-dotnet-watch" | ||
}, | ||
{ | ||
"type": "npm", | ||
"options": { | ||
"cwd": "${workspaceFolder}/client" | ||
}, | ||
"script": "install", | ||
"label": "npm: install" | ||
} | ||
] | ||
} |
170 changes: 166 additions & 4 deletions
README.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,168 @@ | ||
Coming Soon! | ||
--- | ||
page_type: sample | ||
languages: | ||
- azdeveloper | ||
- csharp | ||
- sql | ||
- tsql | ||
- javascript | ||
- html | ||
- bicep | ||
products: | ||
- azure-functions | ||
- azure-sql-database | ||
- static-web-apps | ||
- sql-server | ||
- azure-sql-managed-instance | ||
- azure-sqlserver-vm | ||
- dotnet | ||
- azure-openai | ||
urlFragment: azure-sql-db-session-recommender | ||
name: Session Recommender using Azure SQL DB, Open AI and Vector Search | ||
description: Build a session recommender using Jamstack and Event-Driven architecture, using Azure SQL DB to store and search vectors embeddings generated using OpenAI | ||
--- | ||
<!-- YAML front-matter schema: https://review.learn.microsoft.com/en-us/help/contribute/samples/process/onboarding?branch=main#supported-metadata-fields-for-readmemd --> | ||
|
||
In the meantime take a look at v1 of this project: | ||
# Session Assistant Sample - Retrieveal Augmented Generation with Azure SQL DB and OpenAI | ||
|
||
- https://sessionfinder.dotnetconf.net/ | ||
- https://github.com/Azure-Samples/azure-sql-db-session-recommender | ||
This repository is a evoution of the [Session Recommender](https://github.com/azure-samples/azure-sql-db-session-recommender) sample. In addition to vector search, also Retrival Augmented Generation (RAG) is used to generate the response to the user query. If you are completely new to this topic, you may want to start there, and then come back here. | ||
|
||
 | ||
|
||
A session recommender built using | ||
|
||
- [Azure Static Web Apps](https://learn.microsoft.com/en-us/azure/static-web-apps/overview) | ||
- [Azure OpenAI](https://learn.microsoft.com/en-us/azure/ai-services/openai/) | ||
- [Azure Functions](https://learn.microsoft.com/en-us/azure/azure-functions/functions-overview?pivots=programming-language-csharp) | ||
- [Azure SQL Database](https://www.sqlservercentral.com/articles/the-sql-developer-experience-beyond-rdbms) | ||
- [Data API builder](https://aka.ms/dab) | ||
|
||
For more details on the solution check also the following articles: | ||
|
||
- [How I built a session recommender in 1 hour using Open AI](https://dev.to/azure/how-i-built-a-session-recommender-in-1-hour-using-open-ai-5419) | ||
- [Vector Similarity Search with Azure SQL database and OpenAI](https://devblogs.microsoft.com/azure-sql/vector-similarity-search-with-azure-sql-database-and-openai/) | ||
|
||
# Deploy the sample using the Azure Developer CLI (azd) template | ||
|
||
The Azure Developer CLI (`azd`) is a developer-centric command-line interface (CLI) tool for creating Azure applications. | ||
|
||
## Prerequisites | ||
|
||
- Install [AZD CLI](https://learn.microsoft.com/azure/developer/azure-developer-cli/install-azd). | ||
- Install [.NET SDK](https://dotnet.microsoft.com/download). | ||
- Install [Node.js](https://nodejs.org/download/). | ||
- Install [SWA CLI](https://azure.github.io/static-web-apps-cli/docs/use/install#installing-the-cli). | ||
|
||
## Install AZD CLI | ||
|
||
You need to install it before running and deploying with the Azure Developer CLI. | ||
|
||
### Windows | ||
|
||
```powershell | ||
powershell -ex AllSigned -c "Invoke-RestMethod 'https://aka.ms/install-azd.ps1' | Invoke-Expression" | ||
``` | ||
|
||
### Linux/MacOS | ||
|
||
```bash | ||
curl -fsSL https://aka.ms/install-azd.sh | bash | ||
``` | ||
|
||
After logging in with the following command, you will be able to use azd cli to quickly provision and deploy the application. | ||
|
||
## Authenticate with Azure | ||
|
||
Make sure AZD CLI can access Azure resources. You can use the following command to log in to Azure: | ||
|
||
```bash | ||
azd auth login | ||
``` | ||
|
||
## Initialize the template | ||
|
||
Then, execute the `azd init` command to initialize the environment (You do not need to run this command if you already have the code or have opened this in a Codespace or DevContainer). | ||
|
||
```bash | ||
azd init -t Azure-Samples/azure-sql-db-session-recommender-v2 | ||
``` | ||
|
||
Enter an environment name. | ||
|
||
## Deploy the sample | ||
|
||
Run `azd up` to provision all the resources to Azure and deploy the code to those resources. | ||
|
||
```bash | ||
azd up | ||
``` | ||
|
||
Select your desired `subscription` and `location`. Then choose a resource group or create a new resource group. Wait a moment for the resource deployment to complete, click the Website endpoint and you will see the web app page. | ||
|
||
**Note**: Make sure to pick a region where all services are available like, for example, *West Europe* or *East US 2* | ||
|
||
## GitHub Actions | ||
|
||
Using the Azure Developer CLI, you can setup your pipelines, monitor your application, test and debug locally. | ||
|
||
```bash | ||
azd pipeline config | ||
``` | ||
|
||
## Test the solution | ||
|
||
Add a new row to the `Sessions` table using the following SQL statement (you can use tools like [Azure Data Studio](https://learn.microsoft.com/en-us/azure-data-studio/quickstart-sql-database) or [SQL Server Management Studio](https://learn.microsoft.com/en-us/azure/azure-sql/database/connect-query-ssms?view=azuresql) to connect to the database. No need to install them if you don't want. In that case you can use the [SQL Editor in the Azure Portal](https://learn.microsoft.com/en-us/azure/azure-sql/database/connect-query-portal?view=azuresql)): | ||
|
||
```sql | ||
insert into web.sessions | ||
(title, abstract, external_id, start_time_PST, end_time_PST, require_embeddings_update) | ||
values | ||
( | ||
'Building a session recommender using OpenAI and Azure SQL', | ||
'In this fun and demo-driven session you’ll learn how to integrate Azure SQL with OpenAI to generate text embeddings, store them in the database, index them and calculate cosine distance to build a session recommender. And once that is done, you’ll publish it as a REST and GraphQL API to be consumed by a modern JavaScript frontend. Sounds pretty cool, uh? Well, it is!', | ||
'S1', | ||
'2024年03月10日 10:00:00', | ||
'2024年03月10日 11:00:00', | ||
1 | ||
) | ||
``` | ||
|
||
immediately the deployed Azure Function will get executed in response to the `INSERT` statement. The Azure Function will call the OpenAI service to generate the text embedding for the session title and abstract, and then store the embedding in the database, specifically in the `web.sessions_embeddings` table. | ||
|
||
```sql | ||
select * from web.sessions_embeddings | ||
``` | ||
|
||
You can now open the URL associated with the created Static Web App to see the session recommender in action. You can get the URL from the Static Web App overview page in the Azure portal. | ||
|
||
 | ||
|
||
## Run the solution locally | ||
|
||
The whole solution can be executed locally, using [Static Web App CLI](https://github.com/Azure/static-web-apps-cli) and [Azure Function CLI](https://learn.microsoft.com/en-us/azure/azure-functions/functions-run-local?tabs=windows%2Cisolated-process%2Cnode-v4%2Cpython-v2%2Chttp-trigger%2Ccontainer-apps&pivots=programming-language-csharp). | ||
|
||
Install the required node packages needed by the fronted: | ||
|
||
```bash | ||
cd client | ||
npm install | ||
``` | ||
|
||
once finished, create a `./func/local.settings.json` and `.env` starting from provided samples files, and fill out the settings using the correct values for your environment. | ||
|
||
From the sample root folder run: | ||
|
||
```bash | ||
swa start ./client --api-location ./func --data-api-location ./swa-db-connections | ||
``` | ||
|
||
## Fluent UI | ||
|
||
The solution uses Fluent UI for the UI components. The Fluent UI is a collection of UX frameworks from Microsoft that provides a consistent design language for web, mobile, and desktop applications. More details about Fluent UI can be found at the following links: | ||
|
||
- https://github.com/microsoft/fluentui | ||
- https://react.fluentui.dev/ | ||
|
||
## Credits | ||
|
||
Thanks a lot to [Aaron Powell](https://www.aaron-powell.com/) for having helped in building the RAG sample, doing a complete UI revamp using the Fluent UI and for the implementaiton of the `ask` endpoint. |
15 changes: 15 additions & 0 deletions
azure.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# yaml-language-server: $schema=https://raw.githubusercontent.com/Azure/azure-dev/main/schemas/v1.0/azure.yaml.json | ||
|
||
name: azure-sql-db-session-recommender-v2 | ||
metadata: | ||
template: azure-sql-db-session-recommender-v2 | ||
services: | ||
web: | ||
project: ./client | ||
language: js | ||
host: staticwebapp | ||
dist: dist | ||
functionapp: | ||
project: ./func | ||
language: dotnet | ||
host: function |
20 changes: 20 additions & 0 deletions
client/.eslintrc.cjs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
module.exports = { | ||
root: true, | ||
env: { browser: true, es2020: true }, | ||
extends: [ | ||
'eslint:recommended', | ||
'plugin:react/recommended', | ||
'plugin:react/jsx-runtime', | ||
'plugin:react-hooks/recommended', | ||
], | ||
ignorePatterns: ['dist', '.eslintrc.cjs'], | ||
parserOptions: { ecmaVersion: 'latest', sourceType: 'module' }, | ||
settings: { react: { version: '18.2' } }, | ||
plugins: ['react-refresh'], | ||
rules: { | ||
'react-refresh/only-export-components': [ | ||
'warn', | ||
{ allowConstantExport: true }, | ||
], | ||
}, | ||
} |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.