๐Ÿš€ Cรณmo usar tus modelos de Ollama ๐Ÿฆ™ en GitHub Copilot Chat usando Dev Containers ๐Ÿณโš™๏ธ

Hace poco se anunciรณ una funcionalidad muy esperada: ahora puedes utilizar modelos personalizados en tus conversaciones con GitHub Copilot Chat ๐ŸŽ‰ (todavรญa en Preview). Basta con hacer clic en el picker de modelos, ir a Manage Models, y desde ahรญ elegir el proveedor que mejor se ajuste a tus necesidades.

Uno de esos proveedores es Ollama ๐Ÿฆ™, lo que significa que tambiรฉn puedes aprovechar cualquier modelo que tengas corriendo en tu servidor local. En este artรญculo quiero mostrarte cรณmo puedes usar esos modelos dentro de un Dev Container, incluso cuando Ollama estรก instalado directamente en tu host. Si quieres saber mรกs sobre Dev Containers te recomiendo este vรญdeo de mi canal de YouTube:

Como comentรฉ en el primer vรญdeo de mi nueva serie sobre IA Generativa para desarrolladores, Ollama funciona mejor si lo dejas fuera del Dev Container.

Asรญ que, si como yo vives en Dev Containers, vas a necesitar un pequeรฑo truco estilo Prรญncipe de Persia ๐Ÿ•น๏ธ para conectar tu GitHub Copilot Chat con los modelos locales de Ollama. Y justo eso es lo que te voy a enseรฑar aquรญ. ๐Ÿ‘‡

Repositorio de ejemplo

En este repo en mi cuenta de GitHub tienes todo el cรณdigo, pero bรกsicamente lo que he hecho ha sido crearme esta configuraciรณn de Dev Container:

{
	"name": "๐Ÿš€ Ollama ๐Ÿฆ™ - Your GitHub Copilot Chat Model ๐Ÿค–",	
	"dockerFile": "Dockerfile",
	"postStartCommand": "socat tcp-listen:11434,fork,reuseaddr tcp-connect:host.docker.internal:11434"
}

Que, como puedes solo tiene tres cosas:

  1. Un nombre molรณn
  2. Una referencia a un Dockerfile para generar la imagen de este Dev Container.
  3. Ejecutar la herramienta socat para redirigir el trรกfico a tu mรกquina host en este caso

El Dockerfile tiene esta pinta:

FROM mcr.microsoft.com/devcontainers/base:jammy
# Install socat
RUN apt-get update \
    && apt-get -y install socat \
    && rm -rf /var/lib/apt/lists/*
    

Si ahora abres esta configuraciรณn en un Dev Container y abres el chat de Github Copilot podrรกs hacer clic en Manage models… y si seleccionas la opciรณn Ollama:

Ahora verรกs que dentro de tu Dev Container puedes elegir tus modelos de tu Ollama local ๐ŸŽ‰

โš ๏ธ Importante: amplia la ventana que usa por defecto OLLAMA porque sino se va a quedar corto:

OLLAMA_CONTEXT_LENGTH=8192 ./ollama serve

En Visual Studio Code Insiders se estรก trabajando en tener una propiedad para poder configurar este host y no tener que trabajar con herramientas como socat. Por lo que si usas esta versiรณn del IDE, puedes aรฑadir esta propiedad como parte de las settings de tu usuario:

"github.copilot.chat.byok.ollamaEndpoint": "http://host.docker.internal:11434"

A dia de hoy esta funcionalidad solo esta disponible para Copilot Free y Copilot Pro.

ยกNos vemos ๐Ÿ‘‹๐Ÿป!

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cรณmo se procesan los datos de tus comentarios.