# The AI tools landscape: apis, no-code, and vector databases
You want to build a bot that answers customer questions using your company's 200-page policy manual. You could spend three weeks coding it. Or you could wire it together in an afternoon using tools that already exist. The trick is knowing which tool does what.
This lesson maps the landscape, from drag-and-drop builders to APIs to vector databases, using one project the whole way through. By the end you'll know which tool to reachreachThe number of unique people exposed to your message in a given period. Unlike impressions, reach counts each person once, no matter how often they see it.Voir la définition complète → for at each step.
Think of building with AI as three layers, stacked from easiest to most flexible.
No-code tools let you connect apps and AI by clicking, not coding. Examples: Zapier, Make, n8n.
APIs let your software talk directly to an AI model. "" () is just a way for two programs to send messages to each other. You send text, you get text back.
Vector databases store information so AI can search it by *meaning*, not just keywords. Examples: Pinecone, Weaviate, Chroma.
You don't always need all three. A simple automation might use only no-code. A smart document-search app uses all three together.
Here's what we're building: a Slack bot. An employee types "How many vacation days do I get after 3 years?" and the bot answers using the company HR manual.
Let's walk the layers.
No-code tools are visual pipelines. You pick a trigger (something that starts the flow) and actions (steps that follow).
For our bot, a Zapier flow might look like:
1. Trigger: New message in a Slack channel.
2. Action: Send that message to an AI model (OpenAI, Claude, etc.).
3. Action: Post the AI's reply back to Slack.
You build this by clicking through menus. No code. This is the fastest way to get *something* live, and for many tasks it's all you need: drafting emails, summarizing form submissions, tagging support tickets.
The limit: no-code tools are great at moving data between apps. They're weaker when you need custom logic or to search a big pile of your own documents intelligently. For our HR manual, the AI needs to *read the right pages first*. That's where the next two layers come in.
An APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Voir la définition complète → call is you sending a request to a model and getting a response. In 2026 the big three are OpenAI (ChatGPT models), Anthropic (Claude), and Google (Gemini). They all work similarly: you send messages, you get a reply, you pay per use.
Here's the simplest possible call to Claude in Python:
import anthropic
client = anthropic.Anthropic(api_key="your-key-here")
response = client.messages.create(
model="claude-sonnet-4-5",
max_tokens=300,
messages=[
{"role": "user", "content": "How many vacation days after 3 years?"}
]
)
print(response.content[0].text)Run this and you get an answer. But there's a problem: the model has no idea what *your* company policy is. It will guess, or make something up. That confident wrong answer is called a hallucinationhallucinationA hallucination is when an AI model generates output that is fluent and confident but factually wrong, fabricated, or unsupported by its source data.Voir la définition complète →.
We need to feed it the relevant policy text *inside* the request. We could paste the whole 200-page manual into every call, but that's slow, expensive, and often too big to fit. We only want the few paragraphs that actually answer the question.
How do we find those few paragraphs out of 200 pages? Layer 3.
A vector databasevector databaseA vector database stores data as high-dimensional numeric vectors (embeddings) and retrieves items by similarity rather than exact matches, powering semantic search and AI applications.Voir la définition complète → finds text by *meaning* instead of exact words. If someone asks about "time off," it can find a paragraph that says "paid leave," even though no words match.
Here's how it works in plain terms.
An embeddingembeddingAn embedding is a numerical vector that represents data (text, images, or items) in a way that captures meaning, so similar items sit close together in space.Voir la définition complète → is a list of numbers that represents the meaning of a piece of text. Similar meanings get similar numbers. "Dog" and "puppy" land close together; "dog" and "tax form" land far apart.
You run each chunk of your manual through an embeddingembeddingAn embedding is a numerical vector that represents data (text, images, or items) in a way that captures meaning, so similar items sit close together in space.Voir la définition complète → model to get these number-lists, then store them in the vector databasevector databaseA vector database stores data as high-dimensional numeric vectors (embeddings) and retrieves items by similarity rather than exact matches, powering semantic search and AI applications.Voir la définition complète →.
from openai import OpenAI
client = OpenAI()
result = client.embeddings.create(
model="text-embedding-3-small",
input="Employees earn 20 vacation days after 3 years of service."
)
# A long list of numbers representing the meaning of that sentence
print(result.data[0].embedding[:5])
# [0.012, -0.045, 0.083, ...]When a question comes in, you embed *the question* too, then ask the database: "Which stored chunks are closest in meaning to this?" It returns the best-matching paragraphs. You paste *those* into your APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Voir la définition complète → call.
This pattern has a name: RAG (Retrieval-Augmented Generation). You *retrieve* the right facts, then let the model *generate* an answer using them. It's the single most common way companies build AI on their own dataown dataData collected directly from your own customers and prospects through your own channels: your most reliable and privacy-compliant source.Voir la définition complète →.
Putting the retrieval and the answer together:
# 1. Embed the user's question and search the vector DB
question = "How many vacation days after 3 years?"
relevant_chunks = vector_db.search(question, top_k=3)
context = "\n".join(relevant_chunks)
# 2. Send question + retrieved policy text to the model
response = client.messages.create(
model="claude-sonnet-4-5",
max_tokens=300,
messages=[{
"role": "user",
"content": f"Use only this policy text:\n{context}\n\nQuestion: {question}"
}]
)
print(response.content[0].text)Now the bot answers from *your* manual, not from guesses. The phrase "Use only this policy text" is your guardrail against hallucinationhallucinationA hallucination is when an AI model generates output that is fluent and confident but factually wrong, fabricated, or unsupported by its source data.Voir la définition complète →.
Vérification des acquis
1. According to the lesson, what is the primary distinction of a vector database compared to a traditional keyword search?
2. In the lesson's Zapier flow for the policy bot, what serves as the 'trigger' that starts the automation?
3. The lesson defines an API as a way for two programs to send messages to each other. In the context of the policy bot, what role does the API play?
4. Select ALL correct answers. According to the lesson, which statements about the three layers (no-code, APIs, vector databases) are accurate?
Sélectionnez toutes les réponses correctes.
5. Select ALL correct answers. Which of the following are examples explicitly named in the lesson?
Sélectionnez toutes les réponses correctes.
Here's the decision in plain terms.
Use no-code (Zapier/Make) when: you're connecting apps and the AI task is simple. "When a form is submitted, summarize it and email me." No custom data search needed.
Add an API when: you need control, custom logic, or you're building inside your own app. You write a little code, but you get exactly the behavior you want.
Add a vector database when: the AI needs to answer from a large, specific body of *your* content (manuals, past tickets, product docs, a book). Anything where keyword search isn't smart enough.
For our HR bot, the honest answer in 2026: you can do a *lot* with less than you think.
Many no-code platforms now have RAG built in. In Zapier or Make you can upload documents to an AI "knowledge" feature, and the platform handles embeddings and vector storage behind the scenes. You never touch Pinecone directly.
So a realistic 2026 build of our bot:
No custom code at all. You only drop down to APIs and a standalone vector databasevector databaseA vector database stores data as high-dimensional numeric vectors (embeddings) and retrieves items by similarity rather than exact matches, powering semantic search and AI applications.Voir la définition complète → when you outgrow the no-code limits: huge document volumes, special retrieval logic, or tight cost control at scale.
| Layer | Plain-language job | ReachReachThe number of unique people exposed to your message in a given period. Unlike impressions, reach counts each person once, no matter how often they see it.Voir la définition complète → for it when |
|-------|-------------------|-------------------|
| No-code | Connect apps, click to build | Simple flows, fast launch |
| APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Voir la définition complète → | Direct line to the model | Custom logic, your own app |
| Vector DBVector DBA vector database stores data as high-dimensional numeric vectors (embeddings) and retrieves items by similarity rather than exact matches, powering semantic search and AI applications.Voir la définition complète → | Search your docs by meaning | Answer from large private content |
Two practical warnings.
Cost scales with use. No-code tools charge per task or per month. APIs charge per word processed (measured in tokenstokensA token is the basic unit of text that language models process, often a word fragment, whole word, or punctuation mark rather than a single character.Voir la définition complète →, roughly chunks of words). A bot answering 10,000 questions a day costs real money. Estimate before you scale.
Avoid hard lock-in early. Tools like LangChain and LlamaIndex let you swap between Claude, GPT, and Gemini, or between Pinecone and Chroma, without rewriting everything. Start simple, but keep your options open.