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 / 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'
@cbonesana
cbonesana / esperiment.py
Created August 5, 2022 09:37
Experimenting using multiprocessign and signals in python.
import time
import multiprocessing
import signal
from multiprocessing import Event
class W(multiprocessing.Process):
def __init__(self, i: int, event: Event) -> None:
super().__init__()
@cbonesana
cbonesana / shared_pointers.cpp
Created January 13, 2022 11:05
C++ Shared pointers
#include <iostream>
#include <memory>
#include <string>
// This is just an example object with a text field.
class Content {
public:
std::string txt;
Content(std::string txt) : txt(txt){};
};