Skip to main content

LunaVerseX Generative AI SDK for Python

Project description

lunaversex-genai

PyPI Version License Python Version

LunaVerseX Generative AI SDK for Python

SDK oficial de LunaVerseX para integrar capacidades de IA generativa en aplicaciones Python. Provee interfaces simples para chat, streaming, manejo de modelos y utilidades relacionadas.

📚 Documentación completa: docs.lunaversex.com/sdks/genai


🚀 Instalación

pip install lunaversex-genai

✨ Características

  • 🔹 Chat conversacional con soporte para múltiples modelos.
  • 🔹 Streaming de respuestas para baja latencia.
  • 🔹 Gestión de modelos disponibles.
  • 🔹 Generación de texto simple o con razonamiento.
  • 🔹 Extracción de uso de tokens.
  • 🔹 Tipado completo con soporte py.typed.

🧪 Modelos disponibles

Modelo ID Soporta Reasoning Descripción
Lumi o1 Mini lumi-o1-mini ✅ Sí Modelo compacto para tareas generales.
Lumi o1 lumi-o1 ❌ No Modelo equilibrado para uso general.
Lumi o1 Pro lumi-o1-pro ❌ No El modelo más creativo y sentimental.
Lumi o1 High lumi-o1-high ✅ Sí Razonamiento profundo y rápido, código, matemáticas.
Lumi o3 lumi-o3 ✅ Sí (Nativo) El modelo más avanzado de LunaVerseX.

🧩 Funciones y Clases Exportadas

Funciones Principales

  • genai.init(api_key: str, base_url: str = "https://api.lunaversex.com") Inicializa el SDK con la clave API.

  • genai.chat(messages: List[Message], options: ChatOptions) -> ChatResponse Envía un mensaje al modelo y recibe la respuesta completa.

  • genai.chatStream(messages: List[Message], options: ChatOptions) -> AsyncGenerator[StreamDelta, None] Envía un mensaje al modelo y recibe la respuesta en streaming.

  • genai.listModels() -> ModelsResponse Lista los modelos disponibles y sus características.

  • genai.generate(prompt: str, model: str = "lumi-o1") -> str Genera texto simple desde un prompt.

  • genai.generateWithReasoning(prompt: str, effort: str = "medium", model: str = "lumi-o1-mini") -> Tuple[str, Optional[Dict]] Genera texto incluyendo el proceso de razonamiento.

  • genai.tokens(response: ChatResponse) -> Usage Extrae información de tokens de una respuesta.

  • genai.close() Cierra las conexiones HTTP y libera recursos.


Clases y Tipos de Datos

  • Message – Representa un mensaje en la conversación.
  • ChatOptions – Configuraciones para una petición de chat.
  • ChatResponse – Respuesta completa de un chat.
  • StreamDelta – Fragmentos recibidos durante el streaming.
  • Model – Información de un modelo.
  • ModelsResponse – Contenedor con todos los modelos disponibles.
  • ReasoningConfig – Configuración de razonamiento para modelos.
  • ToolFunction – Definición de función/herramienta para el modelo.
  • FileAttachment – Archivos adjuntos a un mensaje.
  • Usage – Información de uso de tokens.
  • ChatChoice – Elección individual dentro de la respuesta de chat.

Excepciones

  • LunaVerseXError – Clase base para errores del SDK.
  • APIError – Errores relacionados con solicitudes HTTP o la API.
  • ValidationError – Error de validación en parámetros.
  • ConfigurationError – Error de configuración del SDK.
  • ModelNotFoundError – Modelo no encontrado o inválido.

🔧 Uso básico

Configuración global

from lunaversex-genai import genai

genai.init(api_key="your-api-key")

Chat básico

import asyncio
from lunaversex-genai import genai, Message, ChatOptions
genai.init(api_key="your-api-key")

async def run_chat():
    messages = [Message(role="user", content="Hola")]
    options = ChatOptions(model="lumi-o1")

    response = await genai.chat(messages, options)
    print("Respuesta:", response.choices[0].message.content)

    await genai.close()

asyncio.run(run_chat())

Streaming de chat

import asyncio
from lunaversex-genai import genai, Message, ChatOptions
genai.init(api_key="your-api-key")
async def run_stream():
    messages = [Message(role="user", content="Cuéntame una historia corta")]
    options = ChatOptions(model="lumi-o1-mini")

    async for delta in genai.chatStream(messages, options):
        if delta.type == "delta" and delta.content:
            print(delta.content, end="")
        elif delta.type == "end":
            print("\n[Fin del stream]")

    await genai.close()

asyncio.run(run_stream())

🔐 Seguridad

  • Nunca incluyas tu API Key directamente en el código fuente.
  • Usá variables de entorno (os.environ["LUNAVERSEX_API_KEY"]).
  • El SDK no guarda ni expone claves sensibles.

📜 Licencia

Este proyecto está bajo licencia Apache-2.0.


🧑‍💻 Autor

Desarrollado por LunaVerseX. Mantenido por Joaco Heredia.


📈 Changelog

v1.0.0 (2025-08-18)

  • 🎉 Lanzamiento inicial del SDK Python.
  • ✅ Implementación completa de genai con chat, streaming, manejo de modelos, generación con razonamiento y tokenización.
  • 📝 Documentación inicial con ejemplos de uso.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lunaversex_genai-1.0.1.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lunaversex_genai-1.0.1-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file lunaversex_genai-1.0.1.tar.gz.

File metadata

  • Download URL: lunaversex_genai-1.0.1.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for lunaversex_genai-1.0.1.tar.gz
Algorithm Hash digest
SHA256 5f87749b5287d93964e69034c498cba92e12fa05d7323c79749f5825c777d1c3
MD5 6a89f02b0a5e06a5ce7a82a57b17e075
BLAKE2b-256 67ed8cf03527c9481c0c5a507cc124d5dc7ab4f36f4463bce8cc3db5c5770ed5

See more details on using hashes here.

File details

Details for the file lunaversex_genai-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for lunaversex_genai-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 927b3c73b5f075895d70297aed4bc6ff046f89af9d346a8b5e83da70310562e9
MD5 b6aa4652da708505abb35e2262ebf58e
BLAKE2b-256 61509ba15fa26f85c1f6d8fb3e5f3af482161f76cb9ea273ab16e52a0d843104

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page