An enterprise-grade Python library for quickly setting up APIs to interact with AI Agents
Project description
Insight Ingenious
An enterprise-grade Python library for quickly setting up APIs to interact with AI Agents, featuring tight integrations with Microsoft Azure services and comprehensive utilities for debugging and customization.
Quick Start
Get up and running in 5 minutes with Azure OpenAI!
Prerequisites
- ✅ Python 3.13+
- ✅ Azure OpenAI API credentials
- ✅ uv package manager
5-Minute Setup
-
Install and Initialize:
# From your project directory uv add ingenious uv run ingen init
-
Configure Credentials:
# Edit .env with your Azure OpenAI credentials cp .env.example .env nano .env # Add AZURE_OPENAI_API_KEY and AZURE_OPENAI_BASE_URL
-
Validate Setup (Recommended):
export INGENIOUS_PROJECT_PATH=$(pwd)/config.yml export INGENIOUS_PROFILE_PATH=$(pwd)/profiles.yml uv run ingen validate # Check configuration before starting
-
Start the Server:
uv run ingen serve
-
Verify Health:
# Check server health curl http://localhost:80/api/v1/health
-
Test the API:
# Test bike insights workflow (the "Hello World" of Ingenious) curl -X POST http://localhost:80/api/v1/chat \ -H "Content-Type: application/json" \ -d '{ "user_prompt": "{\"stores\": [{\"name\": \"QuickStart Store\", \"location\": \"NSW\", \"bike_sales\": [{\"product_code\": \"QS-001\", \"quantity_sold\": 1, \"sale_date\": \"2023-04-15\", \"year\": 2023, \"month\": \"April\", \"customer_review\": {\"rating\": 5.0, \"comment\": \"Perfect bike for getting started!\"}}], \"bike_stock\": []}], \"revision_id\": \"quickstart-1\", \"identifier\": \"hello-world\"}", "conversation_flow": "bike-insights" }'
🎉 That's it! You should see a comprehensive JSON response with insights from multiple AI agents analyzing the bike sales data.
Note: The bike-insights workflow is created when you run ingen init - it's part of the project template setup, not included in the core library. You can now build on bike-insights as a template for your specific use case.
Workflow Categories
Insight Ingenious provides multiple conversation workflows with different configuration requirements:
"Hello World" Workflow (Available via project template)
bike-insights- The recommended starting point - Comprehensive bike sales analysis showcasing multi-agent coordination (created when you runingen init)
Core Workflows (Azure OpenAI only)
classification-agent- Route input to specialized agents based on content
EXPERIMENTAL/MAY CONTAIN BUGS: Other Core Workflows (Require Additional Services)
knowledge-base-agent- Search knowledge bases (requires Azure Search Service)sql-manipulation-agent- Execute SQL queries (requires database connection)
Project Structure
-
ingenious/: Core framework codeapi/: API endpoints and routeschainlit/: Web UI componentsconfig/: Configuration managementcore/: Core logging and utilitiesdataprep/: Data preparation utilitiesdb/: Database integrationdocument_processing/: Document analysis and processingerrors/: Error handling and custom exceptionsexternal_services/: External service integrationsfiles/: File storage utilitiesmodels/: Data models and schemasservices/: Core services including chat and agent servicestemplates/: Prompt templates and HTML templatesutils/: Utility functionsingenious_extensions_template/: Template for custom extensionsapi/: Custom API routesmodels/: Custom data modelssample_data/: Sample data for testingservices/: Custom agent servicestemplates/: Custom prompt templatestests/: Test harness for agent prompts
-
ingenious_prompt_tuner/: Tool for tuning and testing prompts
Documentation
For detailed documentation, see the docs:
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
License
This project is licensed under the terms specified in the LICENSE file.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ingenious-0.1.1.tar.gz.
File metadata
- Download URL: ingenious-0.1.1.tar.gz
- Upload date:
- Size: 267.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bea867443d65be4edcbe41044ffb63eb316e9808ba051862f399995a5966ac8b
|
|
| MD5 |
145b04df3d42efeaf2a5c498441d923d
|
|
| BLAKE2b-256 |
e3bb1ab2c340d1dc394251ab58202feea9a4113fd4340bdd93e53c13c6c957fa
|
Provenance
The following attestation bundles were made for ingenious-0.1.1.tar.gz:
Publisher:
publish.yml on Insight-Services-APAC/ingenious
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ingenious-0.1.1.tar.gz -
Subject digest:
bea867443d65be4edcbe41044ffb63eb316e9808ba051862f399995a5966ac8b - Sigstore transparency entry: 265025743
- Sigstore integration time:
-
Permalink:
Insight-Services-APAC/ingenious@c3ebb05ff0778bd032519b5773cbf5cf5df11c3a -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Insight-Services-APAC
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c3ebb05ff0778bd032519b5773cbf5cf5df11c3a -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file ingenious-0.1.1-py3-none-any.whl.
File metadata
- Download URL: ingenious-0.1.1-py3-none-any.whl
- Upload date:
- Size: 337.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
677f2a3ed35eda30df66a69e3065e4d93ab43975860415707b23cd92c0a1457d
|
|
| MD5 |
9823d9f0896718cfcf1c3e74b5000c73
|
|
| BLAKE2b-256 |
a69dc295ddab8cfcce580d169ea922d1c520a1d7ebc06075c7ff36a76f887aec
|
Provenance
The following attestation bundles were made for ingenious-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on Insight-Services-APAC/ingenious
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ingenious-0.1.1-py3-none-any.whl -
Subject digest:
677f2a3ed35eda30df66a69e3065e4d93ab43975860415707b23cd92c0a1457d - Sigstore transparency entry: 265025752
- Sigstore integration time:
-
Permalink:
Insight-Services-APAC/ingenious@c3ebb05ff0778bd032519b5773cbf5cf5df11c3a -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Insight-Services-APAC
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c3ebb05ff0778bd032519b5773cbf5cf5df11c3a -
Trigger Event:
workflow_dispatch
-
Statement type: