File size: 1,306 Bytes
e9ae122
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import chromadb
from chromadb.config import Settings
from chromadb.api.client import Client
from datetime import datetime, timedelta

def initialize_client():
    """
    Inicializa y retorna un cliente persistente de ChromaDB,
    especificando la ruta de almacenamiento y configuraciones.
    """
    client = chromadb.PersistentClient(
        path="app/chromadb",
        settings=Settings(),
        tenant="default_tenant",
        database="default_database"
    )
    return client

def create_tenant(client, tenant_name):
    """
    Crea un tenant (espacio de trabajo) en ChromaDB.

    Parámetros:
    -----------
    client : Client
        Cliente de ChromaDB inicializado.
    tenant_name : str
        Nombre del tenant que se desea crear.
    """
    try:
        client.create_tenant(name=tenant_name)
        print(f"Tenant {tenant_name} creado con éxito.")
    except Exception as e:
        print(f"Error al crear tenant {tenant_name}: {e}")

def ensure_tenant(client, tenant_name):
    """
    Verifica si existe un tenant con el nombre dado y lo crea
    en caso de que no exista.
    """
    try:
        if not client.get_tenant(tenant_name):
            create_tenant(client, tenant_name)
    except Exception as e:
        print(f"Error al verificar tenant {tenant_name}: {e}")