Sample repo demonstrating rapid prototyping by adding a bunch of things to the aspire starter app
This demo app adds the following features to the Aspire starter app:
- Service Bus with queue for prompt evaluation requests
- Azure AI Foundry integration using Foundry Local for local LLM hosting
- Ollama integration for local LLM hosting
- PostgreSQL database integration for quick storage of prompt responses
- Visual Studio 2022 or later
- Docker Desktop
- Foundry Local (not available as docker container, must install cli tool, see https://learn.microsoft.com/en-us/azure/ai-foundry/foundry-local/get-started)
- Aspire CLI (optional, for apphost deployment experimentation, see https://learn.microsoft.com/en-us/dotnet/aspire/cli/install)
- Clone this repository
- Ensure docker is running
- Open WeatherApp.slnx in Visual Studio
- Wait for aspire dashboard to go green (first-time run will take a while, afterwards should be faster when docker images and containers persist)
- Click on link in webfronted resource to open the UI. Go to the weather page. Click the button.
- Click on logs / traces / metrics in aspire dashboard to see the telemetry building up for the things you've done.
- Click link in pgadmin resource. Navigate to Servers -> demopostgres -> databases -> demodatabase -> schemas -> tables -> prompt_audit. Right-click -> view/edit data -> show all rows.
- Click link in ollama-openwebui resource to open Ollama's playground UI to ask Ollama's model questions directly.
- Add WithRedisInsight() or WithRedisCommander() to the redis resource in AppHost to see the redis admin container spin up.
- Click on Copilot icon in aspire dashboard and ask it questions about resources, or traces.
- Run "aspire publish" or "aspire deploy" on the command-line to see bicep generation, or really create the resources in azure as container apps.
- Run the test project to see how easy it is to leverage the apphost as an SUT.
- Initial commit: Aspire starter app
- Added aspire hosting packages to AppHost project and orchestration code for resources we will need
- Add fix for certificate chain issue with ollama (ForcePoint problems)
- Add function app with "enlist" ticked, add WithReference()s to AppHost orchestration
- In function app, add packages and code to send prompts to LLMs via Foundry Local and Ollama
- In api app, add new endpoint to send service bus message
- In frontend app, add button and call to new api endpoint to evaluate the current forecasts
- Add PostgreSQL integration to store prompt responses
- Change prompt test while apphost is still running to show hot reload]
- Add AppContainers publishing to apphost to demo aspire cli
- Add message command extension to service bus resource to show apphost interactivity
- Add redis insight and commander options to redis resource, update readme