(Python)
This sample shows how to quickly get started with LlamaIndex.ai on Azure. The application is hosted on Azure Container Apps. You can use it as a starting point for building more complex RAG applications.
(Like and fork this sample to receive lastest changes and updates)

This project demonstrates how to build a simple LlamaIndex application using Azure OpenAI. The app is set up as a chat interface that can answer questions about your data. You can add arbitrary data sources to your chat, like local files, websites, or data retrieved from a database. The app will ingest any supported files you put in ./data/ directory. This sample app includes an example pdf in the data folder that contains information about standards for sending letters, cards, flats, and parcels in the mail. The app also uses LlamaIndex.TS that is able to ingest any PDF, text, CSV, Markdown, Word and HTML files.

This application has two main components:
A Python backend built using FastAPI
It is hosted on Azure Container Apps in just a few commands.
gpt-35-turbo model and embeddings to provide the best and fastest answers to your questions.You have a few options for getting started with this template. The quickest way to get started is GitHub Codespaces, since it will setup all the tools for you, but you can also set it up locally. You can also use a VS Code dev container
This template uses gpt-35-turbo version 1106 which may not be available in all Azure regions. Check for up-to-date region availability and select a region during deployment accordingly. We recommend using swedencentral.
You can run this template virtually by using GitHub Codespaces. The button will open a web-based VS Code instance in your browser:
Sign into your Azure account:
shell
azd auth login
4. Provision the Azure resources and deploy your code:
shell
azd up
Once your deployment is complete you can begin to set up your python environment.
Create a python virtual environment and install the python dependencies:
Linux and MacOS venv activation:
bash
cd backend
python3 -m venv venv
source venv/bin/activate
Install dependencies with poetry:
bash
poetry install
You will also need to ensure the environment variables are accessible. You can do this by running the following command:
bash
azd env get-values > .env
Confirm that this step has happened successfuly by checking if a .env file has been added to the backend folder.
We can now generate the embeddings of the documents in the ./data directory. In this sample it contains a pdf file with mail standards.
bash
poetry run generate
Next, we can install the frontend dependencies:
bash
cd ../frontend
npm install
The app is now ready to run! To test it, run the following commands:
First start the Flask server
bash
cd ../backend
python main.py
(If you see a Traceloop error ignore it as we will not be using it for this example.)
Make ports in Github Codespaces public
Because the Flask server and the frontend web app server are running on different ports, you will need to
use public ports in codespaces. To do this look for the ports tab at the top of your terminal in vscode. If the port
visibilities of the available ports are already public skip this step. If they are private look for port 8000,
right click on it, select Port Visibility and set it to public. Do the same for port 3000.

Next open a new terminal and launch the web app
bash
cd frontend
npm run dev
Open the URL http://localhost:3000 in your browser to interact with the bot.
Congratulations! Your RAG app is now working. An example question to ask is 'Can you tell me how much it costs to send a large parcel to France?'
A related option is VS Code Dev Containers, which will open the project in your local VS Code using the Dev Containers extension:
Sign into your Azure account:
shell
azd auth login
5. Provision the Azure resources and deploy your code:
shell
azd up
Once your deployment is complete, you should see a .env file in the .azure\env_name folder. This file contains the environment variables needed to run the application using Azure resources. Move this file to the backend\app folder for the variables to be loaded into the correct enivornment.
Create a python virtual environment and install the python dependencies:
bash
cd backend
python3 -m venv venv
source venv/bin/activate
poetry install
You will also need to ensure the environment variables are accessible. You can do this by running the following command:
bash
azd env get-values > .env
Confirm that this step has happened successfuly by checking if a .env file has been added to the backend folder.
We can now generate the embeddings of the documents in the ./data directory. In this sample it contains a pdf file with mail standards.
bash
poetry run generate
Install the frontend dependencies:
bash
cd ..
cd frontend
npm install
9. Configure a CI/CD pipeline:
shell
azd pipeline config
The app is now ready to run! To test it, run the following commands:
cd ../backend
python main.py
cd frontend
npm run dev
Open the URL http://localhost:3000 in your browser to interact with the bot.
An example question to ask is 'Can you tell me how much it costs to send a large parcel to France?'
You need to install following tools to work on your local machine:
pwsh.exe from a PowerShell command. If this fails, you likely need to upgrade PowerShell.gpt-35-turbo version 1106 which may not be available in all Azure regions. Check for up-to-date region availability and select a region during deployment accordinglyswedencentralThen you can get the project code:
git clone <your-repo-url> Bring down the template code:
shell
azd init --template llama-index-python
This will perform a git clone
Sign into your Azure account:
shell
azd auth login
Create a python virtual environment and install the python dependencies:
bash
cd backend
python3 -m venv venv
source venv/bin/activate
poetry install
Provision and deploy the project to Azure:
shell
azd up
You will also need to ensure the environment variables are accessible. You can do this by running the following command:
bash
azd env get-values > .env
Confirm that this step has happened successfuly by checking if a .env file has been added to the backend folder.
We can now generate the embeddings of the documents in the ./data directory. In this sample it contains a pdf file with mail standards.
bash
poetry run generate
Install the frontend dependencies:
bash
cd ..
cd frontend
npm install
Configure a CI/CD pipeline:
shell
azd pipeline config
The app is now ready to run! To test it, run the following commands:
First run the Flask development server
bash
cd ../backend
python main.py
Next open a new terminal and launch the web app
bash
cd frontend
npm run dev
Open the URL http://localhost:3000 in your browser to interact with the bot.
An example question to ask is 'Can you tell me how much it costs to send a large parcel to France?'
./backend/data folder../backend and then run poetry run generatepython [main.py](http://main.py/)open a new terminal cd into frontend and run npm run dev
Change the look of the app:
header.tsx./frontend/public and replace the places in header.tsx and chat-avatar.tsx that have llama.png with your image name.global.css , background colors can be changed by making changes to .background-gradientThis template uses gpt-35-turbo version 1106 which may not be available in all Azure regions. Check for up-to-date region availability and select a region during deployment accordingly
* We recommend using swedencentral
Pricing varies per region and usage, so it isn't possible to predict exact costs for your usage. However, you can use the Azure pricing calculator fo
$ claude mcp add llama-index-python \
-- python -m otcore.mcp_server <graph>