From 61da645cf93526ae9bf8c7e68b49cadebd4025a4 Mon Sep 17 00:00:00 2001 From: Mongar28 Date: Tue, 25 Mar 2025 17:50:18 -0500 Subject: [PATCH] =?UTF-8?q?Se=20hace=20una=20depuraci=C3=B3n=20inicial=20d?= =?UTF-8?q?el=20proyecto?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- agents/app/data/catalog.db | Bin 20480 -> 0 bytes agents/app/data/orders.db | Bin 24576 -> 24576 bytes .../tools/orders/order_tools_2.py | 34 -------- agents/app/productos_tienda.xlsx | Bin 8742 -> 0 bytes agents/app/prueba_catalog.py | 82 ------------------ agents/app/prueba_llm.py | 20 ----- agents/app/rag/__init__.py | 0 agents/app/rag/embeddings.py | 10 --- agents/app/rag/llm.py | 17 ---- agents/app/rag/rag_chain.py | 46 ---------- agents/app/rag/retriever.py | 18 ---- agents/app/rag/split_docs.py | 42 --------- agents/app/rag/vectorstore.py | 48 ---------- agents/test_create_party.py | 27 ------ 14 files changed, 344 deletions(-) delete mode 100644 agents/app/data/catalog.db delete mode 100644 agents/app/productos_tienda.xlsx delete mode 100644 agents/app/prueba_catalog.py delete mode 100644 agents/app/prueba_llm.py delete mode 100644 agents/app/rag/__init__.py delete mode 100644 agents/app/rag/embeddings.py delete mode 100644 agents/app/rag/llm.py delete mode 100644 agents/app/rag/rag_chain.py delete mode 100644 agents/app/rag/retriever.py delete mode 100644 agents/app/rag/split_docs.py delete mode 100644 agents/app/rag/vectorstore.py delete mode 100644 agents/test_create_party.py diff --git a/agents/app/data/catalog.db b/agents/app/data/catalog.db deleted file mode 100644 index 3e71dcb294726749796643ebfa0ef62122266eb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20480 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 Kq@J1}oB9tH5rA_5 diff --git a/agents/app/data/orders.db b/agents/app/data/orders.db index 452d2b0871817e26df5ae37916fa224164387987..5e5b31fdd10dda3f2a18afa7eb9826d0e245da5b 100644 GIT binary patch delta 94 zcmZoTz}Rqrae_1>(?l6(Rwf3$WX6pt3;3BB1U3r>+~c1(L57Ws0SFLWUQ{k#SpaM4 B7fb*E literal 24576 zcmeI4PiQ1r9mlKsU;1BF%}jQtCzG8`%_g!5Ny)4K^?HRhJN67=lFV$T8;!6u)m^V= zOFG?|?&@J9D6HbT7Z0)u>unWeFT&zM5X6JHisHdl6a+;CPjlLXAYKGtbyxpMrn9`d zEHeCxR8m#%`+dLP`@HJvs$W6wzq0EGL~eC^M{XeN+y##3xzEZn$8m_R8M=;_1l>rD zcj#Y!X8XKN#C`g!UlgSOaOvV@PP`=juJ}OsE8Tf00e*l5C8%|00;nq{}%%H z(wWlcCVv>XjW+2&Y||%%dY?QTkWTaLZsz7eWxHCDtJ^Q{R^&6<^^SW)wy1OCYY&qP zrPWpb8ymwuyFHKe>a^RV{>*0TR9`a<@_Js57T=S1_N$fKl>_5qDu(>xPn+IsAs9Fa~?KO(_v-O;HqZS?$pvpb-z?(uQkC*HX!bh-gK8@JgbZa};` zeYURd>{aepxA*SJywsg(7~}6!#A4m%|xd3($dGycR!lyev)2lvf<@M zple33Iq7xryHZ}fBK&~vzybt-01yBIKmZ5;0U!VbfB+Bx0%HPxrdYeN9KI3Fa=MNQ zaSV)X#WPS#F?7vQT#QYn<&dUoTCFC*wyq+}FicHT{Z75<_JS8KXh<^^q$;W-t7aM5 zWnG*f5%J3J z9FvaccOFav=yDiPE33{EhjiyFsbS33QA`hcI&w9vv|6T0V6pa!6xDD%#b{wiaj<77x=nvK zEJITp?ws)aFSq6dH7Vq>X+9BDN9|;>_NnF3gR!n#W>Zs*MoVclT8?5MEksP`O84}J zWoxA65^O#>sr>psX1lh^no&m6S*6gULvN({A!2=m*lwtrj#`G&L=K(Smggysj#b6f z8Vw60lbB63XN)ITr-}6zcXjldYFf4%%(;U;j&@m=_#C%3Y_$&^cSfh8PfaG ztK*X#{sI9Y00e*l5C8%|00;m9AOHk_01$Wz39Kh;JWC}f6AD@CFzHapQank8LY9g{ zG8D4ZLlQ3}YdMypLiqlFZQ(bZ^jqoM(xG%id@TN0d?daoa>B2Kw}d-_So}lrJH^iz zuND4Y_+g=4K>2^?f1ZCMe>*Sc{+N3wSI@0xA7|gsKFWS3o1z`T0tA2n5C8%|00?|y z1j=g*TfSJiVL?D~zK>pUO&_{0*+t&6Q{ zYI53DKg zc=6&W=n9(`Tgk#tr{)WB%qlicnWf0gbQaQg(5K8|46}(bI%O7Oq-{EmbIM$dV>X@B zX%}Lc4Q!uE8|SHckzS!#p7`iTNP2fNQ8*XJYTGj>2+qc_VtwZHzzcD#jxPLYlCYH- zS(li`>Y()B_S{bQOI<4+$7kb(4@X~BRw|Cqv2q_ozGN()x$t3>XCjtQlinT0Gx?FP z#Ky&rzGuSs|7*FoIq{ZUP$KO%l|ol@`>H>Kp-Fh1b_e#00KY&2s}Lm zloTzhu$5wvwiZLJ>Z?OF%L83lu6aI&T2*fh)vR?Hd8lTqim3JqyP6g>o?}}pykDY2_*apVfSnifPZv#V(d}p!ixWJw_EnrB@>ab!VGG`K&C{zK7Vlx>-tR*(-q%ghww;elt|IbSw rar6fkAOHk_01yBIKmZ5;0U!VbfB+Bx0zlyDARzI{Ret8bJ+A!^+@{jQ diff --git a/agents/app/langgraph_tools/tools/orders/order_tools_2.py b/agents/app/langgraph_tools/tools/orders/order_tools_2.py index 62d2b07..63a5b2b 100644 --- a/agents/app/langgraph_tools/tools/orders/order_tools_2.py +++ b/agents/app/langgraph_tools/tools/orders/order_tools_2.py @@ -133,7 +133,6 @@ def search_sale_order(order_id: int): return response_sale - @tool def add_lines_to_order( order_id: int, product: str, unit: str, quantity: str, unitprice: str @@ -210,36 +209,3 @@ tools = [ add_lines_to_order, search_associate_party_to_contact_mechanism, ] - -# if __name__ == "__main__": -# # Crear una orden de venta -# party = 2573 -# pickup_location = "at_home" -# order_id = create_sale_order(party=party, pickup_location=pickup_location) -# print(f"\nOrden creada con ID: {order_id}") - -# # Agregar líneas a la orden -# product = "1" -# unit = "1" -# quantity = "3" -# unitprice = "15" - -# add_line_response = add_lines_to_order(order_id, product, unit, quantity, unitprice) -# print(f"\nRespuesta al agregar línea: {add_line_response.text}") - -# # Verificar la orden actualizada -# updated_order = search_sale_order(order_id) -# print(f"\nOrden actualizada: {updated_order.text}") - -# # Agregar otra línea a la orden -# product = "2" -# unit = "1" -# quantity = "3" -# unitprice = "15" - -# add_line_response = add_lines_to_order(order_id, product, unit, quantity, unitprice) -# print(f"\nRespuesta al agregar línea: {add_line_response.text}") - -# # Verificar la orden actualizada -# updated_order = search_sale_order(order_id) -# print(f"\nOrden actualizada: {updated_order.text}") diff --git a/agents/app/productos_tienda.xlsx b/agents/app/productos_tienda.xlsx deleted file mode 100644 index c84e42bfac4730990005c6e6a22ba798fb31fcad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8742 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 diff --git a/agents/app/prueba_catalog.py b/agents/app/prueba_catalog.py deleted file mode 100644 index dcadef7..0000000 --- a/agents/app/prueba_catalog.py +++ /dev/null @@ -1,82 +0,0 @@ -from seller.catalog_tools import CatalogTrytonTools -import json - -# result = json.dumps(response, indent=4) - -url = "http://192.168.0.25:8000" -key = "9a9ffc430146447d81e6698240199a4be2b0e774cb18474999d0f60e33b5b1eb1cfff9d9141346a98844879b5a9e787489c891ddc8fb45cc903b7244cab64fb1" -db = "tryton" -application_name = "sale_don_confiao" - - -catalog = CatalogTrytonTools(url, application_name, key, db) - -# Lista de los productos -print("=== Productos ===") - -response = catalog.list_products() - -products: str = "" - -for product in response: - id = product["id"] - name = product["name"] - id_unit_measurement = product["default_uom."]["id"] - products += f"- id: {id} - Nombre: {name} - ID Unidad de Medida: {id_unit_measurement}\n" - -print(products) - -# Precio del los productos -print("=== Precios de los productos ===") - -response = catalog.search_products("Arroz") -precios: str = "" - -for product in response: - id = product["id"] - name = product["name"] - precio = product["template."]["list_price"]["decimal"] - id_unit_measurement = product["default_uom."]["id"] - - precios += f"- id: {id} - Nombre: {name}: ${precio} - ID Unidad de Medida: {id_unit_measurement}\n" - -print(precios) - -# Revisar disponibilidad de los productos -# print("=== Disponibilidad de los productos ===") - -# response = catalog.search_products("Papa") -# disponibilidad: str = "" - -# for product in response: -# id = product["id"] -# name = product["name"] -# stock = product["quantity"] - -# disponibilidad += f"- id: {id} - Nombre: {name} - Stock: {stock}\n" - -# print(disponibilidad) - - - -# from langgraph_tools.tools.catalog.catalog_tools import ( -# list_products, -# search_products, -# check_price, -# ) - -# def test_catalog_functions(): -# print("=== Probando lista de productos ===") -# print(list_products()) -# print("\n") - -# print("=== Probando búsqueda de productos ===") -# print(search_products("Arroz")) -# print("\n") - -# print("=== Probando verificación de precio ===") -# print(check_price("Arroz")) -# print("\n") - -# if __name__ == "__main__": -# test_catalog_functions() \ No newline at end of file diff --git a/agents/app/prueba_llm.py b/agents/app/prueba_llm.py deleted file mode 100644 index 71e46dd..0000000 --- a/agents/app/prueba_llm.py +++ /dev/null @@ -1,20 +0,0 @@ -# from langchain_tools.llm import load_llm_openai -# import yaml -# -# with open("langgraph_tools/prompts.yaml", "r") as f: -# PROMPTS = yaml.safe_load(f) -# -# -# llm = load_llm_openai() -# query = "Necesito informacion sobre la tienda." -# prompt = PROMPTS["classifier"]["system"].format(query=query) -# -# response: dict = llm.invoke(prompt) -# -# print(response.content) - -from langgraph_tools.tools.general_info import get_link_page - - -link = get_link_page() -print(link) diff --git a/agents/app/rag/__init__.py b/agents/app/rag/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/agents/app/rag/embeddings.py b/agents/app/rag/embeddings.py deleted file mode 100644 index c3dde1f..0000000 --- a/agents/app/rag/embeddings.py +++ /dev/null @@ -1,10 +0,0 @@ -from dotenv import load_dotenv -from langchain_openai import OpenAIEmbeddings - - -def load_embeddins(): - load_dotenv() - # model = "text-embedding-ada-002" - model = "text-embedding-3-small" - - return OpenAIEmbeddings(model=model) diff --git a/agents/app/rag/llm.py b/agents/app/rag/llm.py deleted file mode 100644 index 5ddd254..0000000 --- a/agents/app/rag/llm.py +++ /dev/null @@ -1,17 +0,0 @@ -from dotenv import load_dotenv -from langchain_openai import ChatOpenAI - - -def load_llm_openai(): - load_dotenv() - # model = "gpt-3.5-turbo-0125" - # model = "gpt-4o" - model = "gpt-4o-mini" - - llm = ChatOpenAI( - model=model, - temperature=0.1, - max_tokens=2000, - ) - - return llm diff --git a/agents/app/rag/rag_chain.py b/agents/app/rag/rag_chain.py deleted file mode 100644 index 20134ae..0000000 --- a/agents/app/rag/rag_chain.py +++ /dev/null @@ -1,46 +0,0 @@ -from langchain.chains import create_history_aware_retriever -from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder -from langchain.chains import create_retrieval_chain -from langchain.chains.combine_documents import create_stuff_documents_chain - - -def create_rag_chain(llm, retriever): - contextualize_q_system_prompt = """ - Given a chat history and the latest user question \ - which might reference context in the chat history, - formulate a standalone question \ - which can be understood without the chat history. - Do NOT answer the question, \ - just reformulate it if needed and otherwise return it as is. - """ - contextualize_q_prompt = ChatPromptTemplate.from_messages( - [ - ("system", contextualize_q_system_prompt), - MessagesPlaceholder("chat_history"), - ("human", "{input}"), - ] - ) - history_aware_retriever = create_history_aware_retriever( - llm, retriever, contextualize_q_prompt - ) - - # ___________________Chain con el chat history_______________________- - qa_system_prompt = """ - You are an assistant for question-answering tasks. \ - Use the following pieces of retrieved context to answer the question. \ - If you don't know the answer, just say that you don't know. \ - The length of the answer should be sufficient to address - what is being asked, \ - meaning don't limit yourself in length.\ - {context}""" - qa_prompt = ChatPromptTemplate.from_messages( - [ - ("system", qa_system_prompt), - MessagesPlaceholder("chat_history"), - ("human", "{input}"), - ] - ) - question_answer_chain = create_stuff_documents_chain(llm, qa_prompt) - - return create_retrieval_chain( - history_aware_retriever, question_answer_chain) diff --git a/agents/app/rag/retriever.py b/agents/app/rag/retriever.py deleted file mode 100644 index e438cb5..0000000 --- a/agents/app/rag/retriever.py +++ /dev/null @@ -1,18 +0,0 @@ -from langchain_chroma import Chroma - - -def create_retriever(embeddings, persist_directory: str): - # Cargamos la vectorstore - # vectordb = Chroma.from_documents( - # persist_directory=st.session_state.persist_directory, - # Este es el directorio del la vs del docuemnto del usuario - # que se encuentra cargado en la session_state. - # embedding_function=embeddings, - # ) - vectordb = Chroma( - persist_directory=persist_directory, - embedding_function=embeddings, - ) - - # Creamos el retriver para que retorne los fragmentos mas relevantes. - return vectordb.as_retriever(search_kwargs={"k": 6}) diff --git a/agents/app/rag/split_docs.py b/agents/app/rag/split_docs.py deleted file mode 100644 index 35e665e..0000000 --- a/agents/app/rag/split_docs.py +++ /dev/null @@ -1,42 +0,0 @@ -from langchain_community.document_loaders.pdf import PyPDFLoader -from langchain.text_splitter import RecursiveCharacterTextSplitter -import os - - -# def load_split_docs(file_name: str) -> list: -# file_path: str = os.path.join("documents", "pdfs", file_name) -# loader = PyPDFLoader(file_path) -# docs: list = loader.load() -# chunk_size: int = 2000 -# chunk_overlap: int = 300 -# -# splitter = RecursiveCharacterTextSplitter( -# chunk_size=chunk_size, chunk_overlap=chunk_overlap -# ) -# docs_split: list = splitter.split_documents(docs) -# -# return docs_split - - -def load_split_docs(file_name: str) -> list: - # Obtener el directorio base del proyecto - base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) - - # Construir la ruta absoluta al PDF - file_path = os.path.join(base_dir, "documents", "pdfs", file_name) - - # Verificar si el archivo existe - if not os.path.exists(file_path): - print(f"Archivo no encontrado en: {file_path}") - raise FileNotFoundError(f"No se encontró el archivo en: {file_path}") - - loader = PyPDFLoader(file_path) - docs: list = loader.load() - - chunk_size: int = 2000 - chunk_overlap: int = 300 - splitter = RecursiveCharacterTextSplitter( - chunk_size=chunk_size, chunk_overlap=chunk_overlap - ) - docs_split: list = splitter.split_documents(docs) - return docs_split diff --git a/agents/app/rag/vectorstore.py b/agents/app/rag/vectorstore.py deleted file mode 100644 index 75f1d0e..0000000 --- a/agents/app/rag/vectorstore.py +++ /dev/null @@ -1,48 +0,0 @@ -from langchain_chroma import Chroma -import os - -# -# def create_vectorstore(docs_split: list, embeddings, file_name: str): -# db_name: str = file_name.replace(".pdf", "").replace(" ", "_").lower() -# persist_directory: str = f"embeddings/{db_name}" -# -# # Crear el directorio si no existe -# os.makedirs(persist_directory, exist_ok=True) -# -# # Siempre crear/actualizar el vectorstore -# vectordb = Chroma.from_documents( -# persist_directory=persist_directory, -# documents=docs_split, -# embedding=embeddings, -# ) -# -# return vectordb - - -def create_vectorstore(docs_split: list, embeddings, file_name: str): - # Obtener el directorio base del proyecto - base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) - - # Crear el nombre de la base de datos - db_name: str = file_name.replace(".pdf", "").replace(" ", "_").lower() - - # Construir la ruta absoluta para los embeddings - persist_directory: str = os.path.join(base_dir, "embeddings", db_name) - - # Crear el directorio si no existe - os.makedirs(persist_directory, exist_ok=True) - - # Debug log - print(f"Creando vectorstore en: {persist_directory}") - - try: - # Crear/actualizar el vectorstore - vectordb = Chroma.from_documents( - persist_directory=persist_directory, - documents=docs_split, - embedding=embeddings, - ) - return vectordb - except Exception as e: - print(f"Error al crear vectorstore: {e}") - raise diff --git a/agents/test_create_party.py b/agents/test_create_party.py deleted file mode 100644 index 0a1e2b7..0000000 --- a/agents/test_create_party.py +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env python3 -from app.langgraph_tools.tools.orders.order_tools_2 import create_party -import json - -# Prueba de la función create_party -def test_create_party(): - # Parámetros de ejemplo - party_full_name = "Cristian Garces" - contact_method_type = "email" - contact_method_value = "cristian.garces@example.com" - - # Llamar a la función - response = create_party( - party_full_name=party_full_name, - contact_method_type=contact_method_type, - contact_method_value=contact_method_value - ) - - # Imprimir la respuesta - print("Status Code:", response.status_code) - try: - print("Response:", json.loads(response.text)) - except json.JSONDecodeError: - print("Raw Response:", response.text) - -if __name__ == "__main__": - test_create_party()