iamex


Nameiamex JSON
Version 0.0.3 PyPI version JSON
download
home_pagehttps://github.com/IA-Mexico/iamex
SummaryAcceso unificado a múltiples modelos de inferencia AI
upload_time2025-09-07 16:48:34
maintainerNone
docs_urlNone
authorInteligencia Artificial México
requires_python>=3.7
licenseMIT
keywords ai machine learning inference models iamex artificial intelligence
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # iamex

Acceso unificado a múltiples modelos de inferencia AI

## Instalación

```bash
pip install iamex
```

## Modelos Disponibles

- **iam-adv-mex** - Modelo avanzado en español
- **IAM-lite** - Modelo ligero en español
- **IAM-advanced** - Modelo avanzado en español
- **iam-lite-mex** - Modelo ligero en español

## Uso Simple (Recomendado)

La forma más fácil de usar iamex es con la función `send_prompt`. Esta función se conecta directamente al endpoint real de iam-hub:

**Endpoint**: `https://iam-hub.iamexprogramers.site/api/v1/prompt-model`

```python
from iamex import send_prompt

# Uso básico - necesitas prompt, api_key y model
response = send_prompt(
    prompt="Explica qué es la inteligencia artificial",
    api_key="tu_api_key_aqui",
    model="IAM-advanced"
)

# Con parámetros opcionales como max_tokens
response = send_prompt(
    prompt="Explica qué es la inteligencia artificial",
    api_key="tu_api_key_aqui",
    model="IAM-advanced",
    max_tokens=200  # Limitar respuesta a 200 tokens
)

print(response)
```

### Con Parámetros Adicionales

```python
# Con parámetros adicionales usando kwargs
response = send_prompt(
    prompt="¿Cuáles son las ventajas de usar Python?",
    api_key="tu_api_key_aqui",
    model="IAM-advanced",
    temperature=0.7,
    max_tokens=200
)
```

### Con Mensaje del Sistema

```python
# Con mensaje del sistema
response = send_prompt(
    prompt="Explica qué es una función lambda",
    api_key="tu_api_key_aqui",
    model="IAM-advanced",
    system_prompt="Eres un asistente experto en programación Python."
)
```

## Uso Avanzado (Cliente)

Para casos más avanzados, puedes usar la clase `PromptClient`:

```python
from iamex import PromptClient

# Inicializar el cliente con tu API key
client = PromptClient(api_key="tu_api_key_aqui")

# Enviar un prompt (usa modelo por defecto 'IAM-advanced')
response = client.send_prompt(
    prompt="Explica qué es la inteligencia artificial"
)

print(response)
```

## Uso con Modelo Específico

```python
# Especificar un modelo diferente
response = client.send_prompt(
    prompt="Explica qué es Python",
    modelo="IAM-advanced"
)
```

## Uso con Mensaje del Sistema

```python
# Incluir un mensaje del sistema para definir el comportamiento
system_prompt = "Eres un asistente experto en programación."
response = client.send_prompt(
    prompt="Explica qué es una función",
    modelo="IAM-advanced",
    system_prompt=system_prompt
)
```

## Parámetros Adicionales

El método `send_prompt` acepta parámetros adicionales:

```python
response = client.send_prompt(
    prompt="Tu prompt aquí",
    modelo="IAM-advanced",
    temperature=0.5,        # Controla la creatividad (0.0 - 1.0)
    max_tokens=1000,        # Máximo número de tokens en la respuesta
    top_p=0.9,             # Controla la diversidad de la respuesta
    top_k=50,              # Limita las opciones de tokens
    repetition_penalty=1.1, # Evita repeticiones
    presence_penalty=0.1,   # Penaliza tokens ya presentes
    frequency_penalty=0.1,  # Penaliza tokens frecuentes
    stream=False            # Respuesta en streaming
)
```

## Parámetros por Defecto

Si no especificas parámetros, se usan estos valores:
- `model`: `"IAM-advanced"`
- `temperature`: `0.3`
- `max_tokens`: `12000`
- `top_p`: `0.9`
- `top_k`: `50`
- `repetition_penalty`: `1.1`
- `presence_penalty`: `0.1`
- `frequency_penalty`: `0.1`
- `stream`: `False`

