TomacGonz commited on
Commit
c4fea9e
verified
1 Parent(s): 18dfde2

Upload 7 files

Browse files
Files changed (8) hide show
  1. .gitattributes +2 -0
  2. db.sqlite3 +3 -0
  3. dockerfile +19 -0
  4. index.faiss +3 -0
  5. index.pkl +3 -0
  6. manage.py +22 -0
  7. requirements.txt +27 -0
  8. seed.py +57 -0
.gitattributes CHANGED
@@ -33,3 +33,5 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ db.sqlite3 filter=lfs diff=lfs merge=lfs -text
37
+ index.faiss filter=lfs diff=lfs merge=lfs -text
db.sqlite3 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:965ba20399acfb7a5f33412ff226322b2640f1f344f5173f5ae17a938209b875
3
+ size 151552
dockerfile ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.11-slim
2
+
3
+ RUN apt-get update && apt-get install -y \
4
+ build-essential \
5
+ libpq-dev \
6
+ && rm -rf /var/lib/apt/lists/*
7
+
8
+ WORKDIR /app
9
+
10
+ COPY requirements.txt .
11
+ RUN pip install --no-cache-dir -r requirements.txt
12
+
13
+ COPY . .
14
+
15
+ ENV PORT=7860
16
+ EXPOSE 7860
17
+
18
+ ENV PYTHONPATH=/app/backend
19
+ CMD ["gunicorn", "core.wsgi:application", "--bind", "0.0.0.0:7860", "--chdir", "/app/backend"]
index.faiss ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:705a256cb9f9ac5aa97c22bc5fc04c0cc6c2b454bcd183547712836a603e4483
3
+ size 228909
index.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d925361c7c5e3fbf59a6925864907ec8ae4820ab310154650f199b63ce57ea3e
3
+ size 196188
manage.py ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python
2
+ """Django's command-line utility for administrative tasks."""
3
+ import os
4
+ import sys
5
+
6
+
7
+ def main():
8
+ """Run administrative tasks."""
9
+ os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings')
10
+ try:
11
+ from django.core.management import execute_from_command_line
12
+ except ImportError as exc:
13
+ raise ImportError(
14
+ "Couldn't import Django. Are you sure it's installed and "
15
+ "available on your PYTHONPATH environment variable? Did you "
16
+ "forget to activate a virtual environment?"
17
+ ) from exc
18
+ execute_from_command_line(sys.argv)
19
+
20
+
21
+ if __name__ == '__main__':
22
+ main()
requirements.txt ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Django & Base
2
+ Django>=5.0
3
+ djangorestframework
4
+ django-cors-headers
5
+ python-dotenv
6
+ requests
7
+ gunicorn
8
+ whitenoise
9
+
10
+ # Google AI (Gemini & LangChain)
11
+ google-generativeai
12
+ langchain
13
+ langchain-community
14
+ langchain-google-genai
15
+
16
+ # Procesamiento de Im谩genes (Para el OCR)
17
+ Pillow
18
+
19
+ # RAG & Vectores (FAISS + HuggingFace)
20
+ faiss-cpu
21
+ langchain-huggingface
22
+ sentence-transformers
23
+ chromadb
24
+
25
+ # Motores de C谩lculo (Necesarios para CrossEncoder y Embeddings)
26
+ torch
27
+ numpy
seed.py ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import sys
3
+ import django
4
+ import random
5
+
6
+ sys.path.append(os.path.dirname(os.path.abspath(__file__)))
7
+
8
+ os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings')
9
+
10
+ try:
11
+ django.setup()
12
+ print("Conexi贸n exitosa")
13
+ except Exception as e:
14
+ print(f"Error: {e}")
15
+ sys.exit(1)
16
+
17
+ from api.models import Socio, Solicitud
18
+ from faker import Faker
19
+
20
+ fake = Faker('es_ES')
21
+
22
+ def run_seed():
23
+ print("Creando usuarios y pr茅stamos de prueba....")
24
+
25
+ barrios = ["San Vicente", "Sajonia", "Centro", "Lambar茅", "Villa Morra", "Trinidad"]
26
+
27
+ for i in range(50):
28
+ s = Socio.objects.create(
29
+ nombre=fake.first_name(),
30
+ apellido=fake.last_name(),
31
+ cedula=str(random.randint(500000, 7000000)),
32
+ telefono="0981" + str(random.randint(100000, 999999)),
33
+ ciudad="Asunci贸n",
34
+ barrio=random.choice(barrios),
35
+ direccion=f"Calle {fake.street_name()} {fake.building_number()}",
36
+ estado=random.choice(["Activo", "Pendiente"])
37
+ )
38
+
39
+ Solicitud.objects.create(
40
+ nombre=f"{s.nombre} {s.apellido}",
41
+ cedula=s.cedula,
42
+ monto=random.randint(5000000, 50000000),
43
+ plazo=random.choice([12, 24, 36, 48]),
44
+ cuota=random.randint(400000, 1500000),
45
+ ingresos=random.randint(4000000, 12000000),
46
+ gastos=random.randint(1000000, 4000000),
47
+ tipo_credito=random.choice(["Consumo", "Vivienda"]),
48
+ estado=random.choice(["Pendiente", "Aprobado", "Rechazado"])
49
+ )
50
+
51
+ if (i + 1) % 10 == 0:
52
+ print(f" - Procesados {i + 1}/50...")
53
+
54
+ print("Base de datos funciono correctamente")
55
+
56
+ if __name__ == "__main__":
57
+ run_seed()