Introducción

¡Bienvenido al servicio Robin API! Con este servicio, puedes procesar y obtener respuestas de varios modelos avanzados de IA, disfrutando de características como el modo de transmisión y la generación de imágenes. Al usar este servicio, aceptas los Términos de Uso y Politicas de Privacidad de Robin.

Autenticación

La Robin API utiliza claves API para la autenticación. . En el  Api service Panel podrás obtener tu  API key.
Todas las solicitudes a la API deben incluir tu  API key  en el encabezado de Authorization de la siguiente manera:

Importante:

¡Tu API key es secreta! No la compartas con otros ni la publiques en el código del cliente (por ejemplo, navegadores, aplicaciones). Las solicitudes de producción deben ser enrutadas a través de tu servidor backend, donde tu API key puede ser almacenada de forma segura en una variable de entorno o en un servicio de gestión de claves.

Primeros Pasos

Instalación

Para comenzar a usar la Robin API, primero necesitas instalar la biblioteca de Python usando pip. Abre tu terminal o símbolo del sistema y ejecuta el siguiente comando:

PowerShell
  
 pip install robin-api
 

Configuración de Autenticación

Después de instalar la biblioteca de Robin API, necesitas establecer tu API key como una variable de entorno llamada ROBIN_API_KEY. Puedes obtener tu API key personal desde el panel de servicio de Robin API. Una vez que tengas tu API key, configúrala como una variable de entorno usando el siguiente comando:

Para Linux/macOS:

Bash
 
 export ROBIN_API_KEY=your_api_key_here

 

Para Windows (Command Prompt):

Bash
 
 set ROBIN_API_KEY=your_api_key_here

 

Para Windows (PowerShell):

PowerShell
 
$env:ROBIN_API_KEY="your_api_key_here"

 

Modelos de Robin AI

Modelo Robin 3.0

El modelo Robin 3.0 es una implementación de código abierto de un modelo de lenguaje que ha sido afinado utilizando la estrategia C-RLFT, inspirada en el aprendizaje por refuerzo offline. Estos modelos pueden aprender de datos de calidad mixta sin etiquetas de preferencia y han logrado un rendimiento excepcional comparable al de ChatGPT. Los desarrolladores de Robin están dedicados a crear un modelo de lenguaje de código abierto, de alto rendimiento y comercialmente viable, y continúan avanzando hacia este objetivo.

Modelo Robin 4.0

El modelo Robin 4.0 es un modelo experto de Mistral AI. Es un nuevo modelo experimental de aprendizaje automático que utiliza una mezcla de 8 modelos de expertos (MoE, por sus siglas en inglés). Fue lanzado como un torrent y su implementación actual es experimental.

Modelo avanzado Robin Code 

El modelo avanzado Robin Code es un modelo de lenguaje de vanguardia de gran tamaño capaz de generar código y lenguaje natural sobre código, a partir de indicaciones tanto en código como en lenguaje natural. Esta instancia en particular es la variante 34b instruct.

Petición a Robin 

Explora cómo solicitar respuestas rápidas desde la API de Robin, perfecta para integraciones que requieren la pronta y ágil recuperación de información, sin necesidad de transmisión continua.

python

Python
 from robin_api import RobinAIClient


client = RobinAIClient(api_key="ROBIN_API_KEY")
value =  [
            {
                "role": "system",
                "content": "system_prompt"
            },
            {
                "role": "user",
                "content": "what is llama and what is it used for?"
            }

]

#RESPONSE DONT STREAM
stream = client.completions.create(model="ROBIN_4", 
                            conversation = value, 
                            max_tokens = 512, 
                            save_response = False,
                            temperature=1)
print(stream.choices[0].message.content, end="")
 

bash

Bash
  curl -X POST \
  -H "Authorization: Bearer $ROBIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "stream": false,
    "model": "ROBIN_3",
    "save_response": true,
    "conversation": [
        {
            "role": "system",
            "content": "system_prompt"
        },
        {
            "role": "user",
            "content": "what is llama and what is it used for?"
        }
    ]
}' \
  https://robin-ai.xyz:8443/api/api-response-service/get-response
 

