LunaVerseX Generative AI SDK for Python
Project description
lunaversex-genai
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) -> ChatResponseEnví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() -> ModelsResponseLista los modelos disponibles y sus características. -
genai.generate(prompt: str, model: str = "lumi-o1") -> strGenera 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) -> UsageExtrae 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
genaicon chat, streaming, manejo de modelos, generación con razonamiento y tokenización. - 📝 Documentación inicial con ejemplos de uso.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters