Probando Semantic Kernel Agent Framework

¡Hola!

Con la llegada de los agentes de Semantic Kernel a disponibilidad general, me apetecía jugar un poco con ellos y ver cómo funcionan en escenarios prácticos. He montado un pequeño ejemplo donde tengo:

  • Un agente que genera entradas de blog.
  • Dos agentes que actúan como revisores: uno de estilo y otro de formato.

Todo sin usar los agentes de Azure AI ni OpenAI específicos, sino los genéricos, lo que permite usarlos con cualquier LLM soportado por Semantic Kernel.

Continúa leyendo Probando Semantic Kernel Agent Framework

Personalizando la invocación de Tools en MCP para Incluir ProgressToken con C#

Nota: Este post se basa en la versión 0.1.0-preview.5 del paquete NuGet ModelContextProtocol. Estamos en las primeras versiones preliminares de esta librería, por lo que el código podría quedar obsoleto en cualquier momento debido a la rápida evolución del SDK 🙂

¡Hola!
Este post surge a raíz de la discusión en esta issue de GitHub, donde se planteó la necesidad de personalizar la invocación de herramientas al ser ejecutadas automáticamente por IChatClient. Continúa leyendo Personalizando la invocación de Tools en MCP para Incluir ProgressToken con C#

Problema con ListView dentro de un CardView en Xamarin Forms

¡Hola!
El otro día me encontré con un pequeño (no tan pequeño) problema utilizando el control CardView donde cada elemento del carrusel era un ListView. Algo parecido a lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
    <?xml version="1.0" encoding="utf-8"?>
    <ContentPage
        xmlns="http://xamarin.com/schemas/2014/forms"
        xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
        xmlns:d="http://xamarin.com/schemas/2014/forms/design"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:cards="clr-namespace:PanCardView;assembly=PanCardView"
        mc:Ignorable="d"
        x:Name="this"
        x:Class="FixListViewWithCardsView.MainPage">
 
       <cards:CarouselView
           ItemsSource="{Binding Novels}">
           <cards:CarouselView.ItemTemplate>
               <DataTemplate>
 
                   <ListView
                       IsPullToRefreshEnabled="True"
                       RefreshCommand="{Binding Source={x:Reference this},Path=BindingContext.RefreshNovelCommand}"                   
                       ItemsSource="{Binding Characters}">
                       <ListView.Header>
                           <Label
                               FontSize="Large"
                               HorizontalTextAlignment="Center"
                               VerticalTextAlignment="Center"
                               HeightRequest="150"
                               Text="{Binding Title}"/>
                       </ListView.Header>                  
                   </ListView>
 
               </DataTemplate>
           </cards:CarouselView.ItemTemplate>
       </cards:CarouselView>
 
    </ContentPage>

Continúa leyendo Problema con ListView dentro de un CardView en Xamarin Forms

Depurar BroadcastReceiver con Visual Studio Mac

¡Hola!
Hoy vamos con una entrada rápida. En ocasiones, cuando desarrollamos aplicaciones Xamarin Forms (o Xamarin Android), creamos BroadcastReceiver que nos ayudan a recibir ciertos eventos que ocurren. Por ejemplo, nos puede interesar recibir información de cuándo el usuario ha recibido un sms, o que se está agotando la batería… Un ejemplo sencillo de BroadcastReceiver sería el siguiente: Continúa leyendo Depurar BroadcastReceiver con Visual Studio Mac

Cambiar colores a un QR en Xamarin Forms

¡Hola!
Normalmente, cuando queremos pintar un código QR en Xamarin Forms, utilizamos la librería ZXing seguramente a través del NuGet ZXing.Net.Mobile. El problema lo podemos tener cuando queremos modificar los colores con los que se pinta el QR, debido a que no tenemos la opción en la librería para poder modificarlos. Un ejemplo básico para mostrar un QR en Xamarin Forms sería algo así: Continúa leyendo Cambiar colores a un QR en Xamarin Forms

Recortar textos con StringInfo en Xamarin Forms

¡Hola!
Antes que nada, si ya conoces la clase StringInfo seguramente te puedas ahorrar leer esta entrada 🙂 La cosa es que hoy estaba depurando un error en una aplicación Xamarin Forms (el problema no es exclusivo de XF) y me encontré con algo bastante curioso, al menos para mí. En la siguiente captura vamos a ver algo que representa más o menos lo que tenía: Continúa leyendo Recortar textos con StringInfo en Xamarin Forms

Sobrescribir implementación original de un Renderer en Xamarin Forms

¡Hola!
Cuando en Xamarin Forms utilizamos algún control de una librería externa, muchas veces (casi siempre) utiliza implementaciones nativas, es decir, lo que típicamente llamamos Renderers. A veces nos ocurre que queremos modificar el comportamiento, extender o aplicar alguna correcciones a esos Renderers, ¿qué hacemos normalmente en estos casos? Creamos un control nuevo en nuestro código compartido que herede del control original y hacemos lo mismo en las diferentes plataformas. Lo vemos en un ejemplo:
Continúa leyendo Sobrescribir implementación original de un Renderer en Xamarin Forms

Generar Build en Azure DevOps con tu propia máquina macOS

¡Hola!
El otro día desarrollando un Addin para VS4Mac (en concreto éste), me decidí a incluir la compilación y generación del archivo .mpack a través de Azure DevOps. Realmente para las 4 cosas que hace el Addin y, el más que dudoso tiempo que le dedicaré, no tenía mucho sentido perder un rato que podía estar dedicando a que el Addin hiciese más cosas, pero eh, de eso se tratan los side projects (vamos, los proyectos que empiezas y abandonas), de hacer lo que te apetezca. Continúa leyendo Generar Build en Azure DevOps con tu propia máquina macOS

Ajustar Label multilínea en Xamarin Forms

¡Hola!
Hoy vamos a ver cómo podemos ajustar el ancho del texto de una Label que contiene más de una línea en Xamarin Forms. El problema ocurre cuando tenemos una Label y el texto es lo suficientemente largo para que se muestre en más de una línea, en ese momento (en cuanto el texto ocupa más de una línea), la Label siempre se expandirá horizontalmente dentro de su contenedor. Dicho así, seguramente sonará un poco enrevesado, pero vamos a verlo con extracto de XAML y una imagen.
Continúa leyendo Ajustar Label multilínea en Xamarin Forms

VS4Mac – Addin para generar Assets

¡Hola!
Cuando creamos aplicaciones Xamarin Forms casi siempre tenemos la necesidad de añadir imágenes para iconos, fondos de pantallas, etc. Esta tarea puede ser un poco pesada porque debemos generar los iconos para las diferentes resoluciones (hdpi, ldpi, xdpi… @2x, @3x…) y luego añadirlos en las diferentes carpetas de recursos de nuestros proyectos iOS o Android. Hace un tiempo escribí una entrada en la que veíamos cómo podíamos generar automáticamente las imágenes para luego añadirlas en los proyectos. Después de jugar un poco con la creación de Addins en VS4Mac he decido migrar aquel proyecto a .NET Standard y crear un Addin para poder hacerlo todo desde VS4Mac.
Por si os interesa, el proyecto está disponible en Github desde donde podréis descargar el archivo .mpack para instalarlo como extensión en VS4Mac. Continúa leyendo VS4Mac – Addin para generar Assets