Training Finder Agent¶
Training search and discovery agent with personalized recommendations.
Configuration¶
- File:
src/chatbot/agentic/agents/training_finder_agents.py - Model profile: tenant-configured
large - State: OverallState
Key Features¶
- Training search and discovery
- Natural language query support
- MongoDB Atlas Search integration
- Personalized recommendations based on user profile
- Weighted reciprocal-rank fusion (RRF) of vector and full-text results
- Skills-based matching
- Level and provider filtering
Tools¶
training_finder_tool- Search for trainings with advanced filters and collection presentation
Middleware¶
- Dynamic prompt generation with context
- Chat history limiting
- Already-suggested trainings tracking
Search Capabilities¶
- Topics and subjects
- Skills and competencies
- Training levels (Foundational, Intermediate, Advanced, Expert)
- Provider filtering (LinkedIn Learning, Cornerstone, etc.)
- Duration and format
- Natural language queries (e.g., "Find Python trainings for beginners")
Personalization Features¶
The agent can use the requested profile dimensions, conversation history and saved learning preferences to resolve the search intent. The retrieved catalog results keep their weighted RRF order. The presentation layer generates a collection title and subtitle. Individual explanations are requested separately through the on-demand rationale endpoint. The subtitle explains a concrete link between the request and documented course content. Optional simulations must add a distinct learning activity rather than repeat the course exercises, including for learning plans. See the collection explanation rules.
Core Processing¶
For a clear structured learning-plan request, the agent retrieves the relevant
profile sections and calls training_finder_tool with is_learning_plan=True,
even when the topic, level or available study time is missing. It does not ask
scoping questions before that call: the tool owns clarification and uses the
persisted generic human-in-the-loop flow in interactive HTTP chat. Ambiguous
course-search targets and simulation scoping use request_clarification_tool
before search or generation. Simulation scoping can offer a generic scenario
through per-question skip; skipping an unresolved course topic ends the lookup
without guessing what to search for. Questions are supplied as an ordered batch.
Simulation scoping asks only for indispensable missing context. One question about the situation or skill can suffice; there is no fixed three-question checklist. When both the situation and intended outcome need clarification, ask them in two separate entries in the same batch so each can be answered or skipped independently. Ask about the counterpart's role only when it materially affects the scenario and a generic professional counterpart would not suffice. Reuse any context already provided and proceed directly when it is sufficient.
Before invoking the search core, the tool checks learning-plan scope and whether
the request is interpretable. Compatible OpenAI mini uses categorical decisions
and generates clarification only when needed; other provider/model configurations
retain the combined structured calls. See the training tool workflow
for sufficiency rules and failure behavior. The specialist agent itself keeps
its configured large profile.
The agent uses the training_finder_process core function which:
- Resolves the natural-language request and filters.
- Executes vector and full-text searches against MongoDB or PostgreSQL.
- Merges both ranked lists with weighted RRF.
- Keeps the first five results in their exact RRF order for an ordinary search.
- Generates collection metadata without reordering the results.
See Training Core for detailed processing logic.
Example Queries¶
- "Find trainings about Python programming"
- "Show me leadership trainings for managers"
- "I want to learn machine learning, what trainings do you recommend?"
- "Find intermediate trainings on React from LinkedIn Learning"
- "Show me short practical trainings about data visualization"
Response Format¶
Returns structured training recommendations with:
- Training ID and title
- Description and provider
- Level and duration
- Skills covered
Items no longer expose a rationale field. The surrounding collection retains
its title, subtitle, optional plan phases and rationaleContext search queries.