santanche's picture
refactor (model): replacing phi3 by phi4-mini
f369a7d

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

  1. Clear Subscribe/Publish Topics: Use descriptive names like "SQL_GENERATED" not just "STEP2"

  2. 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
  3. Model Selection:

    • phi4-mini: Versatile general-purpose model - text analysis, SQL, reasoning, classification
    • cniongolo/biomistral: Medical and scientific tasks - diagnosis, clinical reasoning, biomedical analysis
  4. 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
  5. Chain Design:

    • Start simple with 2-3 agents
    • Each agent should have ONE clear purpose
    • Test each agent individually first
  6. 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
  7. Debugging:

    • Watch the execution log carefully
    • Check which topics have subscribers
    • Verify message flow through the bus