Extensions and Customization

This section covers how to extend Insight Ingenious - an enterprise-grade Python library for AI agent APIs - with custom components, advanced configurations, and Azure service integrations. The library’s extensive customization capabilities enable tailored solutions for specific enterprise requirements.

Available Extension Guides

Core Extensions

Getting Started with Extensions

Before creating custom extensions, ensure you have:

  1. A working Insight Ingenious installation - See Getting Started
  2. Understanding of core workflows - See Workflows
  3. Development environment setup - See Development Guide

Extension Architecture

Insight Ingenious uses a modular architecture that allows for easy extension:

ingenious/
├── services/
│   └── chat_services/
│       └── multi_agent/
│           ├── agents/           # Custom agents
│           ├── conversation_patterns/  # Conversation patterns
│           └── conversation_flows/     # Flow implementations
├── templates/
│   └── prompts/                 # Custom prompt templates
└── ingenious_extensions_template/  # Extension template

Extension Development Workflow

  1. Plan your extension - Define the specific functionality you want to add
  2. Choose the right extension type - Agent, pattern, flow, or template
  3. Follow the appropriate guide - Use the guides in this section
  4. Test your extension - Ensure it works with existing workflows
  5. Document your extension - Create clear documentation for others

Best Practices

  • Follow naming conventions - Use descriptive, lowercase names with underscores
  • Test thoroughly - Test your extensions with different inputs and scenarios
  • Document well - Include clear instructions and examples
  • Keep it modular - Design extensions to be reusable and maintainable
  • Version control - Track changes to your custom extensions

Need Help?

Contributing Extensions

If you’ve created a useful extension, consider contributing it back to the project:

  1. Fork the repository
  2. Create a feature branch
  3. Add your extension with proper documentation
  4. Submit a pull request

See CONTRIBUTING.md for detailed contribution guidelines.