Improving Retrieval Augmented Generation (RAG) with Hybrid Semantic Ranking

This post is a follow up to my previous one on Querying SQL Server With Natural Language In Semantic Kernel, if you haven’t read it yet, go take a look for a brief introduction to Semantic Kernel and the plugin architecture. The majority of Retrieval Augmented Generation (RAG) systems utilise Vector Databases, such as Azure AI Search, to store chunks of documents that can be accessed via Large Language Models (LLMs)....

June 12, 2024 · 9 min · 1772 words · Me

Querying SQL Server With Natural Language In Semantic Kernel

With the recent rise of Retrieval Augmented Generation (RAG) alongside Large Language Models (LLMs), we can build AI-powered systems that can search and summarize indexed documents to enhance the knowledge of chatbots. This works great for unstructured data stored in documents, but what if you want to access information stored in a SQL database and summarize accordingly? By combining existing RAG techniques with natural language to SQL processing, we can create enterprise chatbot systems that can fetch and summarize both unstructured and structured data....

June 6, 2024 · 9 min · 1735 words · Me

Lint Modified Python Files Only In Build Validation

Have you ever needed to run any linting program (such as Flake8) only on specific Python files during build validation checks in Azure DevOps? Perhaps you are adopting a new linting / code validation tool on your extensive project but only want to enforce it for newly modified files? By utilizing Azure DevOps and Git Diff, Flake8 (or any other linting tool!) can be restricted to designated files by following the steps outlined below:...

April 24, 2023 · 3 min · 580 words · Me