For the complete documentation index, see llms.txt. This page is also available as Markdown.

Proveedor de IA

Interactúa con proveedores de LLM o amplía el framework para implementar nuevos.

Con Neuron puedes cambiar entre proveedores de LLM con una sola línea de código, sin ningún impacto en la implementación de tu agente.

Anthropic

namespace App\Neuron;

use NeuronAI\Agent\Agent;
use NeuronAI\Chat\Messages\UserMessage;
use NeuronAI\Providers\AIProviderInterface;
use NeuronAI\Providers\Anthropic\Anthropic;

class MyAgent extends Agent
{
    protected function provider(): AIProviderInterface
    {
        return new Anthropic(
            key: 'ANTHROPIC_API_KEY',
            model: 'ANTHROPIC_MODEL',
            parameters: [], // Añade parámetros personalizados (temperature, logprobs, etc)
        );
    }
}

$message = MyAgent::make()
    ->chat(new UserMessage("¡Hola!"))
    ->getMessage();

echo $message->getContent();
// Hola, ¿en qué puedo ayudarte hoy?

Caché de prompts de Anthropic

El proveedor de Anthropic expone un método dedicado systemPromptBlocks() para aprovechar la caché del prompt del sistema. En lugar de usar el instructions() método en la clase Agent, puedes pasar la definición de prompts directamente a la instancia del proveedor con definición de tipo de caché.

Anthropic en Google Vertex AI

Para usar este proveedor necesitas instalar el paquete Composer de autenticación de Google:

A continuación la sintaxis para usar AnthropicVertex en tu agente.

OpenAIResponses

Este componente utiliza la API más reciente de respuestas de OpenAI:

OpenAI

Este componente utiliza la antigua API de completions de OpenAI:

AzureOpenAI

Este proveedor te permite conectarte con modelos de OpenAI proporcionados en la plataforma en la nube de Azure.

OpenAILike

Esta clase simplifica la conexión con proveedores que ofrecen el mismo formato de datos que la API oficial de OpenAI.

Ollama

Gemini

Gemini en Vertex AI

Para usar este proveedor necesitas instalar el paquete Composer de autenticación de Google:

A continuación la sintaxis para usar GeminiVertex en tu agente.

Mistral

ZAI

HuggingFace

Deepseek

Grok (X-AI)

AWS Bedrock Runtime

Para usar el BedrockRuntime proveedor, necesitas instalar el paquete aws/aws-sdk-php .

A continuación puedes encontrar la sintaxis para usarlo en tu agente.

Cohere

Alibaba DashScope

Enrutamiento

Oficial Neuron Router añade una capa de fiabilidad y gestión entre la sesión del Agente y la API de proveedores, dándote a ti y a tu aplicación varias ventajas clave.

Conmutación por error del proveedor para alta disponibilidad

La API de proveedores ocasionalmente experimenta interrupciones o limitación de tasa. Al usar RouterProvider, tus solicitudes conmutan automáticamente entre múltiples proveedores subyacentes. Si un proveedor no está disponible o tiene limitación de tasa, el router dirige sin problemas la solicitud a otro, manteniendo tus sesiones sin interrupciones.

Control de la lógica de enrutamiento

Puedes usar lógica de enrutamiento como RoundRobin como equilibrador de carga, ContentRule para enrutar la solicitud según los bloques de contenido dentro del mensaje (imágenes, archivos, audio, video), o DifficultyRule para determinar qué modelo tiene las mejores capacidades para manejar el prompt entrante.

Primero instala el paquete:

Ahora usa el RouterProvider como cualquier otro proveedor en la clase de tu agente:

En el ejemplo anterior usamos el RoundRobinRule haciendo que el router actúe como un equilibrador de carga entre los proveedores de IA conectados. El paquete incluye varias reglas incorporadas, incluido un clasificador LLM para enrutar llamadas al modelo adecuado según la puntuación de dificultad del prompt: https://github.com/neuron-core/router#difficultyrule

Cliente HTTP personalizado

Los proveedores usan un cliente HTTP para comunicarse con el servicio remoto. Puedes personalizar la configuración del cliente HTTP pasando explícitamente una instancia con parámetros de constructor personalizados, como tiempo de espera, encabezados personalizados, etc.

Implementar un proveedor personalizado

Si quieres crear un nuevo proveedor, tienes que implementar la AIProviderInterface interfaz:

El chat el método debe contener la llamada al LLM subyacente. Si el proveedor no admite herramientas y llamadas a funciones, puedes implementarlo como un marcador de posición.

Esta es la plantilla básica para una nueva implementación de proveedor de IA.

Después de crear tu propia implementación, puedes usarla en el agente:

Última actualización