Parámetros de la solicitud

  • Type: String
  • Descripcion: Clave de autenticación utilizada para autorizar la solicitud a la API de Robin AI.

conversation:

  • Type: Lista de didiccionarios
  • Descripción: Conjunto de diccionarios que representan los intercambios de conversación entre el usuario y el sistema. Cada diccionario contiene dos claves: role y content.
  • role:Define quién está hablando. Los valores aceptados son  "user" y "system". and 
  • content:  Mensaje intercambiado en la conversación.
  • Ejemplo:

conversation = [

    {

        “role”: “system”,

        “content”: “system_prompt”

    },

    {

        “role”: “user”,

        “content”: “what is llama and what is it used for?”

    }

]

modelo:

  • Tipo:: String
  • Descripcion: Especifica el modelo de Robin AI que se utilizará para responder a la consulta.
  • Opciones: (ROBIN_3, ROBIN_4, ROBIN_CODE_ADVANCE)

max_tokens:

  • Type: Integer
  • Descripcion: Especifica el número máximo de tokens que el modelo puede generar en la respuesta. Los tokens pueden incluir palabras o signos de puntuación. Establecer un límite ayuda a controlar la longitud y el costo computacional de la salida generada.
  • Valores aceptados: Cualquier entero positivo.
  • Example: 150

save_response:

  • Tipo: Boolean
  • Descripcion: Indica si la respuesta generada debe ser almacenada en el sistema para referencia o análisis futuros. Cuando se establece en true, la respuesta se guarda en la base de datos o solución de almacenamiento configurada para la API de Robin AI, permitiendo su recuperación y revisión en un momento posterior. Si se establece en false, la respuesta no se guarda y solo está disponible durante la sesión actual..
  • Accepted Values:
    • true: Guarda la respuesta generada..
    • false: No guarda la respuesta generada..
  • Valor por Defecto: false
  • Ejemplo: true

temperatura:

  • Tipo: Float
  • Descripcion: Controla la aleatoriedad y creatividad de las predicciones del modelo. Un valor más alto produce respuestas más variadas y creativas, mientras que un valor más bajo hace que la salida sea más enfocada y determinista.
  • Rango: 0.0 to 1.0
  • Ejemplo: 0.7

Respuesta

JSON
 {
    "choices": [
        {
            "finish_reason": "stop",
            "index": 0,
            "message": {
                "content": "A fascinating topic!\n\nLlama is a domesticated mammal that belongs to the camelid family, which also includes alpacas, guanacos, and vicuñas. Llamas are native to South America, specifically in the Andean regions of present-day Peru, Bolivia, Ecuador, and Chile.\n\nHere are some interesting facts about llamas:\n\n**Physical Characteristics:**\n\n* Llamas are known for their distinctive long necks, soft fur, and large ears.\n* They can grow up to 5 feet (1.5 meters) tall and weigh between 280-450 pounds (127-204 kilograms).\n* Their fur is soft, woolly, and comes in a variety of colors, including white, brown, gray, and black.\n\n**Uses:**\n\n1. **Pack Animals:** Llamas are often used as pack animals, carrying goods and supplies across long distances. Their strong legs and agile bodies make them well-suited for trekking in rugged terrain.\n2. **Fiber Production:** Llama wool, known as \"llama fleece,\" is highly valued for its softness, warmth, and lightweight properties. It's often used to make clothing, hats, scarves, and blankets.\n3. **Therapy Animals:** Llamas are increasingly being used as therapy animals, providing emotional support and comfort to people in need.\n4. **Companionship:** Many people keep llamas as pets, enjoying their gentle nature and affectionate personalities.\n5. **Land Management:** Llamas are sometimes used to help control weeds and brush in areas where traditional herbicides or pesticides are not effective.\n6. **Food:** In some regions, llamas are raised for their meat, which is considered a delicacy in some cultures.\n\n**Interesting Facts:**\n\n* Llamas are known for their distinctive \" llama spit,\" a defensive behavior where they release a stream of saliva to deter predators or rivals.\n* Llamas are social animals and thrive in herds, often forming close bonds with each other.\n* In some cultures, llamas are considered sacred animals, associated with good luck, prosperity, and spiritual guidance.\n\nIn summary, llamas are versatile animals with a range of uses, from pack animals and fiber production to therapy and companionship. Their unique characteristics and gentle nature have made them a beloved animal around the world.",
                "role": "assistant"
            },
            "logprobs": null
        }
    ],
    "created": 1716617486,
    "id": "chatcmpl-623774d1-6292-42c0-8406-5f6ff9aa3691",
    "model": "ROBIN_3",
    "object": "chat.completion",
    "usage": {
        "completion_tokens": 479,
        "prompt_tokens": 27,
        "total_tokens": 506
    }
}
 

