Proveedor de IA
Interactúa con proveedores de LLM o extiende 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:
Recomendamos encarecidamente que envíes nuevas implementaciones de proveedores mediante PR en el repositorio oficial o usando otros Inspector.dev canales de soporte. La nueva implementación puede recibir un impulso importante en su avance por parte de la comunidad.
Última actualización