Skip to main content

No project description provided

Project description

lumos

Simple utils for building AI apps. Available as python API and a server.

Local Dev

uv sync --dev && uv pip install -e .

Install

uv pip install git+https://github.com/lumiralabs/lumos

Start Server

docker-compose up

Python API

1. Structured Outputs

from lumos import lumos
from pydantic import BaseModel


class Response(BaseModel):
    steps: list[str]
    final_answer: str


lumos.call_ai(
    messages=[
        {"role": "system", "content": "You are a mathematician."},
        {"role": "user", "content": "What is 100 * 100?"},
    ],
    response_format=Response,
    model="gpt-4o-mini",
)
# Response(steps=['Multiply 100 by 100.', '100 * 100 = 10000.'], final_answer='10000')

2. Embeddings API

lumos.get_embedding("hello world")
#[0.12, ..., ..., 0.34]

3. Book Parser

python -m lumos.book.parser path/to/book.pdf
```python
from lumos import book_parser

book_parser.toc("path/to/book.pdf", level=2)
Table of Contents
├── Chapter 1. Introducing Asyncio (Pages: 1-8)
│   ├── The Restaurant of ThreadBots (Pages: 1-5)
│   ├── Epilogue (Pages: 6-5)
│   └── What Problem Is Asyncio Trying to Solve? (Pages: 6-8)
├── Chapter 2. The Truth About Threads (Pages: 9-20)
│   ├── Benefits of Threading (Pages: 10-10)
│   ├── Drawbacks of Threading (Pages: 11-13)
│   └── Case Study: Robots and Cutlery (Pages: 14-20)
├── Chapter 3. Asyncio Walk-Through (Pages: 21-74)
│   ├── Quickstart (Pages: 22-27)
│   ├── The Tower of Asyncio (Pages: 28-30)
│   ├── Coroutines (Pages: 31-36)
│   ├── Event Loop (Pages: 37-38)
│   ├── Tasks and Futures (Pages: 39-45)
│   ├── Async Context Managers: async with (Pages: 46-49)
│   ├── Async Iterators: async for (Pages: 50-52)
│   ├── Simpler Code with Async Generators (Pages: 53-54)
│   ├── Async Comprehensions (Pages: 55-56)
│   └── Starting Up and Shutting Down (Gracefully!) (Pages: 57-74)
├── Chapter 4. 20 Asyncio Libraries You Aren’t Using (But…Oh, Never Mind) (Pages: 75-128)
│   ├── Streams (Standard Library) (Pages: 76-87)
│   ├── Twisted (Pages: 88-90)
│   ├── The Janus Queue (Pages: 91-91)
│   ├── aiohttp (Pages: 92-97)
│   ├── ØMQ (ZeroMQ) (Pages: 98-109)
│   ├── asyncpg and Sanic (Pages: 110-125)
│   └── Other Libraries and Resources (Pages: 126-128)
└── Chapter 5. Concluding Thoughts (Pages: 129-130)

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

lumira_lumos-0.0.2.tar.gz (122.0 kB view details)

Uploaded Source

Built Distribution

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

lumira_lumos-0.0.2-py3-none-any.whl (34.6 kB view details)

Uploaded Python 3

File details

Details for the file lumira_lumos-0.0.2.tar.gz.

File metadata

  • Download URL: lumira_lumos-0.0.2.tar.gz
  • Upload date:
  • Size: 122.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.20

File hashes

Hashes for lumira_lumos-0.0.2.tar.gz
Algorithm Hash digest
SHA256 4860c82214c8c03b8272afe6cd37cae4e3c3efbae15a5ab85d28487bdac1e959
MD5 8f387de4782f262c0b3c839dbf35f583
BLAKE2b-256 9f0b7cae6afc1b9191c63d1df50b47cc3e63a8879c19540a5c464650060473ca

See more details on using hashes here.

File details

Details for the file lumira_lumos-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for lumira_lumos-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f0ba80748fe4ba0d2ec4d474397936b4bb5a56803d1a6c7bb434827c838031fe
MD5 34893410d51b4913d88f774195e34692
BLAKE2b-256 d4fd8d6f8d5832143e113d48ee7294cfc0601e14ac69c8a1b11a5d24ab9cf6ed

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