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":
|