Add OpenAI and PostgreSQL credential management

- Implemented OpenAICredencial class for managing OpenAI API keys.
- Created OpenAICredencialModel and OpenAICredencialMapper for SQLAlchemy integration.
- Developed OpenAICredencialRepo for CRUD operations on OpenAI credentials.
- Established OpenAICliente class for interacting with OpenAI API.
- Introduced PostgresCredencial class for managing PostgreSQL connection details.
- Created PostgresCredencialModel and PostgresCredencialMapper for SQLAlchemy integration.
- Developed PostgresCredencialRepo for CRUD operations on PostgreSQL credentials.
- Added base connection class and PostgreSQL connection implementation.
- Included environment variable loading for sensitive data management.
This commit is contained in:
2025-05-05 23:54:17 +02:00
parent 7b6f525809
commit 613cd90662
56 changed files with 16237 additions and 131 deletions
+21
View File
@@ -0,0 +1,21 @@
class OpenAICredencial:
def __init__(self, titulo: str, api_key: str, organizacion: str = None):
"""
:param titulo: Nombre descriptivo para esta credencial.
:param api_key: Clave secreta de la API de OpenAI.
:param organizacion: (Opcional) ID de la organización asociada a la cuenta de OpenAI.
"""
self.titulo = titulo
self.api_key = api_key
self.organizacion = organizacion
def get_headers(self) -> dict:
"""
Retorna los encabezados necesarios para autenticar una petición HTTP a OpenAI.
"""
headers = {
"Authorization": f"Bearer {self.api_key}"
}
if self.organizacion:
headers["OpenAI-Organization"] = self.organizacion
return headers