> ## Documentation Index
> Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Usar LiteLLM con CometAPI

> Usa esta guía para configurar LiteLLM con CometAPI estableciendo la URL base, la clave de API y las opciones de model o provider.

LiteLLM proporciona una API unificada de Python para más de 100 proveedores de LLM. CometAPI es compatible de forma nativa: usa el prefijo `cometapi/` para enrutar solicitudes a través del catálogo de modelos de CometAPI.

## Requisitos previos

* Python 3.6+
* Una cuenta de CometAPI con una clave API activa — [obtén la tuya aquí](https://www.cometapi.com/console/token)

<Steps>
  <Step title="Instalar LiteLLM">
    ```bash theme={null}
    pip install litellm
    ```
  </Step>

  <Step title="Configura tu clave API">
    Configura la clave API como una variable de entorno (recomendado) o pásala inline:

    ```python theme={null}
    import os
    from litellm import completion

    # Recommended: environment variable
    os.environ["COMETAPI_KEY"] = "<COMETAPI_KEY>"

    # Alternative: pass inline
    api_key = "<COMETAPI_KEY>"
    ```

    <Note>
      Usa variables de entorno para evitar codificar credenciales sensibles directamente en tus scripts.
    </Note>
  </Step>

  <Step title="Haz una llamada de completion">
    Usa el formato `cometapi/<model-name>` para especificar modelos. Puedes pasar la clave mediante una variable de entorno o explícitamente:

    ```python theme={null}
    messages = [{"content": "Hello, how are you?", "role": "user"}]

    # Method 1: environment variable (recommended)
    response = completion(model="cometapi/your-model-id", messages=messages)

    # Method 2: explicit API key
    response = completion(model="cometapi/your-model-id", messages=messages, api_key=api_key)

    print(response.choices[0].message.content)
    ```
  </Step>

  <Step title="Llamadas asíncronas y Streaming">
    Usa `acompletion` con `stream=True` para obtener respuestas en tiempo real y sin bloqueo:

    ```python theme={null}
    from litellm import acompletion
    import asyncio, traceback

    async def stream_call():
        try:
            response = await acompletion(
          model="cometapi/your-model-id",
                messages=[{"content": "Hello, how are you?", "role": "user"}],
                stream=True,
            )
            async for chunk in response:
                print(chunk)
        except Exception:
            print(f"Error: {traceback.format_exc()}")

    asyncio.run(stream_call())
    ```
  </Step>
</Steps>

<AccordionGroup>
  <Accordion title="Consejos y solución de problemas">
    * **Formato del modelo**: Los modelos de CometAPI usan el prefijo `cometapi/<model-name>`, por ejemplo `cometapi/your-model-id`. Consulta la [página de modelos de CometAPI](/es/overview/models) para ver los modelos disponibles.
    * **Respuestas de Fine-tuning**: LiteLLM admite `temperature`, `max_tokens` y `top_p` — agrégalos a cualquier llamada `completion()`, por ejemplo `completion(..., temperature=0.7)`.
    * **Manejo de errores**: Envuelve las llamadas en `try/except` para capturar errores de clave no válida o problemas de red.
    * **Seguridad**: Nunca subas claves API al control de versiones. Usa variables de entorno o un gestor de secretos.
    * **Límites de tasa**: Supervisa el uso en la [consola de CometAPI](https://www.cometapi.com/console).
    * **Más documentación**: [documentación de LiteLLM](https://docs.litellm.ai/docs/) — [inicio rápido de CometAPI](/es/overview/quick-start)
  </Accordion>
</AccordionGroup>

<script type="application/ld+json">
  {`
    {
    "@context": "https://schema.org",
    "@graph": [
      {
        "@type": "HowTo",
        "@id": "https://apidoc.cometapi.com/integrations/litellm#howto",
        "name": "Usar LiteLLM con CometAPI",
        "description": "Usa esta guía para configurar LiteLLM con CometAPI estableciendo la URL base, la clave API y las opciones de modelo o proveedor.",
        "step": [
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/litellm#step-1",
            "position": 1,
            "name": "Instalar LiteLLM",
            "text": "Completa el paso Instalar LiteLLM en la guía Usar LiteLLM con CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/litellm#step-2",
            "position": 2,
            "name": "Configura tu clave API",
            "text": "Guarda tu clave API de CometAPI en la variable de entorno o en el campo de configuración utilizado por la integración."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/litellm#step-3",
            "position": 3,
            "name": "Haz una llamada de completion",
            "text": "Completa el paso Haz una llamada de completion en la guía Usar LiteLLM con CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/litellm#step-4",
            "position": 4,
            "name": "Llamadas asíncronas y Streaming",
            "text": "Completa el paso Llamadas asíncronas y Streaming en la guía Usar LiteLLM con CometAPI."
          }
        ]
      },
      {
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "Documentación de CometAPI",
            "item": "https://apidoc.cometapi.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "Integraciones",
            "item": "https://apidoc.cometapi.com/integrations"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "Usar LiteLLM con CometAPI",
            "item": "https://apidoc.cometapi.com/integrations/litellm"
          }
        ]
      }
    ]
    }
    `}
</script>
