Guía de autoalojamiento de Discourse AI

Esta es una guía dirigida a ejecutar tus propias instancias de los servicios que potencian los módulos de Discourse AI.

Introducción

Si deseas utilizar Discourse AI en tu instancia autoalojada, es posible que también necesites ejecutar los servicios complementarios para los módulos que deseas habilitar.

Cada módulo tiene uno o más servicios complementarios necesarios, y esos servicios utilizan más CPU / GPU / espacio en disco que el propio Discourse, así que ten en cuenta que esto no se recomienda para personas que no estén familiarizadas con la administración de servidores Linux y Docker.

Resumen / Ayudante de IA / Bot de IA

Embeddings

Sentimiento

Ejecución en producción

Es posible que desees colocar este servicio detrás de un proxy inverso para habilitar funciones como balanceo de carga, TLS, comprobaciones de estado, límites de tasa, etc., al ejecutarlo en un sitio en vivo.

Una vez que el servicio esté en funcionamiento, configura el módulo para que se conecte al dominio donde se ejecuta el servicio utilizando la configuración del sitio apropiada y luego habilita el módulo.

40 Me gusta

¿El asistente de composer no es posible autoalojarlo por ahora?

Felicitaciones al equipo por este desarrollo e implementación :fire::raising_hands:

5 Me gusta

Composer Helper solo funciona con las API de OpenAI o Anthropic por ahora, por lo que funcionará perfectamente en situaciones autoalojadas siempre que tengas una de esas API.

7 Me gusta

¡Tengo Composer Helper funcionando, gracias!

¿La resumen requiere un servicio de clasificación local? ¿O funcionará solo con una clave API de OpenAI si se utiliza el modelo ChatGPT3.5? Lo activé pero no lo veo en los temas.

3 Me gusta

Según Discourse AI - Resumición, puedes usarlo con OpenAI configurando la clave de OpenAI (que ya hiciste), seleccionando uno de los modelos GPT como modelo de resumición y habilitando el módulo de resumición.

El botón de resumen solo se muestra actualmente para temas con más de 50 respuestas, pero pronto lo habilitaremos para todos los temas.

7 Me gusta

¿Podrías compartir algunas solicitudes de ejemplo? Actualmente estoy intentando configurar esto en un ASG de AWS en una instancia EC2 y no consigo que funcione; solo veo 400 solicitud incorrecta en los registros de Discourse.

Además, una URL de verificación de estado sería genial, / emite un error 404.

1 me gusta

/srv/ok y /health son los puntos finales de comprobación de estado.

De memoria, algo como:

jo -p model=bart-large-cnn-samsum content="La oración larga a resumir va aquí" | \
  curl --json @- -XPOST http://service/api/v1/classify

Para el servicio de resumen debería funcionar.

4 Me gusta

¿Puedes sugerir usar un servicio de resumen en localhost con comprobación de estado del módulo Nginx si estamos de acuerdo con los límites y la carga?

Solo quiero probar modelos de código abierto, ya lo hemos hecho funcionar con claves API de OpenAI.

¿Existen planes para habilitar el multilingüismo en el resumen utilizando modelos como ChatGPT3.5 que sean compatibles?

1 me gusta

Si eso es lo que quieres, debería funcionar, sí.

El resumen ya funciona con las API de OpenAI y Anthropic, por lo que eso te dará capacidades multilingües. Es posible que necesites modificar un poco para traducir el prompt y mantenerlo más centrado en el idioma del tema.

3 Me gusta

Buenas noticias de AWS: Amazon RDS for PostgreSQL now supports pgvector for simplified ML model integration - AWS

2 Me gusta

@Falco ¿Serías tan amable de dar un ejemplo de configuración de servidor que tenga ‘mucha CPU / GPU / Disco’ y pueda ejecutar la IA autoalojada junto con un foro promedio de Discourse?

1 me gusta

Me gustaría verlo también, por favor. Además, dados los requisitos de recursos, ¿sería mejor (posible, más rentable?) descargar los servicios de IA complementarios a un VPS separado?

ejemplo de configuración de servidor

1 me gusta

Depende de los modelos y módulos exactos de Discourse AI que desees ejecutar. Por ejemplo, el módulo de toxicidad utiliza 5 GB y el módulo NSFW utiliza 1 GB de RAM. El espacio en disco es similar, y la CPU/GPU se utiliza para la inferencia, por lo que tus necesidades dependen del número de solicitudes por segundo que esperes tener.

Sí, esa es probablemente la mejor manera.

5 Me gusta

Estimaciones rápidas:

API de ChatGPTv4

  • $0.0008 por cada 100 palabras
  • 1 usuario promedia unas 100 palabras (o tokens) por día en cada módulo de IA
  • Ejecutando los 6 módulos de IA
    $0.0008 * 6 = $0.0048

Costo mensual total por usuario: $0.0048 * 30 = $0.144

Los requisitos mínimos del servidor para autoalojamiento son alrededor de:

  • 16 GB de RAM libre, 32 preferiblemente
  • CPU de 3.5 GHz o superior y 8 núcleos o más
  • SSD de 100 GB

El servidor de menor costo que cumple con esos requisitos en Digital Ocean es:

  • 16 GB de RAM
  • 8 vCPUs Intel Premium (más de 3.5 GHz)
  • Ancho de banda: 6,000 GiB
  • SSD: 2x 200 GiB
  • Costo mensual: $244.00

Por lo tanto, autoalojar ChatGPT4 será más rentable que usar su servicio de API cuando Discourse tenga alrededor de 2,000 usuarios activos por mes.

Con algunos redondeos bastante inestables y generosos involucrados. ¿Suena correcto @Falco?

1 me gusta

GPT-4 o 3.5 no se pueden autoalojar.

Algunos LLM son de código abierto como Falcon o varios modelos basados en LLaMA (que vienen con preguntas de licencia) se pueden autoalojar, pero hasta la fecha todos tienen un rendimiento inferior a GPT 4 o incluso 3.5.

Tu cálculo de servilleta está muy equivocado, si vas a autoalojar un LLM probablemente querrás una A100 o H100, quizás unas cuantas… intenta buscar los precios en Google…

3 Me gusta

Supongo que eso es lo que obtienes cuando usas ChatGPT para ayudarte a calcular los costos de autoalojamiento de ChatGPT.

7 Me gusta

De todos modos, intentaré aportar algo y volveré para actualizarlo cuando tenga algunos datos de usuario para comparar.

Aquí están los cálculos que realicé para usar la API de ChatGPT3.5 con los módulos anteriores, basándome en la suposición muy vaga de que un usuario activo promedio en un mes generará en promedio 100 palabras en una ejecución:

Costos de la API de ChatGPT3.5

  • $0.0003 por 100 palabras en una ejecución
  • 1 usuario activo promedia alrededor de 100 palabras por día en cada módulo de IA

Costo mensual promedio por complemento/componente de IA: 0.009

  • 6 = $0.054

Esto da un costo mensual total por usuario para los 6 complementos de $0.054 si se ejecutan en ChatGPT3.5.

Recién comenzamos a ejecutar los servicios de IA aquí para Meta en un g4dn.xlarge, así que ahora puedo recomendarlo como línea de base.

1 me gusta

Gracias. Aquí se muestran los precios actuales para cualquiera que se pregunte qué es un g4dn.xlarge. Espero que pueda publicar datos de utilización en algún momento para que podamos tener una idea de los costos del mundo real.

1 me gusta

La máquina está básicamente inactiva solo con tráfico de Meta. Podría manejar tráfico de unas pocas Metas sin problemas.

1 me gusta