Parámetros de la Respuesta

choices:

  • Es una lista que contiene la respuesta generada por el modelo de Robin AI. En este caso, hay un solo elemento en la lista que representa la respuesta generada.

finish_reason:

  • Indica la razón por la cual se detuvo la generación de la respuesta. En este caso, “stop” indica que la respuesta se generó completamente y no se detuvo prematuramente.

index:

  • Es el índice del elemento dentro de la lista de opciones generadas. En este caso, solo hay una opción generada, por lo que el índice es 0.

message:

  • Contiene el contenido de la respuesta generada por el modelo de Robin AI. Este es el mensaje generado que contiene información sobre las llamas y sus usos.

logprobs:

  • No está presente en esta respuesta. A veces, esta propiedad se utiliza para proporcionar información adicional sobre las probabilidades de generación de palabras en el modelo.

created:

  • Es una marca de tiempo que indica cuándo se creó la respuesta, en segundos desde el inicio del tiempo Unix.

id:

  • Es un identificador único para esta solicitud de generación de respuesta.

model:

  • Indica el modelo de Robin AI que se utilizó para generar la respuesta.

object:

  • Es una cadena que indica el tipo de objeto de respuesta. En este caso, es “chat.completion”

usage:

  • Contiene información sobre el uso de tokens en la generación de la respuesta, incluyendo el número de tokens completados, tokens del prompt original y el total de tokens utilizados.

Flujo de Solicitud en Tiempo Real de Robin

Esto se refiere a la capacidad de la API de Robin para transmitir datos en tiempo real, accesible tanto a través de Bash como de Python. Permite a los usuarios consumir y procesar datos de manera eficiente a medida que llegan.

bash

Bash
 curl -X POST \
  -H "Authorization: Bearer $ROBIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "stream": true,
    "model": "ROBIN_3",
    "save_response": true,
    "conversation": [
        {
            "role": "system",
            "content": "system_prompt"
        },
        {
            "role": "user",
            "content": "what is llama and what is it used for?"
        }
    ]
}' \
  https://robin-ai.xyz:8443/api/api-response-service/get-response

 

python

Python
 from robin_api import RobinAIClient


client = RobinAIClient(api_key="ROBIN_API_KEY")
value =  [
            {
                "role": "system",
                "content": "system_prompt"
            },
            {
                "role": "user",
                "content": "what is llama and what is it used for?"
            }

]

#pGET REQUEST STREAM
stream2 = client.completions.create_stream(model="ROBIN_4", 
                            conversation = value, 
                            max_tokens = 512, 
                            save_response = False,
                            temperature=1)

for chunk in stream2:
    if chunk.choices[0].delta.content is not None:
        print(chunk.choices[0].delta.content, end="")
 

Response Choise

JSON
 {
    "model": "ROBIN_3",
    "choices": {
        "index": 0,
        "delta": {
            "content": " can"
        },
        "finish_reason": "false"
    }
}
 

model:

  • Tipo: String
  • Descripción: Indica el modelo de Robin AI utilizado para generar la respuesta. En este caso, el modelo utilizado es “ROBIN_3”.

