(English below)
Este repositorio es un "expermiento" con el que busco:
- Aprender como funciona el servicio de Azure Open AI, como gestionarlo y como integrarlo en un codigo .NET
- Disponer de un "sandbox" donde probar las nuevas versiones y funcionalidades de Azure Open AI y de .NET
- Crear un proyecto de codigo abierto que pueda ser util para otros desarrolladores que quieran integrar Azure Open AI en sus aplicaciones .NET
- Que sea algo fuera de lo tradicional y que sea divertido, por eso elegi un juego :)
Principalmente porque es un proyecto de prueba y porque es más sencillo de implementar y de probar. Ademas, tiene ese aire "vintage" que me hace recordar a los antiguos juegos de aventuras basados en texto.
Dicho esto, mi objetivo es expandir el multiverso de la "Aventura IA" a otros tipos de aplicaciones, como aplicaciones web, aplicaciones móviles, etc. Todo por supuesto desarrollado en .NET.
- .NET 9.0 instalado
- Una suscripción a Azure con acceso a Azure Open AI (ver debajo)
- Deployments en esta suscripcion de un modelo generativo de texto como GPT y un modelo generativo de imagen como DALL-E
- Si no tienes una suscripción a Azure, puedes obtener una gratis en https://azure.microsoft.com/es-es/free/
- Una vez tengas tu suscripción, puedes activar el servicio de Azure Open AI siguiendo las instrucciones en https://learn.microsoft.com/en-us/legal/cognitive-services/openai/limited-access
Se deben configurar las siguientes variables de entorno: "AzureOpenAiEndpoint": La URL de tu recurso de Azure Open AI "AzureOpenAiApiKey": La clave de acceso a tu recurso de Azure Open AI "AzureOpenAiDeploymentId": El nombre del slot de deployment de tu modelo generativo de texto "DalleEndpoint": La URL de tu recurso de Azure Open AI donde se implementó Dall-e (puede ser el mismo) "DalleApiKey": La clave de acceso a tu recurso de Azure Open AI donde se implementó Dall-e (puede ser el mismo) "DalleDeploymentId": Nombre del deployment de Dall-e a utilizar
- Este proyecto es un experimento por lo tanto el código puede que no sea el más eficiente o el más elegante. Si tienes sugerencias de mejora, puedes contribuir :)
- El codigo no realiza todas las validaciones que debería, por lo que puede que no funcione correctamente si no se cumplen ciertas condiciones.
En esta sección dejaré ideas que tengo para próximas versiones:
- Probar la libreria OpenAI de C# (https://www.nuget.org/packages/OpenAI/)
- Portar la aplicación a ASP.NET y Blazor para que pueda ser ejecutada en un navegador
- Crear una versión de la aplicación para Android, Windows y iOS con .NET Maui
- Que el escenario pueda escanearse directo de una imagen
- Lectura de los relatos en voz alta
This repository is an "experiment" with which I want to achieve:
- Learn how Azure Open AI service works, how to manage it, and how to integrate it into a .NET code
- Have a "sandbox" to test new versions and features of Azure Open AI and .NET
- Create an open-source project that can be useful for other developers who want to integrate Azure Open AI into their .NET applications
- Make it something out of the ordinary and fun, that's why I chose a game :)
Mainly because it's a test project and because it's easier to implement and test. Also, it has that "vintage" feel that reminds me of old text-based adventure games.
That being said, my goal is to expand the "Adventure AI" multiverse to other types of applications, such as web applications, mobile applications, etc. All, of course, developed in .NET.
- .NET 9.0 installed
- An Azure subscription with access to Azure Open AI (see below)
- Deployments in this subscription of a text generative model like GPT and an image generative model like DALL-E
- If you don't have an Azure subscription, you can get a free one at https://azure.microsoft.com/en-us/free/
- Once you have your subscription, you can activate the Azure Open AI service by following the instructions at https://learn.microsoft.com/en-us/legal/cognitive-services/openai/limited-access
The following environment variables must be configured: "AzureOpenAiEndpoint": The URL of your Azure Open AI resource "AzureOpenAiApiKey": The access key to your Azure Open AI resource "AzureOpenAiDeploymentId": The name of the deployment slot for your text generative model "DalleEndpoint": The URL of your Azure Open AI resource for Dall-e "DalleApiKey": The access key to your Azure Open AI resource for Dall-e "DalleDeploymentId": The name of the deployment slot for your Dall-e
- This project is an experiment, so the code may not be the most efficient or elegant. If you have suggestions for improvement, you can contribute :)
- The code does not perform all the validations it should, so it may not work correctly if certain conditions are not met.
In this section, I will leave ideas I have for future versions:
- Test the OpenAI C# library (https://www.nuget.org/packages/OpenAI/)
- Port the application to ASP.NET and Blazor so that it can be run in a browser
- Create a version of the application for Android, Windows, and iOS with .NET Maui
- Allow the scenario to be scanned directly from an image
- Text-to-speech reading of the stories