Intentum.AI.AzureOpenAI
0.0.11
See the version list below for details.
dotnet add package Intentum.AI.AzureOpenAI --version 0.0.11
NuGet\Install-Package Intentum.AI.AzureOpenAI -Version 0.0.11
<PackageReference Include="Intentum.AI.AzureOpenAI" Version="0.0.11" />
<PackageVersion Include="Intentum.AI.AzureOpenAI" Version="0.0.11" />
<PackageReference Include="Intentum.AI.AzureOpenAI" />
paket add Intentum.AI.AzureOpenAI --version 0.0.11
#r "nuget: Intentum.AI.AzureOpenAI, 0.0.11"
#:package Intentum.AI.AzureOpenAI@0.0.11
#addin nuget:?package=Intentum.AI.AzureOpenAI&version=0.0.11
#tool nuget:?package=Intentum.AI.AzureOpenAI&version=0.0.11
Intentum - Intent-Driven Development for the AI Era
Intentum replaces scenario-based BDD with behavior space inference. It focuses on what the user was trying to do, not just what they did.
English | Türkçe
License: MIT · Contributing — CONTRIBUTING.md · CODE_OF_CONDUCT.md · SECURITY.md
Why Intentum?
- Non-deterministic flows are now common.
- AI-driven systems adapt and drift.
- Assertions are too rigid; intent is more realistic.
When not to use
- Fully deterministic, low-variance systems with stable requirements.
- Small scripts or one-off utilities where behavior drift is irrelevant.
BDD vs Intentum
- BDD: Scenario-driven, deterministic, pass/fail
- Intentum: Behavior-driven, probabilistic, policy decisions
Documentation
- GitHub Pages (EN/TR): https://keremvaris.github.io/Intentum/
- Architecture (EN/TR): docs/en/architecture.md — core flow, package layout, inference pipeline, persistence/analytics/rate-limiting/multi-tenancy (Mermaid diagrams).
- English docs: docs/en/index.md
- Turkish docs: docs/tr/index.md
- Enable in GitHub: Settings → Pages → Source: GitHub Actions
- API reference (auto): https://keremvaris.github.io/Intentum/api/
- CodeGen (EN/TR): docs/en/codegen.md — scaffold CQRS + Intentum, generate Features from test assembly or YAML; dotnet new template; full usage.
- Sample.Web: CQRS + Intentum API with Scalar docs and a web UI at
/. Run:dotnet run --project samples/Intentum.Sample.Web(UI: http://localhost:5150/, API docs: http://localhost:5150/scalar). Endpoints:/api/carbon/calculate,/api/orders,POST /api/intent/infer(intent + rate limit + history),GET /api/intent/analytics/summary,GET /api/intent/analytics/export/json,GET /api/intent/analytics/export/csv,/health.
CI & SonarCloud (free for public repos)
- CI runs on push/PR to
master: build, test, coverage artifact, SonarCloud analysis. - To enable SonarCloud: sign up at sonarcloud.io, add this repo, then in GitHub → Settings → Secrets and variables → Actions add Secret
SONAR_TOKEN(from SonarCloud → My Account → Security). Project key and org are set in the workflow (keremvaris_Intentum/keremvaris). - If CI analysis fails with "Automatic Analysis is enabled": in SonarCloud go to your project → Administration → Analysis Method → turn off "Automatic Analysis" so only CI runs the analysis.
Core Concepts Behavior Space Observe behavior instead of writing scenarios.
Intent Inference Infer intent from the behavior space and compute confidence.
Policy Decisions Replace pass/fail with policy-driven decisions.
Quick Example
using Intentum.AI.Mock;
using Intentum.AI.Models;
using Intentum.AI.Similarity;
using Intentum.Core;
using Intentum.Core.Behavior;
using Intentum.Runtime.Policy;
var space = new BehaviorSpace()
.Observe("user", "login")
.Observe("user", "retry")
.Observe("user", "submit");
var intentModel = new LlmIntentModel(
new MockEmbeddingProvider(),
new SimpleAverageSimilarityEngine());
var intent = intentModel.Infer(space);
var policy = new IntentPolicy()
.AddRule(new PolicyRule(
"HighConfidenceAllow",
i => i.Confidence.Level is "High" or "Certain",
PolicyDecision.Allow));
var decision = intent.Decide(policy);
Run the sample
dotnet run --project samples/Intentum.Sample
Showcase output (trimmed)
=== INTENTUM SCENARIO: PaymentHappyPath ===
Events : 2
Intent Confidence : High
Decision : Allow
Behavior Vector:
- user:login = 1
- user:submit = 1
=== INTENTUM SCENARIO: PaymentWithRetries ===
Events : 4
Intent Confidence : Medium
Decision : Observe
Behavior Vector:
- user:login = 1
- user:retry = 2
- user:submit = 1
=== INTENTUM SCENARIO: SuspiciousRetries ===
Events : 4
Intent Confidence : Medium
Decision : Block
Behavior Vector:
- user:login = 1
- user:retry = 3
Packages
- Intentum.Core
- Intentum.Runtime
- Intentum.AI
- Intentum.AI.OpenAI
- Intentum.AI.Gemini
- Intentum.AI.Claude
- Intentum.AI.Mistral
- Intentum.AI.AzureOpenAI
- Intentum.Testing (test utilities)
- Intentum.AspNetCore (middleware, health checks)
- Intentum.Observability (OpenTelemetry metrics)
- Intentum.Logging (Serilog integration)
- Intentum.Persistence (persistence interfaces)
- Intentum.Persistence.EntityFramework (EF Core implementation)
- Intentum.Analytics (intent analytics, trends, decision distribution, anomaly detection, JSON/CSV export)
Configuration (env vars)
- OPENAI_API_KEY, OPENAI_EMBEDDING_MODEL, OPENAI_BASE_URL
- GEMINI_API_KEY, GEMINI_EMBEDDING_MODEL, GEMINI_BASE_URL
- MISTRAL_API_KEY, MISTRAL_EMBEDDING_MODEL, MISTRAL_BASE_URL
- AZURE_OPENAI_ENDPOINT, AZURE_OPENAI_API_KEY, AZURE_OPENAI_EMBEDDING_DEPLOYMENT, AZURE_OPENAI_API_VERSION
Security
- Never commit API keys. Use environment variables or secret managers.
- Avoid logging raw requests/responses from providers in production.
Note AI adapters are deterministic stubs in v1.0. Real HTTP calls are planned for v1.1.
Releasing and versioning
- Versioning is automatic from git tags via MinVer (
src/Directory.Build.props). No manual version bump in code: tagv1.0.1and build → package version is1.0.1. Tag prefix isv; minimum major.minor is1.0. - Release script:
chmod +x release.shthen./release.sh— version is auto-bumped from the latest tag using conventional commits: BREAKING /feat!:→ major, feat: → minor, fix/docs/chore → patch. Or run./release.sh 1.0.1to set the version manually. - Pushing a tag like
v1.0.1triggers GitHub Release and NuGet publish (see.github/workflows/). - Release notes are generated from conventional commits via git-cliff (
cliff.toml). Use prefixes:feat:,fix:,docs:,chore:,ci:, etc. If none are found,CHANGELOG.mdis used as fallback. Breaking change: writefeat!: ...or addBREAKING CHANGE:in the commit body so the changelog shows a dedicated "Breaking changes" section and the next release bumps the major version. - On every push to
master, the changelog workflow updatesCHANGELOG.mdfrom conventional commits and commits it (with[skip ci]).
License MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Intentum.AI (>= 0.0.11)
- Intentum.Core (>= 0.0.11)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.2)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Intentum.AI.AzureOpenAI:
| Package | Downloads |
|---|---|
|
Intentum.Providers
Meta-package that references Intentum Core, Runtime, AI, and all AI providers (OpenAI, Gemini, Mistral, Azure OpenAI, Claude). Add this package to get the full set of provider adapters. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.1.6 | 97 | 2/2/2026 |
| 1.1.5 | 91 | 2/2/2026 |
| 1.1.4 | 94 | 2/1/2026 |
| 1.1.3 | 93 | 2/1/2026 |
| 1.1.2 | 95 | 2/1/2026 |
| 1.1.1 | 92 | 2/1/2026 |
| 1.1.0 | 96 | 2/1/2026 |
| 1.0.13 | 94 | 1/31/2026 |
| 1.0.12 | 91 | 1/31/2026 |
| 1.0.10 | 89 | 1/31/2026 |
| 1.0.9 | 94 | 1/31/2026 |
| 1.0.8 | 99 | 1/31/2026 |
| 1.0.5 | 97 | 1/31/2026 |
| 1.0.4 | 94 | 1/30/2026 |
| 1.0.3 | 89 | 1/30/2026 |
| 1.0.2 | 83 | 1/30/2026 |
| 1.0.1 | 83 | 1/30/2026 |
| 1.0.0 | 86 | 1/30/2026 |
| 0.0.12 | 87 | 1/29/2026 |
| 0.0.11 | 81 | 1/29/2026 |