UniAPI: gestión unificada y sin servidor del reenvío de API de grandes modelos

Introducción general

UniAPI es un reenviador de API compatible con el protocolo OpenAI, y su función principal es gestionar las API de múltiples proveedores de servicios de modelos de gran tamaño, como OpenAI, Azure OpenAI, Claude, etc., a través de un formato OpenAI unificado. Los desarrolladores pueden utilizar una interfaz para llamar a modelos de distintos proveedores sin necesidad de realizar ajustes frecuentes en el código.UniAPI admite la optimización de modelos, el mecanismo de disyuntor y la optimización de la salida de streaming para garantizar solicitudes eficientes y estables. Proporciona despliegue Vercel con un solo clic, adecuado para construir rápidamente una estación de servicio API personal o de equipo. El proyecto está desarrollado por el usuario de GitHub zhangtyzzz, y se sigue actualizando.

UniAPI:免服务器统一管理大模型API转发

 

Lista de funciones

  • Compatibilidad con OpenAI y servicios compatibles con el protocolo OpenAI, incluidos Azure OpenAI, Claude y otros.
  • Unificar las API de distintos proveedores en formato OpenAI para simplificar el proceso de llamada.
  • Admite el mapeo de modelos, llamando a modelos reales de distintos proveedores con un nombre de modelo uniforme.
  • Proporcionar un mecanismo de selección de modelos basado en la tasa de éxito a las 72 horas y el número de primeras ficha Tiempo de respuesta para seleccionar el mejor servicio.
  • Mecanismo de disyuntor incorporado, el fallo continuo del servicio suspende automáticamente la solicitud para proteger la estabilidad del sistema.
  • Optimice los flujos de salida dividiendo los fragmentos grandes de respuesta en fragmentos más pequeños para mejorar el impacto visual.
  • Admite claves API personalizadas, URL base y listas de modelos para una configuración flexible.
  • Desplegado a través de Vercel, proporciona un panel de administración y autenticación segura.

 

Utilizar la ayuda

El uso de UniAPI se divide en dos partes: instalación y configuración. A continuación se describe detalladamente cómo instalarlo, configurarlo y utilizarlo para que pueda empezar a utilizarlo rápidamente.

Proceso de instalación

UniAPI soporta dos métodos de despliegue: local runtime y Vercel one-click deployment. Aquí tomamos Vercel despliegue como el principal, que es adecuado para la mayoría de los usuarios.

Implantación de Vercel con un solo clic

  1. Acceso a los enlaces de despliegue
    Haga clic en la página oficial de Vercel dirección de despliegue
  2. Configuración de variables de entorno
    Rellene las siguientes variables en la página de despliegue de Vercel:

    • ADMIN_API_KEYClave de administrador para acceder al panel de administración. mysecretkey.
    • TEMP_API_KEY: las claves que permiten acceder a la API, que pueden ser hasta 2, por ejemplo key1 responder cantando key2.
    • REDIS_URL: Dirección de conexión Redis para la configuración del almacenamiento persistente (opcional).
    • ENVIRONMENTFijar en production para desactivar la tecla por defecto del modo de desarrollo.
      Una vez finalizada la configuración, haga clic en "Desplegar".
  3. Obtener la dirección de despliegue
    Tras una implantación correcta, Vercel genera una URL como la siguiente https://your-vercel-url.vercel.app. Utilice ADMIN_API_KEY Inicie sesión en el panel de administración.

Funcionamiento local (opcional)

  1. Preparar el entorno
    Asegúrate de que Python 3.8 o superior está instalado en tu dispositivo. Compruebe la versión:
python --version
  1. Descargar archivo
    Visite https://github.com/zhangtyzzz/uni-api/releases para descargar los últimos binarios, por ejemplo uni-api-linux-x86_64-0.0.99.pex.
  2. programa de carrera
    Ejecutado en el terminal:
chmod +x uni-api-linux-x86_64-0.0.99.pex
./uni-api-linux-x86_64-0.0.99.pex

Oyente por defecto http://localhost:8000.

