Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ks6088ts-labs/azure-ai-services-solutions
A collection of solutions that leverage Azure AI services.
https://github.com/ks6088ts-labs/azure-ai-services-solutions
azure azure-ai-services azure-event-grid azure-functions azure-storage cosmosdb document-intelligence fastapi langchain langgraph openai poetry python streamlit typer
Last synced: about 1 month ago
JSON representation
A collection of solutions that leverage Azure AI services.
- Host: GitHub
- URL: https://github.com/ks6088ts-labs/azure-ai-services-solutions
- Owner: ks6088ts-labs
- License: mit
- Created: 2024-05-02T04:06:01.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-09-23T06:08:28.000Z (5 months ago)
- Last Synced: 2024-11-09T01:52:24.599Z (3 months ago)
- Topics: azure, azure-ai-services, azure-event-grid, azure-functions, azure-storage, cosmosdb, document-intelligence, fastapi, langchain, langgraph, openai, poetry, python, streamlit, typer
- Language: Python
- Homepage: https://hub.docker.com/repository/docker/ks6088ts/azure-ai-services-solutions/general
- Size: 1.33 MB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
[![test](https://github.com/ks6088ts-labs/azure-ai-services-solutions/actions/workflows/test.yaml/badge.svg?branch=main)](https://github.com/ks6088ts-labs/azure-ai-services-solutions/actions/workflows/test.yaml?query=branch%3Amain)
[![infra](https://github.com/ks6088ts-labs/azure-ai-services-solutions/actions/workflows/infra.yaml/badge.svg?branch=main)](https://github.com/ks6088ts-labs/azure-ai-services-solutions/actions/workflows/infra.yaml?query=branch%3Amain)
[![docker](https://github.com/ks6088ts-labs/azure-ai-services-solutions/actions/workflows/docker.yaml/badge.svg?branch=main)](https://github.com/ks6088ts-labs/azure-ai-services-solutions/actions/workflows/docker.yaml?query=branch%3Amain)
[![docker-release](https://github.com/ks6088ts-labs/azure-ai-services-solutions/actions/workflows/docker-release.yaml/badge.svg)](https://github.com/ks6088ts-labs/azure-ai-services-solutions/actions/workflows/docker-release.yaml)# azure-ai-services-solutions
This repository contains a collection of solutions that leverage Azure AI services.
## Prerequisites
- [Python 3.10+](https://www.python.org/downloads/)
- [Poetry](https://python-poetry.org/docs/#installation)
- [GNU Make](https://www.gnu.org/software/make/)## Architecture
[![architecture](./docs/architecture.png)](./docs/architecture.png)
## Development instructions
### Local development
Use Makefile to run the project locally.
```shell
# Launch backend API server
make backend# Launch frontend app server
make frontend# Azure Functions
make azure-functions-start
```### Docker development
See the actual implementation in the [compose.yaml](./compose.yaml) file.
```shell
# Launch backend API server
docker compose up backend# Launch frontend app server
docker compose up frontend
```### Run local test
Currently almost all tests won't run on CI because it consumes Azure resources.
To run the tests locally, follow the steps below.```shell
# Run test if RUN_TEST is defined
export RUN_TEST=1make test
```## Deployment instructions
```shell
# Deploy Azure resources via Bicep
cd infra
make deploy
```Azure Functions are deployed using the following commands.
```shell
# Deploy Azure Functions
make azure-functions-deploy
# Publish Azure Functions
make azure-functions-publish
```### Push docker image to Docker Hub
To publish the docker image to Docker Hub via GitHub Actions, you need to set the following secrets in the repository.
```shell
gh secret set DOCKERHUB_USERNAME --body $DOCKERHUB_USERNAME
gh secret set DOCKERHUB_TOKEN --body $DOCKERHUB_TOKEN
```### Continuous Integration
To configure OIDC authentication, run the following command.
```shell
# Configure OIDC authentication
sh scripts/configure-oidc-github.sh# Register parameters to GitHub Secrets
AZURE_SUBSCRIPTION_ID=$(az account show --query 'id' --output tsv)gh secret set AZURE_CLIENT_ID --body $AZURE_CLIENT_ID
gh secret set AZURE_TENANT_ID --body $AZURE_TENANT_ID
gh secret set AZURE_SUBSCRIPTION_ID --body $AZURE_SUBSCRIPTION_ID
gh secret set AZURE_RG --body $AZURE_RG
```