Stephen Collins

Stephen Collins @stephenc222

About: Senior Software Engineer. Sharing everything I’ve learned in tech.

Location:
Austin, Texas
Joined:
Sep 6, 2018

Stephen Collins
articles - 48 total

Track UI Events and Network Activity in Windows Using Rust + C#

Learn how to monitor UI events and TCP connections in real time with a Windows desktop app. This post walks through building a C# frontend that simulates HTTP requests, and a Rust background tool that hooks into Windows APIs to log user input and network activity. Ideal for system monitoring, telemetry, and reverse engineering education.

Learn More 0 0Apr 13

Track UI Events and Network Activity in macOS Using Rust + SwiftUI

Learn how to monitor UI events and per-process network activity in real time on macOS. This post walks through building a SwiftUI frontend that simulates user clicks and a Rust backend that hooks into macOS APIs to log input and observe traffic. Perfect for system tracing, app behavior analysis, and reverse engineering.

Learn More 0 0Apr 13

How sqlite-vec Works for Storing and Querying Vector Embeddings

Learn how `sqlite-vec` turns SQLite into a fast, embedded vector search engine. With support for float32, int8, and bit vectors, optimized distance metrics, and native SQL integration, it's ideal for offline AI, semantic search, and lightweight ML apps. This post walks through how it works and why it's surprisingly powerful.

Learn More 0 0Mar 31

How to use sqlite-vec to store and query vector embeddings

Vector search is a game-changer for LLM-based applications, but what if you could do it without...

Learn More 1 2Mar 5

I Wasted 2 Years and Thousands on an AI Product No One Wanted—Here's What I Wish I Knew

This blog post dives into the painful reality of launching an AI startup without validation. I share my personal experience with Crypto Clamor, an AI-powered sentiment analysis tool for crypto traders, and why it failed. You'll learn the key mistakes I made—building for hype instead of real problems—and how to avoid wasting time and money by validating your idea first.

Learn More 10 7Feb 12

How to Create a Node.js Proxy Server for Hosting the DeepSeek-R1 7B Model

This blog post provides a detailed walkthrough for deploying a Node.js proxy server to host Ollama's DeepSeek-R1 7B model. By combining Node.js, Docker, and AWS EC2, you'll learn how to securely expose the model to external clients while keeping the backend isolated. Ideal for intermediate developers looking to run large language models efficiently.

Learn More 14 0Jan 24

How to Use PydanticAI for Structured Outputs with Multimodal LLMs

Discover how to use PydanticAI with OpenAI's multimodal GPT-4o to extract structured outputs from images and text. This guide teaches you how to validate data, modularize workflows, and pass "conversations" between agents for streamlined AI applications.

Learn More 12 0Dec 16 '24

How to Build Lightweight GraphRAG with SQLite

This blog post demonstrates how to create a lightweight GraphRAG system using SQLite, combining document processing with graph-based retrieval. Learn how to extract and manage entities and relationships in SQLite, use centrality measures to enhance query accuracy, and visualize your graph data with D3.js. This tutorial is ideal for intermediate developers seeking a scalable solution for small-to-medium datasets.

Learn More 4 1Oct 5 '24

How to Scale GraphRAG with Neo4j for Efficient Document Querying

This blog post provides an in-depth tutorial on building a scalable GraphRAG pipeline using Neo4j. It covers setting up Neo4j, processing documents to extract entities and relationships, and applying graph algorithms like centrality to enhance query responses. Suitable for intermediate developers, the post demonstrates how Neo4j improves the performance and scalability of the GraphRAG system, especially when handling larger datasets.

Learn More 10 0Sep 9 '24

Introducing JSON Schemas for AI Data Integrity

This blog post offers an in-depth introduction to JSON Schemas, emphasizing their significance in maintaining data integrity in AI-driven applications. Designed for intermediate developers, the post explores the components of JSON Schemas, their role in preventing errors, and how they can be integrated into AI models to ensure reliable and consistent outputs. With practical code examples and best practices, it serves as a comprehensive guide to leveraging JSON Schemas in modern AI development.

Learn More 2 0Aug 12 '24

How to Implement a Tree of Thoughts in Python

This blog post walks you through the implementation of a Tree of Thoughts (ToT) prompting technique in Python, a powerful tool for systematically exploring and evolving ideas. Using Anthropic's Claude Sonnet 3.5 language model, we build a hierarchical structure where each node represents a thought, and the tree expands by generating new thoughts. Whether you're looking to brainstorm, problem-solve, or innovate, this post guides you through setting up and utilizing a Tree of Thoughts in your projects.

