Pub/Sub Multi-Agent System - Example Configurations
Note: This deployment includes phi4-mini (general purpose), MedAIBase/MedGemma1.5:4b (medical/healthcare), and deepseek-coder:1.3b (coding) models.
Important: Use {question} in prompts to access the user's question, {schema} for database schema, and {input} for messages from subscribed topics (all case insensitive).
Example 1: Natural Language to SQL Pipeline (using phi4-mini)
Agent 1: Question Analyzer
- Title: Question Analyzer
- Prompt:
Given this database schema:
{schema}
User question: {question}
Analyze the question and identify:
1. What tables are needed
2. What columns are needed
3. What the user wants to retrieve
Respond with a clear analysis.
- Model: phi4-mini
- Subscribe Topic: START
- Publish Topic: QUESTION_ANALYZED
Agent 2: SQL Generator
- Title: SQL Generator
- Prompt:
Based on this analysis:
{input}
Database schema:
{schema}
Original question: {question}
Generate a SQL query that answers the user's question.
Return ONLY the SQL query, no explanation.
- Model: phi4-mini
- Subscribe Topic: QUESTION_ANALYZED
- Publish Topic: SQL_GENERATED
Agent 3: SQL Validator
- Title: SQL Validator
- Prompt:
Check if this SQL query is valid and correct:
{input}
Schema:
{schema}
If valid, return "VALID: " followed by the query.
If invalid, return "INVALID: " followed by the corrected query.
- Model: phi4-mini
- Subscribe Topic: SQL_GENERATED
- Publish Topic: FINAL
Example 2: Medical Symptom Analysis (Using MedGemma)
User Question: "Patient has fever, cough, and shortness of breath for 3 days"
Agent 1: Symptom Extractor
- Title: Symptom Extractor
- Prompt:
Patient report: {question}
Extract all symptoms mentioned in the patient report.
List them clearly and concisely.
- Model: MedAIBase/MedGemma1.5:4b
- Subscribe Topic: START
- Publish Topic: SYMPTOMS_EXTRACTED
Agent 2: Preliminary Assessment
- Title: Preliminary Assessment
- Prompt:
Based on these symptoms:
{input}
Provide a preliminary medical assessment including:
1. Possible conditions
2. Severity level
3. Recommended next steps
Note: This is for educational purposes only, not medical advice.
- Model: MedAIBase/MedGemma1.5:4b
- Subscribe Topic: SYMPTOMS_EXTRACTED
- Publish Topic: FINAL
- Subscribe Topic: SYMPTOMS_EXTRACTED
- Publish Topic: ASSESSMENT_COMPLETE
Example 3: Code Review and Debugging (Using DeepSeek Coder)
User Question: "Review this Python function for bugs"
Data Source:
- Label:
Code - Content:
def calculate_average(numbers):
total = 0
for num in numbers:
total += num
return total / len(numbers)
Agent 1: Bug Detector
- Title: Bug Detector
- Prompt:
Review this code for bugs:
{Code}
Identify any bugs, edge cases, or potential issues.
- Model: deepseek-coder:1.3b
- Subscribe Topic: START
- Publish Topic: BUGS_FOUND
Agent 2: Code Fixer
- Title: Code Fixer
- Prompt:
Based on these identified issues:
{input}
Original code:
{Code}
Provide the corrected code with fixes for all issues.
- Model: deepseek-coder:1.3b
- Subscribe Topic: BUGS_FOUND
- Publish Topic: FINAL
Example 4: Research Paper Analysis
Agent 1: Abstract Analyzer
- Title: Abstract Analyzer
- Prompt:
Paper abstract: {input}
Analyze the abstract and extract:
1. Main research question
2. Methodology
3. Key findings
- Model: phi4-mini
- Subscribe Topic: START
- Publish Topic: ABSTRACT_ANALYZED
Agent 2: Methodology Reviewer
- Title: Methodology Reviewer
- Prompt:
Based on this analysis:
{input}
Evaluate the research methodology:
1. Is it appropriate for the research question?
2. What are the strengths?
3. What are potential limitations?
- Model: phi4-mini
- Subscribe Topic: ABSTRACT_ANALYZED
- Publish Topic: METHODOLOGY_REVIEWED
Agent 3: Summary Generator
- Title: Summary Generator
- Prompt:
Based on this methodology review:
{input}
Generate a comprehensive summary of the paper suitable for a literature review.
- Model: phi4-mini
- Subscribe Topic: METHODOLOGY_REVIEWED
- Publish Topic: SUMMARY_COMPLETE
Example 5: Content Moderation Pipeline (using phi4-mini)
Agent 1: Content Classifier
- Title: Content Classifier
- Prompt:
Content: {input}
Classify this content into one of these categories:
- SAFE
- NEEDS_REVIEW
- INAPPROPRIATE
Provide classification and brief reasoning.
- Model: phi4-mini
- Subscribe Topic: START
- Publish Topic: CLASSIFIED
Agent 2: Detailed Review (only for NEEDS_REVIEW)
- Title: Detailed Reviewer
- Prompt:
Classification result: {input}
If the content was marked as NEEDS_REVIEW, provide:
1. Specific concerns
2. Severity level (low/medium/high)
3. Recommended action
If not NEEDS_REVIEW, just respond "NO REVIEW NEEDED"
- Model: phi4-mini
- Subscribe Topic: CLASSIFIED
- Publish Topic: REVIEW_COMPLETE
Example 5: Medical Symptom Analysis (phi4-mini can handle basic medical tasks)
Agent 1: Symptom Categorizer
- Title: Symptom Categorizer
- Prompt:
Patient symptoms: {input}
Categorize these symptoms by body system:
- Cardiovascular
- Respiratory
- Neurological
- Gastrointestinal
- Other
List each symptom under its appropriate category.
- Model: phi4-mini
- Subscribe Topic: START
- Publish Topic: SYMPTOMS_CATEGORIZED
Agent 2: Diagnostic Reasoning
- Title: Diagnostic Reasoning
- Prompt:
Categorized symptoms:
{input}
Based on these symptoms, provide:
1. Most likely differential diagnoses (top 3)
2. Supporting evidence for each
3. Recommended diagnostic tests
Note: This is for educational purposes only.
- Model: phi4-mini
- Subscribe Topic: SYMPTOMS_CATEGORIZED
- Publish Topic: DIAGNOSIS_COMPLETE
Tips for Creating Effective Agents
Clear Subscribe/Publish Topics: Use descriptive names like "SQL_GENERATED" not just "STEP2"
Prompt Placeholders:
- Use
{question}for the user's input question - Use
{input}for the message from the subscribed topic - Use
{schema}to access the database schema - All three can be used together in any prompt
- Use
Model Selection:
- phi4-mini: Versatile general-purpose model - text analysis, SQL, reasoning, classification
- cniongolo/biomistral: Medical and scientific tasks - diagnosis, clinical reasoning, biomedical analysis
Final Results:
- Publish to topic "FINAL" to display results in the Final Result box
- Only the last agent in your chain should publish to FINAL
Chain Design:
- Start simple with 2-3 agents
- Each agent should have ONE clear purpose
- Test each agent individually first
Error Handling:
- If an agent has no subscribers for its publish topic, the chain stops
- Make sure START has at least one subscriber
- Check that all topics form a connected chain
Debugging:
- Watch the execution log carefully
- Check which topics have subscribers
- Verify message flow through the bus