## Obtener Modelos Disponibles

```python
models = client.get_models()
print(models)
```

## Manejo de Errores

```python
try:
    response = client.send_prompt(
        prompt="Tu prompt aquí",
        modelo="IAM-advanced"
    )
except Exception as e:
    print(f"Error: {e}")
```

## Autenticación

La librería ahora soporta autenticación por API key:

```python
# Con función simple
response = send_prompt("Tu prompt", "tu_api_key_aqui", "tu_modelo")

# Con cliente
client = PromptClient(api_key="tu_api_key_aqui")
```

**Nota**: Si no proporcionas una API key, la librería funcionará sin autenticación (solo para desarrollo y pruebas).

## Estructura del Payload

La función `send_prompt` envía automáticamente este payload a la API:

```json
{
  "apikey": "tu_api_key_aqui",
  "model": "tu_modelo",
  "prompt": "tu_prompt"
}
```

**Parámetros obligatorios:**
- `apikey`: Tu clave de API para autenticación
- `model`: El modelo de IA a usar
- `prompt`: El texto de tu consulta

**Parámetros opcionales:**
- `system_prompt`: Instrucciones del sistema (si se proporciona)
- Cualquier otro parámetro que pases en `**kwargs`

## Desarrollo

### Instalación para Desarrollo

```bash
git clone https://github.com/IA-Mexico/iamex.git
cd iamex
pip install -e ".[dev]"
```

### Ejecutar Tests

```bash
pytest
```

### Formatear Código

```bash
black src/ tests/
```

## Licencia

Este proyecto está bajo la Licencia MIT. Ver el archivo [LICENSE](LICENSE) para más detalles.

## Soporte