Configuración de la API

  1. Panel de administración de inicio de sesión (implantación de Vercel)
    Abra la URL desplegada e introduzca ADMIN_API_KEY Inicie sesión. La pantalla muestra Añadir configuración y Lista de configuración.
  2. Añadir configuración API
    Haga clic en "Añadir configuración" y rellene la siguiente información:
  • proveedor de servicios: Elige entre OpenAI, Claude, etc.
  • URL baseIntroduzca la dirección API del proveedor de servicios, por ejemplo https://api.openai.com/v1.
  • Clave APIIntroduzca la clave obtenida del proveedor de servicios, por ejemplo sk-xxxx.
  • Nombre del modelo: Introduzca el nombre del modelo real o el nombre de la asignación, por ejemplo. gpt-3.5-turbo.
    Una vez guardada, la configuración aparece en la lista.
  1. mapeo de modelos
    Añade una asignación a la configuración, por ejemplo:
  • nombre común gpt-4 Correspondencia con OpenAI gpt-4 responder cantando Claude (utilizado como expresión nominal) claude-2.
    La solicitud se realiza con gpt-4El sistema selecciona automáticamente los servicios disponibles.

Utilización de las funciones principales

  1. Enviar solicitud
    Pruebe la API con curl:
curl -X POST https://your-vercel-url.vercel.app/v1/chat/completions 
-H "Authorization: Bearer your_api_key" 
-H "Content-Type: application/json" 
-d '{"model": "gpt-3.5-turbo", "messages": [{"role": "user", "content": "你好"}], "stream": true}'

Devuelve un flujo de salida que indica que la configuración se ha realizado correctamente.

  1. selección del modelo
    El sistema selecciona automáticamente el mejor proveedor de servicios en función de la tasa de éxito y el tiempo de respuesta de la primera ficha en las últimas 72 horas. No necesitas intervenir manualmente.
  2. mecanismo de ruptura
    Un disyuntor se activa cuando un servicio falla de forma continuada:
  • 3 fallos: 5 minutos de pausa.
  • 4 fallos: 10 minutos de pausa.
  • 9 fallos: 48 horas de suspensión.
    Durante la suspensión, el sistema cambia a otro proveedor de servicios.
  1. Optimización del streaming
    con respecto a Géminis Los modelos con grandes fragmentos de respuesta, como UniAPI, se dividen automáticamente en fragmentos de salida más pequeños.

Preguntas frecuentes

  • Solicitud fallida 401: Inspección Authorization ¿Contiene la cabecera el Bearer your_api_key.
  • Modelo no disponible: Asegúrese de que el nombre del modelo configurado coincide con el proporcionado por el proveedor de servicios, o compruebe los ajustes de asignación.
  • Inaccesible tras el despliegueAgradecimiento ENVIRONMENT establecido como productionLos registros de Vercel no están disponibles para el usuario, y se comprueban.

Con estos pasos, puede implementar y utilizar fácilmente UniAPI, que es fácil de configurar, potente e ideal para escenarios en los que necesita gestionar API de varios proveedores.

 

escenario de aplicación

  1. Pruebas para desarrolladores de modelos multiproveedor
    Desea comparar la salida de OpenAI y Claude. uniAPI le permite ahorrar tiempo llamando a ambos con una sola interfaz.
  2. Los equipos crean servicios API estables
    El equipo necesitaba una estación API fiable para dar soporte a la empresa. El disyuntor y la meritocracia de uniAPI garantizaron un servicio ininterrumpido.
  3. Educación e investigación
    Los estudiantes pueden utilizar UniAPI para investigar la capacidad de respuesta y la estabilidad de diferentes modelos, adecuados para experimentos académicos.

 

CONTROL DE CALIDAD

  1. ¿Qué proveedores de servicios admite UniAPI?
    Compatibilidad con OpenAI, Azure OpenAI, Claude y otros servicios compatibles con el protocolo OpenAI; consulte GitHub para obtener actualizaciones.
  2. ¿Qué ocurre cuando se dispara el disyuntor?
    El sistema cambia automáticamente a otros proveedores de servicios y vuelve a intentarlo tras un periodo de reflexión. No es necesaria ninguna operación manual.
  3. ¿Cuáles son las ventajas de la emisión en streaming?
    Divide grandes fragmentos de respuesta en trozos más pequeños para que la experiencia del usuario sea más fluida, especialmente en los escenarios de chat en tiempo real.
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...