Skip to content

Instantly share code, notes, and snippets.

View cbonesana's full-sized avatar
👾
bip bip bip

Claudio Bonesana cbonesana

👾
bip bip bip
View GitHub Profile
@cbonesana
cbonesana / streams.py
Created September 9, 2025 14:37
FastAPI streaming proxy example with support for streaming responses.
"""Execute as a normal script, or subdivided using uvicorn:
Together:
python streams.py
GENERATOR:
uvicorn idk:app_gen --host localhost --port 8000
PROXY:
uvicorn idk:app_proxy --host localhost --port 7000
CLIENT:
@cbonesana
cbonesana / proxy_example.py
Created September 9, 2025 13:15
FastAPI streaming proxy example
"""Launch this script directly or launche the three components separately using uvicorn."""
from typing import AsyncGenerator, Any
from fastapi import FastAPI
from fastapi.responses import StreamingResponse
from fastapi.requests import Request
from httpx import AsyncClient
from pydantic import BaseModel
import asyncio
@cbonesana
cbonesana / semantic_entropy.py
Created March 24, 2025 10:07
Semantic entropy for LLM hallucination detection.
# %%
from openai import AsyncOpenAI
from openai.types.chat import ChatCompletion
from dotenv import load_dotenv
from tqdm.asyncio import tqdm as atqdm
import asyncio
import os
import nest_asyncio
import yaml
version: 1
disable_existing_loggers: true
formatters:
standard_formatter:
format: "%(asctime)s %(levelname)7s %(name)s: %(message)s"
datefmt: "%Y-%m-%d %H:%M:%S"
handlers:
console:
formatter: standard_formatter
@cbonesana
cbonesana / serialize_pydantic_numpy.py
Created February 28, 2025 13:34
Perform serialization of pydantic objects that contains numpy arrays.
from numpy.typing import NDArray
from pydantic import BaseModel, BeforeValidator, ConfigDict, PlainSerializer
from typing_extensions import Annotated
import json
import numpy as np
# define serializers and validator
def nd_array_custom_before_validator(x: list[float]) -> NDArray[np.float32]:
@cbonesana
cbonesana / Dockerfile
Created June 11, 2024 21:32
Federated Learning is just a glorified chat
FROM python:3.12.3
RUN pip install \
pandas \
scikit-learn \
fastapi \
aiofiles
@cbonesana
cbonesana / main.py
Created October 19, 2023 20:39
Pydantic and how to manage subclasses
from typing import Any
from pydantic import BaseModel, root_validator
import json
# this dictionary will collect all classes constructors
class_registry: dict[str, Any] = dict()
# base class
class Creature(BaseModel):
@cbonesana
cbonesana / main.py
Created September 28, 2023 14:02
Run ray multi threading with sqlalchemy and sqlite database, in python.
from sqlalchemy import create_engine
from sqlalchemy import select, insert, func
from tables import Base, Record
from time import time
import ray
import uuid
@cbonesana
cbonesana / resources.py
Created March 7, 2023 12:41
Producer and consumer using python, with KeyboardInterrupt ctrl+c
from multiprocessing import Queue, Process
import random
import time
import signal
stop_sentinel = "STOP"
@cbonesana
cbonesana / pydantic_enum.py
Last active October 3, 2022 14:04
Working with string enums and pydantic objects in python
from pydantic import BaseModel
from enum import Enum
import json
class Season(str, Enum):
SPRING = 'spring'
SUMMER = 'summer'
AUTUMN = 'autumn'