- **Documentación**: [GitHub](https://github.com/IA-Mexico/iamex)
- **Issues**: [GitHub Issues](https://github.com/IA-Mexico/iamex/issues)
- **Email**: hostmaster@iamex.io
## Changelog

### v0.0.3
- ✅ **ACTUALIZADO**: Versión del paquete a 0.0.3
- ✅ **NUEVO**: Parámetro opcional `max_tokens` en función `send_prompt`
- ✅ **MEJORADO**: Control de longitud de respuestas del modelo
- ✅ **MEJORADO**: Endpoint real de iam-hub implementado
- ✅ **OPTIMIZADO**: Ejemplos actualizados con nueva funcionalidad
- ✅ **OPTIMIZADO**: Estructura de payload exacta para la API
- ✅ **DOCUMENTACIÓN**: Guías de uso para max_tokens

### v0.0.2
- ✅ **NUEVO**: Función simple `send_prompt(prompt, api_key, model)` para uso rápido
- ✅ **NUEVO**: Soporte completo para autenticación con API key
- ✅ **NUEVO**: Conexión directa al endpoint real de iam-hub
- ✅ **MEJORADO**: Estructura de payload exacta que espera la API
- ✅ **DOCUMENTACIÓN**: Ejemplos actualizados con la nueva funcionalidad

### v0.0.1
- Versión inicial
- Cliente básico para envío de prompts
- Endpoint fijo para el modelo actual
- Soporte para múltiples modelos de inferencia
- Cliente `PromptClient` para uso avanzado
- **Modelo por defecto**: `IAM-advanced`
- **Parámetros optimizados** según la API


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/IA-Mexico/iamex",
    "name": "iamex",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "Inteligencia Artificial M\u00e9xico <hostmaster@iamex.io>",
    "keywords": "ai, machine learning, inference, models, iamex, artificial intelligence",
    "author": "Inteligencia Artificial M\u00e9xico",
    "author_email": "Inteligencia Artificial M\u00e9xico <hostmaster@iamex.io>",
    "download_url": "https://files.pythonhosted.org/packages/80/e6/451cffe78b2f6d9e49bc0674b82801f71e28383ffa0b531ba4aee3b5f246/iamex-0.0.3.tar.gz",
    "platform": null,
    "description": "# iamex\r\n\r\nAcceso unificado a m\u00faltiples modelos de inferencia AI\r\n\r\n## Instalaci\u00f3n\r\n\r\n```bash\r\npip install iamex\r\n```\r\n\r\n## Modelos Disponibles\r\n\r\n- **iam-adv-mex** - Modelo avanzado en espa\u00f1ol\r\n- **IAM-lite** - Modelo ligero en espa\u00f1ol\r\n- **IAM-advanced** - Modelo avanzado en espa\u00f1ol\r\n- **iam-lite-mex** - Modelo ligero en espa\u00f1ol\r\n\r\n## Uso Simple (Recomendado)\r\n\r\nLa forma m\u00e1s f\u00e1cil de usar iamex es con la funci\u00f3n `send_prompt`. Esta funci\u00f3n se conecta directamente al endpoint real de iam-hub:\r\n\r\n**Endpoint**: `https://iam-hub.iamexprogramers.site/api/v1/prompt-model`\r\n\r\n```python\r\nfrom iamex import send_prompt\r\n\r\n# Uso b\u00e1sico - necesitas prompt, api_key y model\r\nresponse = send_prompt(\r\n    prompt=\"Explica qu\u00e9 es la inteligencia artificial\",\r\n    api_key=\"tu_api_key_aqui\",\r\n    model=\"IAM-advanced\"\r\n)\r\n\r\n# Con par\u00e1metros opcionales como max_tokens\r\nresponse = send_prompt(\r\n    prompt=\"Explica qu\u00e9 es la inteligencia artificial\",\r\n    api_key=\"tu_api_key_aqui\",\r\n    model=\"IAM-advanced\",\r\n    max_tokens=200  # Limitar respuesta a 200 tokens\r\n)\r\n\r\nprint(response)\r\n```\r\n\r\n### Con Par\u00e1metros Adicionales\r\n\r\n```python\r\n# Con par\u00e1metros adicionales usando kwargs\r\nresponse = send_prompt(\r\n    prompt=\"\u00bfCu\u00e1les son las ventajas de usar Python?\",\r\n    api_key=\"tu_api_key_aqui\",\r\n    model=\"IAM-advanced\",\r\n    temperature=0.7,\r\n    max_tokens=200\r\n)\r\n```\r\n\r\n### Con Mensaje del Sistema\r\n\r\n```python\r\n# Con mensaje del sistema\r\nresponse = send_prompt(\r\n    prompt=\"Explica qu\u00e9 es una funci\u00f3n lambda\",\r\n    api_key=\"tu_api_key_aqui\",\r\n    model=\"IAM-advanced\",\r\n    system_prompt=\"Eres un asistente experto en programaci\u00f3n Python.\"\r\n)\r\n```\r\n\r\n## Uso Avanzado (Cliente)\r\n\r\nPara casos m\u00e1s avanzados, puedes usar la clase `PromptClient`:\r\n\r\n```python\r\nfrom iamex import PromptClient\r\n\r\n# Inicializar el cliente con tu API key\r\nclient = PromptClient(api_key=\"tu_api_key_aqui\")\r\n\r\n# Enviar un prompt (usa modelo por defecto 'IAM-advanced')\r\nresponse = client.send_prompt(\r\n    prompt=\"Explica qu\u00e9 es la inteligencia artificial\"\r\n)\r\n\r\nprint(response)\r\n```\r\n\r\n## Uso con Modelo Espec\u00edfico\r\n\r\n```python\r\n# Especificar un modelo diferente\r\nresponse = client.send_prompt(\r\n    prompt=\"Explica qu\u00e9 es Python\",\r\n    modelo=\"IAM-advanced\"\r\n)\r\n```\r\n\r\n## Uso con Mensaje del Sistema\r\n\r\n```python\r\n# Incluir un mensaje del sistema para definir el comportamiento\r\nsystem_prompt = \"Eres un asistente experto en programaci\u00f3n.\"\r\nresponse = client.send_prompt(\r\n    prompt=\"Explica qu\u00e9 es una funci\u00f3n\",\r\n    modelo=\"IAM-advanced\",\r\n    system_prompt=system_prompt\r\n)\r\n```\r\n\r\n## Par\u00e1metros Adicionales\r\n\r\nEl m\u00e9todo `send_prompt` acepta par\u00e1metros adicionales:\r\n\r\n```python\r\nresponse = client.send_prompt(\r\n    prompt=\"Tu prompt aqu\u00ed\",\r\n    modelo=\"IAM-advanced\",\r\n    temperature=0.5,        # Controla la creatividad (0.0 - 1.0)\r\n    max_tokens=1000,        # M\u00e1ximo n\u00famero de tokens en la respuesta\r\n    top_p=0.9,             # Controla la diversidad de la respuesta\r\n    top_k=50,              # Limita las opciones de tokens\r\n    repetition_penalty=1.1, # Evita repeticiones\r\n    presence_penalty=0.1,   # Penaliza tokens ya presentes\r\n    frequency_penalty=0.1,  # Penaliza tokens frecuentes\r\n    stream=False            # Respuesta en streaming\r\n)\r\n```\r\n\r\n## Par\u00e1metros por Defecto\r\n\r\nSi no especificas par\u00e1metros, se usan estos valores:\r\n- `model`: `\"IAM-advanced\"`\r\n- `temperature`: `0.3`\r\n- `max_tokens`: `12000`\r\n- `top_p`: `0.9`\r\n- `top_k`: `50`\r\n- `repetition_penalty`: `1.1`\r\n- `presence_penalty`: `0.1`\r\n- `frequency_penalty`: `0.1`\r\n- `stream`: `False`\r\n\r\n## Obtener Modelos Disponibles\r\n\r\n```python\r\nmodels = client.get_models()\r\nprint(models)\r\n```\r\n\r\n## Manejo de Errores\r\n\r\n```python\r\ntry:\r\n    response = client.send_prompt(\r\n        prompt=\"Tu prompt aqu\u00ed\",\r\n        modelo=\"IAM-advanced\"\r\n    )\r\nexcept Exception as e:\r\n    print(f\"Error: {e}\")\r\n```\r\n\r\n## Autenticaci\u00f3n\r\n\r\nLa librer\u00eda ahora soporta autenticaci\u00f3n por API key:\r\n\r\n```python\r\n# Con funci\u00f3n simple\r\nresponse = send_prompt(\"Tu prompt\", \"tu_api_key_aqui\", \"tu_modelo\")\r\n\r\n# Con cliente\r\nclient = PromptClient(api_key=\"tu_api_key_aqui\")\r\n```\r\n\r\n**Nota**: Si no proporcionas una API key, la librer\u00eda funcionar\u00e1 sin autenticaci\u00f3n (solo para desarrollo y pruebas).\r\n\r\n## Estructura del Payload\r\n\r\nLa funci\u00f3n `send_prompt` env\u00eda autom\u00e1ticamente este payload a la API:\r\n\r\n```json\r\n{\r\n  \"apikey\": \"tu_api_key_aqui\",\r\n  \"model\": \"tu_modelo\",\r\n  \"prompt\": \"tu_prompt\"\r\n}\r\n```\r\n\r\n**Par\u00e1metros obligatorios:**\r\n- `apikey`: Tu clave de API para autenticaci\u00f3n\r\n- `model`: El modelo de IA a usar\r\n- `prompt`: El texto de tu consulta\r\n\r\n**Par\u00e1metros opcionales:**\r\n- `system_prompt`: Instrucciones del sistema (si se proporciona)\r\n- Cualquier otro par\u00e1metro que pases en `**kwargs`\r\n\r\n## Desarrollo\r\n\r\n### Instalaci\u00f3n para Desarrollo\r\n\r\n```bash\r\ngit clone https://github.com/IA-Mexico/iamex.git\r\ncd iamex\r\npip install -e \".[dev]\"\r\n```\r\n\r\n### Ejecutar Tests\r\n\r\n```bash\r\npytest\r\n```\r\n\r\n### Formatear C\u00f3digo\r\n\r\n```bash\r\nblack src/ tests/\r\n```\r\n\r\n## Licencia\r\n\r\nEste proyecto est\u00e1 bajo la Licencia MIT. Ver el archivo [LICENSE](LICENSE) para m\u00e1s detalles.\r\n\r\n## Soporte\r\n\r\n- **Documentaci\u00f3n**: [GitHub](https://github.com/IA-Mexico/iamex)\r\n- **Issues**: [GitHub Issues](https://github.com/IA-Mexico/iamex/issues)\r\n- **Email**: hostmaster@iamex.io\r\n## Changelog\r\n\r\n### v0.0.3\r\n- \u2705 **ACTUALIZADO**: Versi\u00f3n del paquete a 0.0.3\r\n- \u2705 **NUEVO**: Par\u00e1metro opcional `max_tokens` en funci\u00f3n `send_prompt`\r\n- \u2705 **MEJORADO**: Control de longitud de respuestas del modelo\r\n- \u2705 **MEJORADO**: Endpoint real de iam-hub implementado\r\n- \u2705 **OPTIMIZADO**: Ejemplos actualizados con nueva funcionalidad\r\n- \u2705 **OPTIMIZADO**: Estructura de payload exacta para la API\r\n- \u2705 **DOCUMENTACI\u00d3N**: Gu\u00edas de uso para max_tokens\r\n\r\n### v0.0.2\r\n- \u2705 **NUEVO**: Funci\u00f3n simple `send_prompt(prompt, api_key, model)` para uso r\u00e1pido\r\n- \u2705 **NUEVO**: Soporte completo para autenticaci\u00f3n con API key\r\n- \u2705 **NUEVO**: Conexi\u00f3n directa al endpoint real de iam-hub\r\n- \u2705 **MEJORADO**: Estructura de payload exacta que espera la API\r\n- \u2705 **DOCUMENTACI\u00d3N**: Ejemplos actualizados con la nueva funcionalidad\r\n\r\n### v0.0.1\r\n- Versi\u00f3n inicial\r\n- Cliente b\u00e1sico para env\u00edo de prompts\r\n- Endpoint fijo para el modelo actual\r\n- Soporte para m\u00faltiples modelos de inferencia\r\n- Cliente `PromptClient` para uso avanzado\r\n- **Modelo por defecto**: `IAM-advanced`\r\n- **Par\u00e1metros optimizados** seg\u00fan la API\r\n\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Acceso unificado a m\u00faltiples modelos de inferencia AI",
    "version": "0.0.3",
    "project_urls": {
        "Bug Tracker": "https://github.com/IA-Mexico/iamex/issues",
        "Documentation": "https://github.com/IA-Mexico/iamex#readme",
        "Homepage": "https://github.com/IA-Mexico/iamex",
        "Repository": "https://github.com/IA-Mexico/iamex.git",
        "Source Code": "https://github.com/IA-Mexico/iamex"
    },
    "split_keywords": [
        "ai",
        " machine learning",
        " inference",
        " models",
        " iamex",
        " artificial intelligence"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "adcd85b04b60aa020b0706fb3cac73712400b3b61f84f7a10c8fb3b7718b8e8f",
                "md5": "77288529162431dfdd8c0ff78a83e130",
                "sha256": "ee35dc709840b0a4e700db4e3187a0d7784dea65765e50c015a8a595fc63345c"
            },
            "downloads": -1,
            "filename": "iamex-0.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "77288529162431dfdd8c0ff78a83e130",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 6952,
            "upload_time": "2025-09-07T16:48:33",
            "upload_time_iso_8601": "2025-09-07T16:48:33.680209Z",
            "url": "https://files.pythonhosted.org/packages/ad/cd/85b04b60aa020b0706fb3cac73712400b3b61f84f7a10c8fb3b7718b8e8f/iamex-0.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "80e6451cffe78b2f6d9e49bc0674b82801f71e28383ffa0b531ba4aee3b5f246",
                "md5": "7783266da204eb56f89bdb780bb4641c",
                "sha256": "6b995a1beb62f56ffa3619cc810f3a40cead42cf7bdee49b64ea4a2948e2fe64"
            },
            "downloads": -1,
            "filename": "iamex-0.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "7783266da204eb56f89bdb780bb4641c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 13528,
            "upload_time": "2025-09-07T16:48:34",
            "upload_time_iso_8601": "2025-09-07T16:48:34.528107Z",
            "url": "https://files.pythonhosted.org/packages/80/e6/451cffe78b2f6d9e49bc0674b82801f71e28383ffa0b531ba4aee3b5f246/iamex-0.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-07 16:48:34",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "IA-Mexico",
    "github_project": "iamex",
    "github_not_found": true,
    "lcname": "iamex"
}
        
Elapsed time: 2.14828s