Spaces:
Sleeping
Sleeping
Moisés Briseño Estrello
commited on
Commit
·
22acaeb
1
Parent(s):
c9ec934
Tags
Browse files- coder.py +0 -9
- IA.py → funciones.py +1 -8
- herramientas.py +28 -0
- main.py +26 -11
- operacionesIA.py +4 -10
coder.py
DELETED
|
@@ -1,9 +0,0 @@
|
|
| 1 |
-
import os
|
| 2 |
-
# from huggingface_hub import HfApi
|
| 3 |
-
|
| 4 |
-
# api = HfApi()
|
| 5 |
-
# secret_value = api.get_repo_secret(repo_id="moibe/nowme", secret_name="llave")
|
| 6 |
-
|
| 7 |
-
api_key = os.getenv("llave")
|
| 8 |
-
|
| 9 |
-
print(f"El valor de mi secreto es: {api_key}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IA.py → funciones.py
RENAMED
|
@@ -1,13 +1,6 @@
|
|
| 1 |
-
#import bridges
|
| 2 |
-
from openai import OpenAI
|
| 3 |
-
import operacionesIA
|
| 4 |
import asistente
|
| 5 |
-
import
|
| 6 |
-
|
| 7 |
-
buzz = os.getenv("buzz")
|
| 8 |
-
#print("Esto es llave: ", buzz)
|
| 9 |
|
| 10 |
-
client = OpenAI(api_key=buzz)
|
| 11 |
|
| 12 |
def getMacronutrientes(prompt):
|
| 13 |
return operacionesIA.consulta(asistente.macronutrientes, prompt)
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
import asistente
|
| 2 |
+
import operacionesIA
|
|
|
|
|
|
|
|
|
|
| 3 |
|
|
|
|
| 4 |
|
| 5 |
def getMacronutrientes(prompt):
|
| 6 |
return operacionesIA.consulta(asistente.macronutrientes, prompt)
|
herramientas.py
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os
|
| 2 |
+
import socket
|
| 3 |
+
from openai import OpenAI
|
| 4 |
+
|
| 5 |
+
def obtenClienteOpenAI():
|
| 6 |
+
if local_check():
|
| 7 |
+
print("Estoy en LOCAL...")
|
| 8 |
+
import bridges
|
| 9 |
+
buzz = bridges.buzz
|
| 10 |
+
llave = bridges.llave
|
| 11 |
+
else:
|
| 12 |
+
print("Estoy en REMOTO...")
|
| 13 |
+
buzz = os.getenv("buzz")
|
| 14 |
+
llave = os.getenv("llave")
|
| 15 |
+
|
| 16 |
+
client = OpenAI(api_key=buzz)
|
| 17 |
+
return client
|
| 18 |
+
|
| 19 |
+
def local_check():
|
| 20 |
+
|
| 21 |
+
hostname = socket.gethostname()
|
| 22 |
+
|
| 23 |
+
if hostname == 'nombre_del_servidor':
|
| 24 |
+
print("Ejecutando en el servidor")
|
| 25 |
+
return False
|
| 26 |
+
else:
|
| 27 |
+
print("Ejecutando en local")
|
| 28 |
+
return True
|
main.py
CHANGED
|
@@ -1,29 +1,44 @@
|
|
|
|
|
| 1 |
from fastapi import FastAPI
|
| 2 |
-
import IA
|
| 3 |
|
| 4 |
app = FastAPI()
|
| 5 |
|
| 6 |
#1.- Obtener distribución macronutrientes.
|
| 7 |
-
@app.post(
|
|
|
|
|
|
|
|
|
|
| 8 |
async def macronutrientes(prompt: str):
|
| 9 |
-
return
|
| 10 |
|
| 11 |
#2.- Obtener distribución comidas.
|
| 12 |
-
@app.post(
|
|
|
|
|
|
|
|
|
|
| 13 |
async def comidas(prompt: str):
|
| 14 |
-
return
|
| 15 |
|
| 16 |
#3.- Obtener lista alimentos.
|
| 17 |
-
@app.post(
|
|
|
|
|
|
|
|
|
|
| 18 |
async def lista_alimentos(prompt: str):
|
| 19 |
-
return
|
| 20 |
|
| 21 |
#4.- Obtener receta.
|
| 22 |
-
@app.post(
|
|
|
|
|
|
|
|
|
|
| 23 |
async def receta(prompt: str):
|
| 24 |
-
return
|
| 25 |
|
| 26 |
#5.- Sustituir alimento.
|
| 27 |
-
@app.post(
|
|
|
|
|
|
|
|
|
|
| 28 |
async def sustituir_alimento(prompt: str):
|
| 29 |
-
return
|
|
|
|
| 1 |
+
import funciones
|
| 2 |
from fastapi import FastAPI
|
|
|
|
| 3 |
|
| 4 |
app = FastAPI()
|
| 5 |
|
| 6 |
#1.- Obtener distribución macronutrientes.
|
| 7 |
+
@app.post(
|
| 8 |
+
"/macronutrientes/",
|
| 9 |
+
tags=["Nutrición"],
|
| 10 |
+
summary="1.- Obtener Distribución de Macronutrientes")
|
| 11 |
async def macronutrientes(prompt: str):
|
| 12 |
+
return funciones.getMacronutrientes(prompt)
|
| 13 |
|
| 14 |
#2.- Obtener distribución comidas.
|
| 15 |
+
@app.post(
|
| 16 |
+
"/comidas/",
|
| 17 |
+
tags=["Nutrición"],
|
| 18 |
+
summary="2.- Obtener Distribución de Comidas Durante el Día")
|
| 19 |
async def comidas(prompt: str):
|
| 20 |
+
return funciones.getComidas(prompt)
|
| 21 |
|
| 22 |
#3.- Obtener lista alimentos.
|
| 23 |
+
@app.post(
|
| 24 |
+
"/lista_alimentos/",
|
| 25 |
+
tags=["Nutrición"],
|
| 26 |
+
summary="Nutrición: 3.- Obtener Alimentos para una Comida")
|
| 27 |
async def lista_alimentos(prompt: str):
|
| 28 |
+
return funciones.getAlimentos(prompt)
|
| 29 |
|
| 30 |
#4.- Obtener receta.
|
| 31 |
+
@app.post(
|
| 32 |
+
"/receta/",
|
| 33 |
+
tags=["Nutrición"],
|
| 34 |
+
summary="Nutrición: 4.- Generar Receta para una Comida")
|
| 35 |
async def receta(prompt: str):
|
| 36 |
+
return funciones.getReceta(prompt)
|
| 37 |
|
| 38 |
#5.- Sustituir alimento.
|
| 39 |
+
@app.post(
|
| 40 |
+
"/sustituir_alimento/",
|
| 41 |
+
tags=["Nutrición"],
|
| 42 |
+
summary="Nutrición: 5.- Sustituir alimento ")
|
| 43 |
async def sustituir_alimento(prompt: str):
|
| 44 |
+
return funciones.getSustitucion(prompt)
|
operacionesIA.py
CHANGED
|
@@ -1,13 +1,7 @@
|
|
| 1 |
-
#import bridges
|
| 2 |
-
from openai import OpenAI
|
| 3 |
import time
|
| 4 |
-
import
|
| 5 |
-
import os
|
| 6 |
|
| 7 |
-
|
| 8 |
-
print("Esto es llave: ", buzz)
|
| 9 |
-
|
| 10 |
-
client = OpenAI(api_key=buzz)
|
| 11 |
|
| 12 |
def consulta(asistente, prompt):
|
| 13 |
thread = preparaPregunta(prompt)
|
|
@@ -33,7 +27,7 @@ def ejecutaLlamado(thread, asistente):
|
|
| 33 |
assistant_id=asistente
|
| 34 |
)
|
| 35 |
|
| 36 |
-
#
|
| 37 |
while True:
|
| 38 |
run_status = client.beta.threads.runs.retrieve(
|
| 39 |
thread_id=thread.id,
|
|
@@ -43,7 +37,7 @@ def ejecutaLlamado(thread, asistente):
|
|
| 43 |
break
|
| 44 |
time.sleep(2) # 🔄 Espera 2 segundos antes de revisar de nuevo
|
| 45 |
|
| 46 |
-
#
|
| 47 |
messages = client.beta.threads.messages.list(thread_id=thread.id)
|
| 48 |
for msg in messages.data:
|
| 49 |
if msg.role == "assistant":
|
|
|
|
|
|
|
|
|
|
| 1 |
import time
|
| 2 |
+
import herramientas
|
|
|
|
| 3 |
|
| 4 |
+
client = herramientas.obtenClienteOpenAI()
|
|
|
|
|
|
|
|
|
|
| 5 |
|
| 6 |
def consulta(asistente, prompt):
|
| 7 |
thread = preparaPregunta(prompt)
|
|
|
|
| 27 |
assistant_id=asistente
|
| 28 |
)
|
| 29 |
|
| 30 |
+
#Esperar a que el asistente termine de procesar
|
| 31 |
while True:
|
| 32 |
run_status = client.beta.threads.runs.retrieve(
|
| 33 |
thread_id=thread.id,
|
|
|
|
| 37 |
break
|
| 38 |
time.sleep(2) # 🔄 Espera 2 segundos antes de revisar de nuevo
|
| 39 |
|
| 40 |
+
#Obtener la respuesta del asistente
|
| 41 |
messages = client.beta.threads.messages.list(thread_id=thread.id)
|
| 42 |
for msg in messages.data:
|
| 43 |
if msg.role == "assistant":
|