Semantic search

Advancing QA Systems: Integrating Semantic Search with Elasticsearch and OpenAI Embeddings

Explore the integration of Elasticsearch and OpenAI embeddings in creating advanced QA systems. This blog delves into semantic search’s nuances, leveraging vector embeddings for contextual understanding, and discusses the superiority of cosine similarity in high-dimensional spaces for semantic relevance. Discover how these technologies combine to enhance QA capabilities.

venv 1

Mastering Python Development: A Step-by-Step Guide to Setting Up Virtual Environments on Your PC

A virtual environment in Python is a self-contained directory tree that includes a Python installation and a number of additional packages. Its main purpose is to keep dependencies required by different projects in separate places, by creating isolated python virtual environments for them. This is one of the most effective tools to manage dependencies and avoid conflicts between project requirements.


SMTP Emails in .NET: 1 Powerful library to Improve Email Delivery

Are you building a .NET library that needs to send SMTP emails? One of the key considerations in such a library is to provide fault tolerance when sending emails. After all, there could be a number of reasons why the email may not be delivered – the SMTP server could be down, the credentials could be incorrect, or the message could be invalid. To ensure that your library handles these scenarios gracefully, you can use Polly for .NET. In this tutorial, we’ll show you how to use Polly to provide fault tolerance in your .NET library for sending SMTP emails. We’ll start by creating a new .NET library project, then show you how to add the required packages and set up the project. We’ll also walk you through how to implement the SmtpEmailService class, which sends the actual email, and how to register it with Polly in the ServiceRegistration class. By the end of this tutorial, you’ll have a .NET library that is fault-tolerant when sending SMTP emails, thanks to the power of Polly.


Enriching Serilog log entries

Serilog is a powerful and flexible logging library for .NET applications. It allows developers to easily capture log data and send it to various destinations, such as files, databases, and cloud services. One of the key features of Serilog is its ability to enrich log data with contextual information, such as properties and structured data. In this blog we focus on a Serilog library that I recently published and what features it could add to your logs.

OpenSSL logo.svg

Creating self signed certificate using OpenSSL

A self-signed certificate is a certificate that is issued by the person or entity that will use it, rather than by a trusted certificate authority (CA). These certificates are commonly used for testing or for small websites that don’t handle sensitive information. In this post, we’ll show you how to create a self-signed certificate using OpenSSL. We’ll walk you through the process of generating a private key, creating a certificate signing request (CSR), and generating the self-signed certificate.

String comparison in DotNet

There are various ways of comparing two strings. Based upon situation you might need to compare string in regards to case sensitivity or even culture. For example, Postgres Sql is case sensitive where as MsSql is not. Here is a common scenario I have seen in many projects when it comes to comparing string that …

String comparison in DotNet Read More »