Learn More 7 0Jul 5 '24

Building a Reliable and Accurate LLM Application with Voting Systems

This blog post provides a comprehensive guide to enhancing LLM applications' reliability and accuracy using a voting system. By leveraging Google Gemini 1.5 Flash, Claude Sonnet 3.5, and OpenAI GPT-4o, you can combine model strengths for better performance. The tutorial includes step-by step instructions and Python code examples, making it ideal for intermediate Python users aiming to build robust AI applications.

Learn More 5 2Jun 28 '24

Implementing GraphRAG for Query-Focused Summarization

This blog post provides an in-depth tutorial on implementing GraphRAG for query-focused summarization. It explains the process of building an entity knowledge graph, detecting communities, and generating final answers using Python. Aimed at intermediate developers, the post highlights the practical application of GraphRAG for handling global questions, demonstrating its efficiency and effectiveness in summarizing large text corpora. It serves as a valuable guide for those looking to leverage advanced LLM capabilities in their applications.

Learn More 56 5May 17 '24

How to Create LCEL Chains in LangChain

LangChain is a framework designed to enhance the capabilities of large language models (LLMs) by...

Learn More 0 0Mar 21 '24

How to Perform OCR with Multi Modal LLMs

This tutorial showcases a cutting-edge OCR project that employs multi modal LLMs—OpenAI's GPT-4 with vision or Anthropic's Claude 3—alongside AWS Rekognition, to extract line items from grocery receipts with unprecedented accuracy. Through step-by-step guidance, you'll learn how to set up the project, understand its core functionality, and leverage these advanced technologies for text digitization. Ideal for intermediate developers familiar with TypeScript and interested in OCR advancements, this post provides both the conceptual framework and practical application insights for digitizing text from images efficiently.

Learn More 6 0Mar 14 '24

How to Enhance Content with Semantify

This blog post introduces Semantify, a powerful tool designed to elevate long-form content through Generative AI. It guides readers through installing Semantify,utilizing its features to generate reading times, interactive Q&A sections, and semantically similar content recommendations, and customizing these enhancements for their blog posts. Targeted at content creators and marketers, this tutorial provides the knowledge needed to seamlessly integrate Semantify into their content strategy, thereby increasing engagement and page views on their sites.

Learn More 2 0Mar 2 '24

How to Use Promptfoo for LLM Testing

In this blog post, I explore Promptfoo, a CLI and library that transforms LLM development with its test-driven approach. Through a hands-on project, readers will learn how to utilize Promptfoo to systematically test, evaluate, and improve LLM outputs. From setting up your evaluation framework to analyzing side-by-side comparisons of model performances, this guide provides all the necessary steps and insights for leveraging Promptfoo in your LLM projects. Whether you're new to LLM development or looking to refine your prompt engineering skills, this post will equip you with the knowledge to effectively use Promptfoo.

Learn More 30 0Feb 15 '24

Basic Security Practices for SQLite: Safeguarding Your Data

This blog post explores foundational security practices for SQLite databases, crucial for anyone managing sensitive information, such as vector embeddings. It highlights the importance of securing the file system and host environment, employing encryption, adhering to secure software development principles, and implementing strategies for the secure storage and retrieval of vector embeddings. Designed for database administrators and developers, this post provides practical advice and techniques to enhance the security of SQLite databases effectively.

Learn More 46 1Feb 3 '24

Harnessing Semantic Kernel for LLM Integration

This blog post offers an in-depth exploration of Semantic Kernel, an innovative SDK for LLM integration. It covers the practical implementation of the JobSearchPlugin, showcasing how Semantic Kernel facilitates external API interactions and LLM functionalities within applications. Designed for intermediate developers, the post highlights the SDK's flexibility, efficiency, and versatility, making it an essential tool for modern software development. It serves as a guide for those looking to enhance their applications with cutting-edge LLM capabilities.

Learn More 3 0Jan 20 '24

How to Automate Processes with CrewAI

This blog post provides a practical guide to using CrewAI, an innovative AI framework, for process automation. Focused on its core features, such as customizable AI agents and task management, the post offers a walkthrough with a Python code example. Ideal for intermediate Python users, it demonstrates CrewAI's versatility in streamlining processes across multiple industries, thereby enhancing efficiency, decision-making, and collaborative efforts.

