A lot of developers tell me they want to add AI to their apps, but they're waiting until they can afford API credits. I understand that. When I was starting out in Nepal, paying in US dollars for every experiment just wasn't realistic.
The good news is that in 2026, you don't need to pay anything to start. You can build a real AI feature, with a chat model, web search and RAG over your own data, using free tools and free tiers.
In my last few posts I talked about why I pay for Claude Pro for my own daily development. That's still true. But paying for a coding assistant is different from building AI into your app. For learning, prototypes and side projects, the free options are genuinely good. This post is the stack I'd recommend to anyone starting today.
The free stack at a glance
| What you need | Free option | Good for |
|---|---|---|
| A strong hosted model | NVIDIA's API (build.nvidia.com) | Prototypes that need bigger models |
| A model on your own PC | Ollama + Qwen3 4B | Offline work, privacy, no limits |
| Web search for your AI | Tavily, 1,000 free credits a month | Up-to-date answers |
| Embeddings for RAG | Hugging Face models (local) or NVIDIA embeddings | Searching your own documents |
| Vector storage | pgvector, Qdrant or SQLite to start | Storing and searching embeddings |
| Other free tiers | Groq, Google AI Studio, Cloudflare Workers AI | Speed, variety, backups |
Let's go through them one by one.
1. NVIDIA's API: big models, no credit card
This is the one most people don't know about. On build.nvidia.com, NVIDIA hosts a large catalogue of models, from open models like Llama, Qwen, DeepSeek and Mistral to NVIDIA's own. You sign up, verify your phone number, get an API key, and you can call them for free. No credit card.
The best part for developers: the API is OpenAI-compatible. Any code or library that can talk to OpenAI can talk to NVIDIA, just by changing the base URL to https://integrate.api.nvidia.com/v1.
In .NET, with Microsoft.Extensions.AI and the OpenAI package, it looks like this:
using System.ClientModel;
using Microsoft.Extensions.AI;
using OpenAI;
var nvidia = new OpenAIClient(
new ApiKeyCredential(builder.Configuration["Nvidia:ApiKey"]!),
new OpenAIClientOptions { Endpoint = new Uri("https://integrate.api.nvidia.com/v1") });
// Pick any chat model id from build.nvidia.com
IChatClient chat = nvidia
.GetChatClient(builder.Configuration["Nvidia:Model"]!)
.AsIChatClient();
var reply = await chat.GetResponseAsync("Explain dependency injection in two sentences.");
Console.WriteLine(reply.Text);
Which model should you pick? It depends on what you're building. Try a few in the playground on the website first:
- For general chat and summarising, a mid-size instruct model is usually enough and faster.
- For coding or reasoning tasks, try the larger or "thinking" models.
- For simple classification or extraction, a small model is quicker and saves your rate limit.
Keep the model id in configuration, like above, so you can switch without changing code.
The limits. The free tier allows around 40 requests per minute. That limit is for your key across all models, not per model. NVIDIA doesn't publish a fixed table, and they describe the free tier as being for prototyping and evaluation, not production. A few practical tips:
- If you get a
429response, wait and retry. The response tells you how long to wait. - Some models need you to open their page and click Try API once before your key works with them.
- Don't send sensitive or personal data on the free tier.
- Models come and go from the free catalogue, so don't hard-code one into your app forever.
Forty requests a minute is plenty for learning and building a demo. It's not enough for a real app with users, and that's fine. That's not what it's for.
2. Ollama + Qwen3 4B: a model on your own PC
If you want no limits at all, and full privacy, run the model yourself.
Ollama makes this really easy. Install it, then run:
ollama pull qwen3:4b
ollama run qwen3:4b
Qwen3 4B is a 4-billion-parameter model from Alibaba's Qwen family. The download is about 2.5 GB, and it runs on a normal laptop with modest RAM, even without a dedicated GPU. It won't be as smart as the big hosted models, but for a 4B model it's surprisingly capable: summarising, simple Q&A, extracting data, and even basic tool calling.
You'll need some free memory on top of the download size, for the context and Ollama itself. If your PC has 8 GB of RAM, close a few browser tabs and it'll be happy. If you have a GPU, it'll be much faster.
Ollama runs a local API on port 11434, and in .NET you can use the OllamaSharp package, which plugs straight into the same IChatClient interface:
using Microsoft.Extensions.AI;
using OllamaSharp;
IChatClient local = new OllamaApiClient(new Uri("http://localhost:11434"), "qwen3:4b");
var reply = await local.GetResponseAsync("Write a short welcome message for a todo app.");
Console.WriteLine(reply.Text);
Notice that the code that uses the model is exactly the same as with NVIDIA. That's the real power of IChatClient. You can develop locally with Ollama, demo with NVIDIA, and later switch to a paid provider, without rewriting your business logic.
Why I like a local model:
- No rate limits and no API bills.
- Your data never leaves your machine, which is great for testing with real-looking data.
- It works offline, on a train or a plane.
- You learn a lot about how models actually behave when you can see their limits up close.
3. Tavily: give your AI the internet
Models only know what they were trained on. If you ask about something that happened last week, or the latest version of a library, they'll guess, or say they don't know.
Tavily is a search API built for AI apps. Instead of returning a page of links, it returns clean, relevant content that you can pass straight into your prompt. The free plan gives you 1,000 API credits every month, with no credit card. A basic search costs 1 credit and an advanced search costs 2, so that's up to 1,000 searches a month, which is plenty for a side project.
You can call it with a plain HttpClient:
using System.Net.Http.Headers;
using System.Net.Http.Json;
var http = new HttpClient();
http.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", builder.Configuration["Tavily:ApiKey"]);
var response = await http.PostAsJsonAsync("https://api.tavily.com/search", new
{
query = "What's new in .NET 10?",
max_results = 5
});
var json = await response.Content.ReadAsStringAsync();
// Pass the results into your prompt as context
Even better, wrap it as a tool. Then the model can decide by itself when it needs to search:
[Description("Searches the web for recent information.")]
async Task<string> SearchWeb(string query) => await tavily.SearchAsync(query);
var options = new ChatOptions { Tools = [AIFunctionFactory.Create(SearchWeb)] };
With function invocation turned on, the model will call SearchWeb when it needs fresh information, read the results, and answer with them. That's the beginning of an agent.
4. RAG: let the AI answer from your own data
This is where things get really useful for real apps. RAG (retrieval-augmented generation) means the model answers using your documents: your FAQs, your product docs, your policies, your notes.
The idea in simple steps:
- Split your documents into small chunks, a few paragraphs each.
- Embed each chunk. An embedding model turns text into a list of numbers (a vector) that represents its meaning.
- Store the vectors in a database.
- When a user asks a question, embed the question too, and find the chunks with the closest vectors.
- Send those chunks to the chat model with the question, and ask it to answer using only that context.
Free embedding models
You have two good free options here.
Run them locally. Hugging Face has many excellent open embedding models that are small and fast, like the BGE family and the all-MiniLM models from sentence-transformers. You can also get embedding models through Ollama, for example:
ollama pull nomic-embed-text
And use it through the same Microsoft.Extensions.AI interface:
IEmbeddingGenerator<string, Embedding<float>> embedder =
new OllamaApiClient(new Uri("http://localhost:11434"), "nomic-embed-text");
var vectors = await embedder.GenerateAsync(["How do I reset my password?"]);
Or use NVIDIA's embedding endpoints. NVIDIA also hosts embedding models built for retrieval, like the nv-embedqa family, on the same free API key. One thing to know: these retrieval models usually want you to say whether the text is a query or a passage, because they embed questions and documents slightly differently. Check the model's page for the exact parameter.
Whichever you choose, use the same embedding model for your documents and your questions. Vectors from different models can't be compared.
Where to store the vectors
You don't need a fancy vector database to start:
- For learning, a simple in-memory list or SQLite is enough for a few thousand chunks.
- If you already use PostgreSQL, add the free pgvector extension and store vectors next to your normal data.
- For something bigger, Qdrant is open source and runs easily in Docker.
.NET also has vector store abstractions in Microsoft.Extensions.VectorData, so you can start simple and move to a bigger database later without changing much code.
5. Other genuinely free tools worth knowing
These are all official free tiers from real companies. Limits change often, so always check your own account dashboard for the current numbers.
- Groq runs open models on its own hardware and is very fast. The free tier has per-minute and per-day limits that vary by model. Great when you want quick responses for a demo.
- Google AI Studio has a free tier for the Gemini API, mainly the Flash and Flash-Lite models. Be aware that on the free tier, Google may use your prompts to improve its products, so don't send anything sensitive.
- Cloudflare Workers AI gives you 10,000 "neurons" a day for free, on both the free and paid Workers plans. It's handy if you already use Cloudflare, and it includes chat, embedding and other models.
- Hugging Face is the home of open models. Even if you don't use their hosted inference, it's where you'll find and compare embedding models, small chat models and datasets.
One warning from experience: if you find a tutorial telling you to use GitHub Models for free inference, it's out of date. GitHub retired GitHub Models in July 2026. This is exactly why you should keep your code provider-agnostic.
Putting it together
Here's how I'd combine all of this into a small, completely free AI feature, for example a "help assistant" for your app:
- Develop locally with Ollama and Qwen3 4B, so you can test as much as you want.
- Index your help docs with a free embedding model and store them in pgvector or SQLite.
- Add Tavily as a tool so the assistant can look things up when your docs don't have the answer.
- Switch to an NVIDIA model for demos, when you want smarter answers than the local model can give.
- Keep everything behind
IChatClientandIEmbeddingGenerator, so moving to a paid provider later is a configuration change, not a rewrite.
That's a real RAG assistant with web search, and you haven't spent anything.
A few honest warnings
Free is great for learning, but be realistic:
- Free tiers change. Limits go down, models disappear, and whole services shut down. Build so you can swap providers easily.
- Free tiers are not for production. No uptime guarantees, low rate limits, and terms that often say "evaluation only". When real users depend on your app, pay for a proper plan.
- Mind your data. Never send customer data, passwords, health information or anything personal to a free API. Read each provider's data policy. When in doubt, use a local model.
- Protect your keys. Keep API keys in user secrets or environment variables, never in your code or your Git repo.
- Small models have limits. A 4B model on your laptop is amazing for its size, but it will make mistakes a large model wouldn't. Test with the model you'll actually use.
Final thoughts
There's never been a better time to learn how to build with AI. The tools are free, the .NET libraries are mature, and the skills, like prompt design, RAG, tool calling and evaluation, are exactly what companies are hiring for right now.
Don't wait until you can afford it. Pull a small model with Ollama tonight, get a free NVIDIA key and a free Tavily key, and build something small. You'll learn more from one weekend of building than from a month of reading about it.
What free AI tools are you using in your projects? If you know a genuinely free tool I didn't mention, share it in the comments. I'd love to try it.
Comments (0)
🔑 Log in to comment Sign in with your email to like, save and join the discussion.
No comments yet. Be the first!