Knowledge Base
How the bot learns from your properties and projects to respond intelligently to clients.
Knowledge Base
Trochai's bot does not have generic real estate knowledge. Instead, it learns directly from the properties and projects you upload to the platform. This page explains how that process works.
How the bot knows your properties
Every time you create or edit a property or a project, the system automatically generates a numerical representation (called an "embedding") that captures the semantic meaning of that property. This allows the bot to understand not just exact words, but the concept behind each property.
What information is included
For each property, the bot creates an internal document that includes:
- Type and category: Apartment, house, land, or commercial space for sale or rent
- Location: District, canton, and province
- Price: Amount and currency (dollars or colones)
- Features: Bedrooms, bathrooms, parking spots, built area, lot area
- Extras: Whether it's pet-friendly, whether it's furnished
- Amenities: Pool, gym, 24/7 security, green areas, and all other configured amenities
- Short description: The description you wrote for the property
- Project data: If the property belongs to a project, the project name, developer, and construction status are included
For development projects, the document additionally includes:
- Price range (from/to)
- Total units
- Maintenance fee
- Estimated delivery date
- Construction status: Pre-sale, under construction, ready for delivery, or delivered
The more complete your property and project information is, the better the bot's ability to find and recommend options to your clients.
Hybrid search: The best of both worlds
When a client searches for a property, the bot uses a hybrid search system that combines two complementary methods:
1. Structured filters (exact search)
The bot extracts specific criteria from the client's message and converts them into database filters:
| What the client says | Filter applied |
|---|---|
| "in Escazu" | Canton = Escazu |
| "under $200,000" | Maximum price = $200,000 |
| "3 bedrooms" | Bedrooms >= 3 |
| "for rent" | Type = Rent |
| "apartment" | Category = Apartment |
| "furnished" | Furnished = Yes |
| "pets allowed" | Pet-friendly = Yes |
| "in Torres del Valle" | Project name = Torres del Valle |
The bot automatically recognizes the location of the most common cantons and districts in Costa Rica (Escazu, Santa Ana, Curridabat, Moravia, Tamarindo, Jaco, etc.) and infers the corresponding province.
2. Semantic search (meaning-based search)
In addition to exact filters, the bot converts the client's message into a numerical vector and compares it against the vectors of all your properties. This allows finding matches even when the client doesn't use exact words.
Semantic search examples:
- "Something near the beach with ocean views" finds properties in Tamarindo, Jaco, or Manuel Antonio that mention "ocean view" in their description
- "A quiet place for a family" can find properties in residential condominiums with green areas and playgrounds
- "Looking for something with a pool" finds properties whose amenities include "pool" even if the client didn't use the exact word
How they work together
Hybrid search combines both methods to get the best results:
Filter extraction
The bot identifies explicit criteria from the message (location, price, bedrooms, etc.) using AI.
Query embedding generation
The client's message is converted into a numerical vector for semantic search.
Combined search
Both searches run in parallel: structured filters against the database and cosine similarity against property vectors. Results are ranked by relevance.
Project search
Simultaneously, the bot searches for relevant projects to enrich the response. If the client is looking for an apartment in Escazu, the bot can mention condo projects in that area.
Result presentation
The bot presents the 3 most relevant properties and 3 most relevant projects, with key details and links.
Automatic updates
The bot's knowledge base updates automatically:
- When creating a property: The embedding for the new property is generated
- When editing a property: The embedding is regenerated with updated information
- When creating a project: The project embedding is generated
- When editing a project: The project embedding is regenerated and the embeddings of all properties linked to that project are updated
You don't need to do anything special to update the bot's knowledge base. Simply keep your properties and projects up to date and the bot will always have the most recent information.
Bot personality
In addition to knowing your properties, the bot can use additional information you configure:
Organization context
In Settings > Bot, you can add general information about your agency that the bot will use to answer frequently asked questions. For example:
- Business hours
- Office location
- Purchase/rental processes
- Required documents
- Financing options
- Agency policies
This field has a limit of 2,000 characters.
Custom instructions (Pro and Enterprise plans)
If you have a Pro or Enterprise plan, you can add specific instructions about the tone and style of the bot's responses. For example:
- "Always address the client informally"
- "Mention that we offer free consultations"
- "Focus on luxury properties"
- "Suggest scheduling a visit when the client shows interest"
This field has a limit of 4,000 characters.
Automatic fallback
If for any reason the semantic search is not available (for example, if the embedding service has a temporary interruption), the bot automatically switches to SQL filter search without service interruption. Clients will continue receiving relevant results based on exact filters.
What to do if the bot doesn't find properties
If the bot frequently responds that it cannot find properties, check the following:
- Do you have active properties? Only properties with "active" status appear in bot searches
- Is the information complete? Properties with more data (location, price, bedrooms, amenities) are more likely to appear in searches
- Are the locations correct? Make sure the province, canton, and district are properly selected
- Is the price in the correct currency? If a client searches in dollars and your property is in colones (or vice versa), it won't match
Next steps
- Create Property -- Add properties to feed the knowledge base
- Projects -- Create development projects
- Bot configuration -- Configure the organization context and custom instructions