Learn More 32 0Jan 13 '24

How to use Milvus to Store and Query Vector Embeddings

This blog post explores Milvus, an open-source vector database, and demonstrates its usage in Python for advanced vector search applications. Focusing on a practical example, we delve into creating collections in Milvus, generating text embeddings using a pre-trained model, and conducting vector searches. The post is designed for intermediate Python users interested in leveraging vector databases for efficient and scalable search functionality in AI applications. It's a guide through the process of integrating Milvus with natural language processing techniques for sophisticated data handling.

Learn More 54 1Jan 7 '24

Using LlamaIndex for Web Content Indexing and Querying

This blog post illustrates the capabilities of LlamaIndex, a simple, flexible data framework for connecting custom data sources to large language models (LLMs). Using a sample project, I demonstrate how to leverage LlamaIndex for efficient data extraction from a web page, specifically Abraham Lincoln's Wikipedia page, and how to query this data using advanced NLP capabilities. Whether you're a beginner or an intermediate Python developer, this post will guide you through setting up and using LlamaIndex in your own projects.

Learn More 17 0Jan 1 '24

How to Supercharge Chatbots with Mixtral 8x7B and Vector Search

This article guides you through the process of augmenting chatbots using 'Mixtral 8x7B' and vector search, enhancing their ability to understand and respond to complex queries.

Learn More 2 0Dec 16 '23

A Beginner's Guide to SQLite: The Lightweight Database Solution

This guide introduces SQLite, a popular database management system known for its simplicity and power. Readers will learn how to install SQLite, perform basic operations, and understand its core features. The post includes practical examples to illustrate SQLite's capabilities. Perfect for anyone looking to get started with databases or to refine their skills in data management.

Learn More 23 0Dec 14 '23

Empowering OpenAI Assistants with Shell Command Capabilities

This comprehensive guide delves into the process of enabling OpenAI Assistants to execute shell commands, using clipboard functionality as a practical example. It covers the technical aspects of integrating system utilities with AI, from setting up the OpenAI client to implementing custom shell commands for clipboard operations. Ideal for developers looking to expand the functionalities of AI applications beyond conventional text processing, this tutorial paves the way for more dynamic and interactive AI solutions.

Learn More 2 0Dec 7 '23

How to Integrate Neo4j with OpenAI's GPT Assistants

This detailed guide walks you through setting up the example 'GraphKnowledgeBot', an OpenAI Assistant that can interact with Neo4j graph databases. It encompasses everything from initial setup and application execution, to mastering the assistant for cutting-edge AI queries. Gain the skills to combine the analytical prowess of GPT-4 with Neo4j for intelligent data querying, offering an essential toolkit for developers eager to combine AI with graph database technologies.

Learn More 7 0Dec 1 '23

How to Build a System of Experts with LLMs

This article offers a walkthrough for constructing a cohesive System of Experts using mutliple kinds of AI models, such as GPT-4 as well as Cohere's Generate mdoel, tailored for the personal finance domain. I'll craft a network of intelligent microservices that communicate via RabbitMQ, each expert providing nuanced, context-aware advice and services.

Learn More 4 2Nov 22 '23

Enhancing GPT Assistants with Vector Search Tools

This article explains how to equip GPT Assistants with vector search tools, designed to enhance the GPT Assistant's ability to provide contextually relevant answers. I provide a comprehensive tutorial on building a 'VectorizedKnowledgeBot' that leverages vector-based searches for deeper understanding and precise information retrieval.

Learn More 3 0Nov 11 '23

Enhancing MySQL Searches with Vector Embeddings

This article explores the integration of vector embeddings into MySQL databases using the `mysql_vss` plugin. I'll guide you through the usage of `mysql_vss`, demonstrating its value in managing and querying high-dimensional vector data. You'll learn how `mysql_vss` can be applied to real-world scenarios such as advanced search in WordPress and AI-driven chatbots, all through practical examples and code snippets.

Learn More 3 0Nov 6 '23

How to use Weaviate to store and query vector embeddings

This hands-on guide walks you through setting up Weaviate locally, how to use Weaviate and illustrates how to integrate it with a custom vector embedding model. Learn the ins and outs of creating, storing, and querying vector embeddings to perform insightful semantic searches.

Learn More 7 0Oct 13 '23