SShortSingh.
Back to feed

Developer shares five hard lessons building a GPU-free, on-premise RAG system for public sector

0
·6 views

A developer working on public sector health information systems built a fully on-premise retrieval-augmented generation (RAG) stack that runs on CPU-only Windows Server hardware without Docker or cloud access. The open-source system uses ASP.NET Core 9, Ollama, Qdrant, Mistral 7B, and a Python ingest pipeline to process and query PDF, Word, and Excel documents locally. The project was motivated by strict institutional data-residency requirements common in healthcare and government environments, where modern AI infrastructure assumptions rarely apply. During deployment, the developer encountered five significant issues not covered in standard RAG tutorials, including gRPC incompatibility with HTTP/1.1-only corporate networks, which required bypassing the official Qdrant .NET SDK in favour of direct REST API calls. The field report is intended to help others facing similar legacy enterprise constraints where GPU access and cloud connectivity cannot be taken for granted.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

AI Can Describe Code, But Cannot Capture the Unwritten Knowledge Behind It

A technical writer argues that AI tools like ChatGPT cannot replace human documentation professionals, despite growing claims on social media that they can. The core issue is what the author calls 'Institutional Debt' — undocumented tribal knowledge that exists only in the minds of experienced developers. AI can accurately describe what code does syntactically, but it has no way of knowing the historical context, legacy bugs, or informal workarounds that shaped a codebase over time. Technical writers, the author contends, act as detectives who extract this hidden knowledge through direct conversations with engineers before it walks out the door when staff leave. Replacing writers with AI to cut costs, the piece warns, risks leaving teams blind to undocumented issues that could cause serious production failures.

0
ProgrammingDEV Community ·

How to Build a Cost Ledger That Tracks AI Coding Agent Spend Session by Session

AI coding agents can silently inflate development costs through inefficient sessions that reread context, retry failed plans, and produce minimal output despite high token usage. Unlike a simple dashboard that shows total spend, a cost ledger records every meaningful event in an agent session — including tool calls, file reads, retries, approval wait times, and generated diffs. Developers building AI-powered tools are urged to track not just model API costs but the full workflow economics of each session to identify wasteful patterns. Research into real coding sessions has found that a large share of input tokens consists of repeated, unchanged context, pointing to caching as a key optimization. As agentic coding moves from experimentation into daily workflows, teams are shifting focus from model access costs to unit economics and session-level accountability.

0
ProgrammingDEV Community ·

Rust Orphan Rules Explained: Blanket, Fundamental, and Covered Implementations

Rust's coherence principle ensures that for any given type and trait, only one valid implementation can exist, enforced largely through the orphan rule, which requires either the trait or the type to be local to the current crate. Blanket implementations allow a trait to be applied to all types satisfying a certain bound, but only the crate defining the trait may use them, and adding one is considered a breaking change. Certain foundational types — including &T, &mut T, Box, and Pin — are marked #[fundamental] and are exempt from orphan-rule checks, though blanket implementations on them still count as breaking changes. Covered implementations offer a narrow exception, permitting an external trait to be implemented for an external type only when at least one generic parameter is a local type and no unwrapped generic appears before it. Understanding these rules is essential for advanced Rust developers working with trait design, API compatibility, and generic programming.

0
ProgrammingDEV Community ·

Frontend Developers Can Deploy React/Next.js Projects on VPS Without DevOps Skills

A step-by-step guide published on DEV Community outlines how frontend developers can independently deploy React or Next.js projects on a Virtual Private Server (VPS). The process uses Node.js, PM2, and GitHub, requiring no knowledge of Docker, Nginx, or CI/CD pipelines. Developers need a VPS from providers like DigitalOcean or AWS, a GitHub-hosted project, and Node.js with either npm or pnpm installed. The guide walks through cloning the repository, installing dependencies, building the project, opening the necessary firewall port, and launching the app with PM2 to keep it running persistently. An optional Nginx setup is recommended for those who later wish to connect a custom domain.