Welcome to the Azure AI Search Python Playground! This repository contains a collection of Jupyter notebooks designed to explore the various capabilities of Azure AI Search. You'll find experiments focused on vector search, retrieval-augmented generation (RAG), and other retrieval system tasks using OpenAI's embedding models. Each notebook is a standalone experiment with detailed explanations to help you understand the concepts and apply them in your own projects.
This repository includes a diverse range of Jupyter notebooks demonstrating integrations and functionalities with Azure AI Search:
-
OpenAI Text-Embedding-3-Large Model Exploration
Enhance search relevance using the OpenAI text-embedding-3-large model. -
Cohere Embed-v3 Exploration
Improve embeddings and retrieval quality with the Cohere Embed-v3 model. -
Indexing and Querying CSV Data
Learn how to index and query CSV datasets in Azure AI Search. -
Document Boosting Techniques
Influence relevance scoring with document boosting strategies. -
Quantization Techniques
Optimize efficiency and performance through advanced quantization. -
Maximum Marginal Relevance
Post-Process Vector Search Results using MMR (Maximum Marginal Relevance)
-
RAG Evaluation with Tonic AI
Assess Retrieval Augmented Generation (RAG) performance with Tonic AI Validate. -
RAG Evaluation with TruLens
Gain insights into RAG solutions using TruLens. -
RAG Evaluation with Arize Phoenix
Monitor and improve RAG quality with Arize Phoenix analytics. -
Measuring Search Relevance with Ranx
Benchmark and quantify search relevance using Ranx. -
RAG Evaluation with LlamaIndex, Literal AI, and RAGAS
Refine and validate RAG pipelines using LlamaIndex, Literal AI logs, and RAGAS metrics.
-
LlamaIndex Workflows
Orchestrate asynchronous search workflows with LlamaIndex and Azure AI Search. -
NVIDIA RAG with LlamaIndex
Build advanced RAG pipelines leveraging NVIDIA NIM embeddings and LlamaIndex. -
Multimodal RAG using Contextual Retrieval
Integrate LlamaParse Premium, Azure OpenAI, and Arize Phoenix for multimodal retrieval. -
OpenAI Swarm Multi-Agent
Experiment with multi-agent capabilities using the OpenAI Swarm framework. -
Getting Started with Voyage Multimodal Embeddings
Explore voyage-multimodal-3 embeddings for combined text-image retrieval.
-
Legal AI Agent with CrewAI
Build a CrewAI Agent for complex legal queries, integrating Azure AI Search and Azure OpenAI. -
Medical AI Agent with CrewAI
Develop a multi-agent medical assistant for cardiology scenarios. -
Insurance Claims Agent with Semantic Kernel
Develop a multi-agent insurance assistant for Hurricane damage to your property. -
HR Recruitment Agent with Semantic Kernel
Automate HR candidate screening with a Semantic Kernel-driven agent.
To begin experimenting with these notebooks, set up your Azure AI environment with the following steps:
-
Set Up an Azure Account: Ensure you have an Azure account. If not, you can sign up for free.
-
Create Azure AI Resources: Follow the Azure AI documentation to create the necessary resources, including Azure OpenAI service instances.
-
Clone This Repository: Clone the repository to your local machine or Azure Notebooks environment:
git clone https://github.com/farzad528/azure-ai-search-python-playground.git
Each notebook specifies its dependencies at the beginning. To ensure a smooth experience:
-
Open the Notebook: Navigate to the notebook of interest.
-
Install Dependencies: Follow the markdown instructions at the top of each notebook to install the necessary Python packages.
-
Use a Virtual Environment (Recommended): It's highly recommended to use a virtual environment (via
conda
,virtualenv
, or Python's built-invenv
module) to avoid conflicts between project dependencies.
By following the in-notebook instructions, you can ensure that all necessary dependencies for a given experiment are correctly installed.
Each notebook is self-contained and includes step-by-step instructions to guide you through the experiments. To get started, simply open a notebook in your Jupyter environment and follow the provided instructions.
We welcome contributions from the community! If you have suggestions for additional experiments or improvements to existing notebooks, please feel free to open an issue or submit a pull request.
For more information and updates on using Azure AI for search and retrieval tasks, follow my blog on Hashnode.
Thank you for exploring the Azure AI Search Python Playground. Happy experimenting! 🎉