choices:

  • Tipo: Object
  • Descripción: Contiene información sobre la respuesta generada por el modelo.
  • index:
  • Tipo: Integer
  • Descripción: Representa el índice de la opción generada dentro de la lista. En este caso, el índice es 0.
  • delta:
  • Tipo: Object
  • Descripción: Representa los cambios realizados en la respuesta generada.
  • content:
  • Type: String
  • Descriptcion: Representa la parte añadida o modificada en la respuesta generada. En este caso, la respuesta incluye la cadena ” can”.
  • finish_reason:
  • Type: String
  • Descripción: Indica la razón por la cual se detuvo la generación de la respuesta. En este caso, “false” puede indicar que la respuesta no se generó completamente o que la generación no se detuvo de manera natural.

Response Finished

JSON
 {
    "details": {
        "runtime_ms": null,
        "cost": 0.00014456,
        "tokens_generated": 512,
        "tokens_input": 44
    },
    "generated_text": null,
    "choices": {
        "index": 0,
        "finish_reason": true
    }
}
 

Detalles de los Parámetros

runtime_ms:

  • Tipo:Entero Nullable
  • Descripción: Representa la duración en tiempo de ejecución del proceso de generación de respuesta, medida en milisegundos.

cost:

  • Tipo: Float
  • Descripción: Representa la duración en tiempo de ejecución del proceso de generación de respuesta, medida en milisegundos.

tokens_generated:

  • Tipo: Entero
  • Descripción: Indica el número total de tokens generados durante el proceso de generación de respuesta.

tokens_input:T

  • Tipo: Entero
  • Description: Represents the total number of input tokens provided for generating the response.

generated_text:

  • Tipo: Cadena Nullable
  • Descripción: Representa el contenido de texto generado como respuesta. En este caso, es null, lo que indica que no se generó ningún texto.

choices: Contiene información sobre las opciones elegidas durante el proceso de generación de respuesta.

  • index:
  • Type: Integer
  • Descripción: Representa el índice de la opción elegida dentro de la lista de opciones generadas.
  • finish_reason:
  • Tipo: Booleano
  • Descripción: Indica si el proceso de generación de respuesta se ha completado (true) o no (false).

Robin Texto a Img

Esta solicitud permite generar una imagen mediante la entrada de texto a través de la API Robin AI. La solicitud incluye especificaciones detalladas para configurar el modelo de generación de imágenes, el tipo de imagen deseado y otras opciones relevantes.

bash

Bash
  curl -X POST https://robin-ai.xyz:8443/api/api-response-service/text-to-image \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer $apikey" \
     -d '{
           "prompt": "Super Closeup Portrait, action shot, Profoundly dark whitish meadow, glass flowers, Stains, space grunge style, Jeanne d'Arc wearing White Olive green used styled Cotton frock, Wielding thin silver sword, Sci-fi vibe, dirty, noisy, Vintage monk style, very detailed, hd"
         }'
 

python

Python
 from robin_api import RobinAIClient


client = RobinAIClient(api_key="APiKEY")

image= client.completions.text_to_image(prompt='YOUR_PROMP')
print(image)
 

Respuesta

JSON
 {
https://example.com/dummy-image.jpg
}
 

Rendimiento de Robin

Robin te permite ejecutar los últimos modelos de aprendizaje automático con facilidad. Nos ocupamos de todo el trabajo pesado relacionado con la ejecución, escalado y monitoreo de los modelos. Puedes concentrarte en tu aplicación e integrar los modelos mediante simples llamadas a la API REST.”

Precios

Ofrecemos diferentes modelos de precios dependiendo del modelo utilizado. Algunos de nuestros modelos de lenguaje ofrecen precios por token. Con este modelo de precios, solo pagas por lo que utilizas. No hay contratos a largo plazo ni costos iniciales, y puedes ajustar fácilmente tu escala según cambien las necesidades de tu negocio. 


Name

Context

$ per 1M input tokens

$ per 1M output tokens
RobinRobin 3.04k$0.26$0.26
RobinRobin 4.032k$0.54$0.54
RobinRobin Code Advance4k$1$1