{ "cells": [ { "cell_type": "code", "execution_count": 17, "id": "8e987804", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "from bs4 import BeautifulSoup\n", "from pathlib import Path\n", "from langchain_asi import ASI1ChatModel\n", "from langchain.prompts import PromptTemplate\n", "from langchain.text_splitter import RecursiveCharacterTextSplitter\n", "from langchain_core.chat_history import InMemoryChatMessageHistory\n", "from sentence_transformers import SentenceTransformer\n", "import numpy as np\n", "import faiss\n", "import tiktoken" ] }, { "cell_type": "code", "execution_count": null, "id": "6d6816f1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[INFO] Cargando HTML: 40189128365459.html\n", "[INFO] Cargando HTML: 39966850581523.html\n", "[INFO] Cargando HTML: 39963857357203.html\n", "[INFO] Cargando HTML: 39963841253523.html\n", "[INFO] Cargando HTML: 39961264166675.html\n", "[INFO] Cargando HTML: 39932614206611.html\n", "[INFO] Cargando HTML: 39829887387155.html\n", "[INFO] Cargando HTML: 39829291324307.html\n", "[INFO] Cargando HTML: 39786146478867.html\n", "[INFO] Cargando HTML: 39748021315987.html\n", "[INFO] Cargando HTML: 39619654011283.html\n", "[INFO] Cargando HTML: 39589568291219.html\n", "[INFO] Cargando HTML: 39589298164499.html\n", "[INFO] Cargando HTML: 39589019647635.html\n", "[INFO] Cargando HTML: 39576745987347.html\n", "[INFO] Cargando HTML: 39514756581523.html\n", "[INFO] Cargando HTML: 39365677097491.html\n", "[INFO] Cargando HTML: 39141677334163.html\n", "[INFO] Cargando HTML: 39078131720723.html\n", "[INFO] Cargando HTML: 39060976028051.html\n", "[INFO] Cargando HTML: 39040994751507.html\n", "[INFO] Cargando HTML: 39040435055891.html\n", "[INFO] Cargando HTML: 38923486021395.html\n", "[INFO] Cargando HTML: 38859234085395.html\n", "[INFO] Cargando HTML: 38711058613395.html\n", "[INFO] Cargando HTML: 38708474205971.html\n", "[INFO] Cargando HTML: 38677143617299.html\n", "[INFO] Cargando HTML: 38648623269139.html\n", "[INFO] Cargando HTML: 38648531873299.html\n", "[INFO] Cargando HTML: 38618479818643.html\n", "[INFO] Cargando HTML: 38557306509459.html\n", "[INFO] Cargando HTML: 38553286566291.html\n", "[INFO] Cargando HTML: 38553173118739.html\n", "[INFO] Cargando HTML: 38485635795731.html\n", "[INFO] Cargando HTML: 38413880029971.html\n", "[INFO] Cargando HTML: 38343687392915.html\n", "[INFO] Cargando HTML: 38041537882003.html\n", "[INFO] Cargando HTML: 38000423736723.html\n", "[INFO] Cargando HTML: 37994362933651.html\n", "[INFO] Cargando HTML: 37993420643475.html\n", "[INFO] Cargando HTML: 37993364359315.html\n", "[INFO] Cargando HTML: 37992602187411.html\n", "[INFO] Cargando HTML: 37992543405715.html\n", "[INFO] Cargando HTML: 37946192202387.html\n", "[INFO] Cargando HTML: 37613442543763.html\n", "[INFO] Cargando HTML: 37613257936403.html\n", "[INFO] Cargando HTML: 37610798987539.html\n", "[INFO] Cargando HTML: 37610763364883.html\n", "[INFO] Cargando HTML: 37510326206483.html\n", "[INFO] Cargando HTML: 37510033685139.html\n", "[INFO] Cargando HTML: 37105671334163.html\n", "[INFO] Cargando HTML: 36998536889491.html\n", "[INFO] Cargando HTML: 36988278008979.html\n", "[INFO] Cargando HTML: 36988161120787.html\n", "[INFO] Cargando HTML: 36643040536083.html\n", "[INFO] Cargando HTML: 36642692141459.html\n", "[INFO] Cargando HTML: 36642392893715.html\n", "[INFO] Cargando HTML: 36639896937363.html\n", "[INFO] Cargando HTML: 36627726731923.html\n", "[INFO] Cargando HTML: 36626734938515.html\n", "[INFO] Cargando HTML: 36552885055251.html\n", "[INFO] Cargando HTML: 36313381903123.html\n", "[INFO] Cargando HTML: 36079930184723.html\n", "[INFO] Cargando HTML: 36079741506835.html\n", "[INFO] Cargando HTML: 36079026282259.html\n", "[INFO] Cargando HTML: 36048425426323.html\n", "[INFO] Cargando HTML: 35882874120979.html\n", "[INFO] Cargando HTML: 35881663144467.html\n", "[INFO] Cargando HTML: 35881555120787.html\n", "[INFO] Cargando HTML: 35854456838291.html\n", "[INFO] Cargando HTML: 35850292575123.html\n", "[INFO] Cargando HTML: 35850161367443.html\n", "[INFO] Cargando HTML: 35849966928019.html\n", "[INFO] Cargando HTML: 35846186825875.html\n", "[INFO] Cargando HTML: 35845624247059.html\n", "[INFO] Cargando HTML: 35836577901203.html\n", "[INFO] Cargando HTML: 35835856723219.html\n", "[INFO] Cargando HTML: 35814547952531.html\n", "[INFO] Cargando HTML: 35814096006931.html\n", "[INFO] Cargando HTML: 35808764878739.html\n", "[INFO] Cargando HTML: 35808757190291.html\n", "[INFO] Cargando HTML: 35807972407827.html\n", "[INFO] Cargando HTML: 35801943875603.html\n", "[INFO] Cargando HTML: 35779425918227.html\n", "[INFO] Cargando HTML: 35778878531347.html\n", "[INFO] Cargando HTML: 35778767617555.html\n", "[INFO] Cargando HTML: 35777342792211.html\n", "[INFO] Cargando HTML: 35700904891411.html\n", "[INFO] Cargando HTML: 35700780325267.html\n", "[INFO] Cargando HTML: 35699315915539.html\n", "[INFO] Cargando HTML: 35691581485459.html\n", "[INFO] Cargando HTML: 35691121496467.html\n", "[INFO] Cargando HTML: 35687103993363.html\n", "[INFO] Cargando HTML: 35686986449299.html\n", "[INFO] Cargando HTML: 35686582021267.html\n", "[INFO] Cargando HTML: 35664182080659.html\n", "[INFO] Cargando HTML: 35653351769235.html\n", "[INFO] Cargando HTML: 35623710978451.html\n", "[INFO] Cargando HTML: 35618313226643.html\n", "[INFO] Cargando HTML: 35618113078163.html\n", "[INFO] Cargando HTML: 35613377432979.html\n", "[INFO] Cargando HTML: 35591254686739.html\n", "[INFO] Cargando HTML: 35591130295699.html\n", "[INFO] Cargando HTML: 35590933378579.html\n", "[INFO] Cargando HTML: 35590259288851.html\n", "[INFO] Cargando HTML: 35588556554003.html\n", "[INFO] Cargando HTML: 35587949490707.html\n", "[INFO] Cargando HTML: 35585525188115.html\n", "[INFO] Cargando HTML: 35581608013587.html\n", "[INFO] Cargando HTML: 35581135558291.html\n", "[INFO] Cargando HTML: 35580883054995.html\n", "[INFO] Cargando HTML: 35571442690451.html\n", "[INFO] Cargando HTML: 35571201471635.html\n", "[INFO] Cargando HTML: 35462032320147.html\n", "[INFO] Cargando HTML: 35461005563667.html\n", "[INFO] Cargando HTML: 35460010848915.html\n", "[INFO] Cargando HTML: 35460007067155.html\n", "[INFO] Cargando HTML: 35459839871635.html\n", "[INFO] Cargando HTML: 35458952911123.html\n", "[INFO] Cargando HTML: 35458510832019.html\n", "[INFO] Cargando HTML: 35449118352787.html\n", "[INFO] Cargando HTML: 35448586732947.html\n", "[INFO] Cargando HTML: 35447671927699.html\n", "[INFO] Cargando HTML: 35426473399187.html\n", "[INFO] Cargando HTML: 35426386337043.html\n", "[INFO] Cargando HTML: 35426376564243.html\n", "[INFO] Cargando HTML: 35425908955539.html\n", "[INFO] Cargando HTML: 35424566198547.html\n", "[INFO] Cargando HTML: 35423766137747.html\n", "[INFO] Cargando HTML: 35423391078163.html\n", "[INFO] Cargando HTML: 35418493387795.html\n", "[INFO] Cargando HTML: 35411417613459.html\n", "[INFO] Cargando HTML: 35410445436307.html\n", "[INFO] Cargando HTML: 35391325558931.html\n", "[INFO] Cargando HTML: 35391058604691.html\n", "[INFO] Cargando HTML: 35390338322323.html\n", "[INFO] Cargando HTML: 35390260235155.html\n", "[INFO] Cargando HTML: 35390051625747.html\n", "[INFO] Cargando HTML: 35387971295507.html\n", "[INFO] Cargando HTML: 35380234302611.html\n", "[INFO] Cargando HTML: 35377260640787.html\n", "[INFO] Cargando HTML: 35371517718291.html\n", "[INFO] Cargando HTML: 35371497209235.html\n", "[INFO] Cargando HTML: 35351148086035.html\n", "[INFO] Cargando HTML: 35350338542099.html\n", "[INFO] Cargando HTML: 35336075420435.html\n", "[INFO] Cargando HTML: 35335333882387.html\n", "[INFO] Cargando HTML: 35335085849107.html\n", "[INFO] Cargando HTML: 35335061917331.html\n", "[INFO] Cargando HTML: 35313660111251.html\n", "[INFO] Cargando HTML: 35303230711059.html\n", "[INFO] Cargando HTML: 35297916378259.html\n", "[INFO] Cargando HTML: 35232727471635.html\n", "[INFO] Cargando HTML: 35232605777427.html\n", "[INFO] Cargando HTML: 35231398489747.html\n", "[INFO] Cargando HTML: 35223635754515.html\n", "[INFO] Cargando HTML: 35223540435347.html\n", "[INFO] Cargando HTML: 35223396557459.html\n", "[INFO] Cargando HTML: 35200303178259.html\n", "[INFO] Cargando HTML: 35197719528979.html\n", "[INFO] Cargando HTML: 35196306262547.html\n", "[INFO] Cargando HTML: 35115103846803.html\n", "[INFO] Cargando HTML: 35115001698707.html\n", "[INFO] Cargando HTML: 35113177197075.html\n", "[INFO] Cargando HTML: 35111229067283.html\n", "[INFO] Cargando HTML: 35091408366867.html\n", "[INFO] Cargando HTML: 35085177130003.html\n", "[INFO] Cargando HTML: 35077693743507.html\n", "[INFO] Cargando HTML: 35074488270739.html\n", "[INFO] Cargando HTML: 35073660562707.html\n", "[INFO] Cargando HTML: 35072180352915.html\n", "[INFO] Cargando HTML: 35071851075219.html\n", "[INFO] Cargando HTML: 35071763920787.html\n", "[INFO] Cargando HTML: 35071185821715.html\n", "[INFO] Cargando HTML: 35071151966227.html\n", "[INFO] Cargando HTML: 35070838142611.html\n", "[INFO] Cargando HTML: 35070730086675.html\n", "[INFO] Cargando HTML: 35069984941587.html\n", "[INFO] Cargando HTML: 34995708080531.html\n", "[INFO] Cargando HTML: 34995557539219.html\n", "[INFO] Cargando HTML: 34968781545747.html\n", "[INFO] Cargando HTML: 34968640500755.html\n", "[INFO] Cargando HTML: 34967619671315.html\n", "[INFO] Cargando HTML: 34960609117587.html\n", "[INFO] Cargando HTML: 34960057706899.html\n", "[INFO] Cargando HTML: 34959756541331.html\n", "[INFO] Cargando HTML: 34959676275603.html\n", "[INFO] Cargando HTML: 34959618568083.html\n", "[INFO] Cargando HTML: 34953100070035.html\n", "[INFO] Cargando HTML: 34953041057043.html\n", "[INFO] Cargando HTML: 34952991052051.html\n", "[INFO] Cargando HTML: 34952754451219.html\n", "[INFO] Cargando HTML: 34952617549203.html\n", "[INFO] Cargando HTML: 34952535922579.html\n", "[INFO] Cargando HTML: 34932773318419.html\n", "[INFO] Cargando HTML: 34932509703571.html\n", "[INFO] Cargando HTML: 34932476159763.html\n", "[INFO] Cargando HTML: 34931899857299.html\n", "[INFO] Cargando HTML: 34931826399891.html\n", "[INFO] Cargando HTML: 34931791819795.html\n", "[INFO] Cargando HTML: 34925216992275.html\n", "[INFO] Cargando HTML: 34923347538707.html\n", "[INFO] Cargando HTML: 34917058926355.html\n", "[INFO] Cargando HTML: 34913853393299.html\n", "[INFO] Cargando HTML: 34896434099603.html\n", "[INFO] Cargando HTML: 34893345762707.html\n", "[INFO] Cargando HTML: 34893267341331.html\n", "[INFO] Cargando HTML: 34893129418771.html\n", "[INFO] Cargando HTML: 34891758843411.html\n", "[INFO] Cargando HTML: 34886532569747.html\n", "[INFO] Cargando HTML: 34886527670931.html\n", "[INFO] Cargando HTML: 34886510472467.html\n", "[INFO] Cargando HTML: 34886424579219.html\n", "[INFO] Cargando HTML: 34886188936723.html\n", "[INFO] Cargando HTML: 34880861801235.html\n", "[INFO] Cargando HTML: 34880625158931.html\n", "[INFO] Cargando HTML: 34880532023571.html\n", "[INFO] Cargando HTML: 34880396627347.html\n", "[INFO] Cargando HTML: 34880372828435.html\n", "[INFO] Cargando HTML: 34880340931091.html\n", "[INFO] Cargando HTML: 34879917376531.html\n", "[INFO] Cargando HTML: 34879108477203.html\n", "[INFO] Cargando HTML: 34879046771731.html\n", "[INFO] Cargando HTML: 34878946503315.html\n", "[INFO] Cargando HTML: 34878840865939.html\n", "[INFO] Cargando HTML: 34878835785491.html\n", "[INFO] Cargando HTML: 34860447746707.html\n", "[INFO] Cargando HTML: 34857505434387.html\n", "[INFO] Cargando HTML: 34857337468435.html\n", "[INFO] Cargando HTML: 34857065571219.html\n", "[INFO] Cargando HTML: 34856995591059.html\n", "[INFO] Cargando HTML: 34856927180051.html\n", "[INFO] Cargando HTML: 34856326757907.html\n", "[INFO] Cargando HTML: 34856276051219.html\n", "[INFO] Cargando HTML: 34856252095379.html\n", "[INFO] Cargando HTML: 34856176719891.html\n", "[INFO] Cargando HTML: 34856131189651.html\n", "[INFO] Cargando HTML: 34856062873363.html\n", "[INFO] Cargando HTML: 34767111968019.html\n", "[INFO] Cargando HTML: 34764993320979.html\n", "[INFO] Cargando HTML: 34764844533651.html\n", "[INFO] Cargando HTML: 34764749830291.html\n", "[INFO] Cargando HTML: 34764369716883.html\n", "[INFO] Cargando HTML: 34764320266643.html\n", "[INFO] Cargando HTML: 34758115392915.html\n", "[INFO] Cargando HTML: 34744305047699.html\n", "[INFO] Cargando HTML: 34744003829523.html\n", "[INFO] Cargando HTML: 34743903804947.html\n", "[INFO] Cargando HTML: 34743677475987.html\n", "[INFO] Cargando HTML: 34743581950995.html\n", "[INFO] Cargando HTML: 34743585736083.html\n", "[INFO] Cargando HTML: 34743144445843.html\n", "[INFO] Cargando HTML: 34742881357203.html\n", "[INFO] Cargando HTML: 34742175262483.html\n", "[INFO] Cargando HTML: 34741965379603.html\n", "[INFO] Cargando HTML: 34741845448083.html\n", "[INFO] Cargando HTML: 34741764917267.html\n", "[INFO] Cargando HTML: 34735720494867.html\n", "[INFO] Cargando HTML: 34734607602963.html\n", "[INFO] Cargando HTML: 34734559702163.html\n", "[INFO] Cargando HTML: 34734450261523.html\n", "[INFO] Cargando HTML: 34734385678355.html\n", "[INFO] Cargando HTML: 34734127251219.html\n", "[INFO] Cargando HTML: 34727492864403.html\n", "[INFO] Cargando HTML: 34727130563603.html\n", "[INFO] Cargando HTML: 34727050968979.html\n", "[INFO] Cargando HTML: 34727006029587.html\n", "[INFO] Cargando HTML: 34726898581011.html\n", "[INFO] Cargando HTML: 34726943765395.html\n", "[INFO] Cargando HTML: 34726248088211.html\n", "[INFO] Cargando HTML: 34710112722451.html\n", "[INFO] Cargando HTML: 34709939205907.html\n", "[INFO] Cargando HTML: 34709801248147.html\n", "[INFO] Cargando HTML: 34709598409491.html\n", "[INFO] Cargando HTML: 34709575359123.html\n", "[INFO] Cargando HTML: 34709052070163.html\n", "[INFO] Cargando HTML: 34708642047507.html\n", "[INFO] Cargando HTML: 34707750867219.html\n", "[INFO] Cargando HTML: 34706293402003.html\n", "[INFO] Cargando HTML: 34706120740627.html\n", "[INFO] Cargando HTML: 34706097516051.html\n", "[INFO] Cargando HTML: 34706073321107.html\n", "[INFO] Cargando HTML: 34705293535251.html\n", "[INFO] Cargando HTML: 34700374453523.html\n", "[INFO] Cargando HTML: 34700119031187.html\n", "[INFO] Cargando HTML: 34700048241683.html\n", "[INFO] Cargando HTML: 34699937238675.html\n", "[INFO] Cargando HTML: 34699896152979.html\n", "[INFO] Cargando HTML: 34699107010963.html\n", "[INFO] Cargando HTML: 34696955617427.html\n", "[INFO] Cargando HTML: 34696138631571.html\n", "[INFO] Cargando HTML: 34695991389075.html\n", "[INFO] Cargando HTML: 34695645402515.html\n", "[INFO] Cargando HTML: 34695590174483.html\n", "[INFO] Cargando HTML: 34694053333267.html\n", "[INFO] Cargando HTML: 34671238919827.html\n", "[INFO] Cargando HTML: 34671059604883.html\n", "[INFO] Cargando HTML: 34671028838035.html\n", "[INFO] Cargando HTML: 34671014535315.html\n", "[INFO] Cargando HTML: 34670993501971.html\n", "[INFO] Cargando HTML: 34670973265171.html\n", "[INFO] Cargando HTML: 34670244258579.html\n", "[INFO] Cargando HTML: 34670197669267.html\n", "[INFO] Cargando HTML: 34670139487379.html\n", "[INFO] Cargando HTML: 34670097934995.html\n", "[INFO] Cargando HTML: 34669494646803.html\n", "[INFO] Cargando HTML: 34669447194387.html\n", "[INFO] Cargando HTML: 34663545966995.html\n", "[INFO] Cargando HTML: 34663522947987.html\n", "[INFO] Cargando HTML: 34663481213075.html\n", "[INFO] Cargando HTML: 34663477009427.html\n", "[INFO] Cargando HTML: 34663444928659.html\n", "[INFO] Cargando HTML: 34663440048787.html\n", "[INFO] Cargando HTML: 34663144488083.html\n", "[INFO] Cargando HTML: 34663016823827.html\n", "[INFO] Cargando HTML: 34662970140051.html\n", "[INFO] Cargando HTML: 34662930520979.html\n", "[INFO] Cargando HTML: 34662579915923.html\n", "[INFO] Cargando HTML: 34661644118931.html\n", "[INFO] Cargando HTML: 34661610676627.html\n", "[INFO] Cargando HTML: 34660773741587.html\n", "[INFO] Cargando HTML: 34660732841491.html\n", "[INFO] Cargando HTML: 34660689606419.html\n", "[INFO] Cargando HTML: 34660654962707.html\n", "[INFO] Cargando HTML: 34655152977427.html\n", "[INFO] Cargando HTML: 34655130202515.html\n", "[INFO] Cargando HTML: 34655070343059.html\n", "[INFO] Cargando HTML: 34655051729555.html\n", "[INFO] Cargando HTML: 34655025051027.html\n", "[INFO] Cargando HTML: 34655025916307.html\n", "[INFO] Cargando HTML: 34654902990227.html\n", "[INFO] Cargando HTML: 34654836914323.html\n", "[INFO] Cargando HTML: 34654894247059.html\n", "[INFO] Cargando HTML: 34654844760723.html\n", "[INFO] Cargando HTML: 34654808807315.html\n", "[INFO] Cargando HTML: 34654710699795.html\n", "[INFO] Cargando HTML: 34654450120723.html\n", "[INFO] Cargando HTML: 34654402015763.html\n", "[INFO] Cargando HTML: 34654343999123.html\n", "[INFO] Cargando HTML: 34654281410835.html\n", "[INFO] Cargando HTML: 34654186786707.html\n", "[INFO] Cargando HTML: 34654132653459.html\n", "[INFO] Cargando HTML: 34634410103955.html\n", "[INFO] Cargando HTML: 34627069197587.html\n", "[INFO] Cargando HTML: 34550534218515.html\n", "[INFO] Cargando HTML: 34550538651667.html\n", "[INFO] Cargando HTML: 34550476703507.html\n", "[INFO] Cargando HTML: 34550489351187.html\n", "[INFO] Cargando HTML: 34550495534995.html\n", "[INFO] Cargando HTML: 34550466737171.html\n", "[INFO] Cargando HTML: 34550289010963.html\n", "[INFO] Cargando HTML: 34550223941907.html\n", "[INFO] Cargando HTML: 34550262326291.html\n", "[INFO] Cargando HTML: 34550214019347.html\n", "[INFO] Cargando HTML: 34550100753939.html\n", "[INFO] Cargando HTML: 34549413990803.html\n", "[INFO] Cargando HTML: 34549364558227.html\n", "[INFO] Cargando HTML: 34549308529555.html\n", "[INFO] Cargando HTML: 34549240096915.html\n", "[INFO] Cargando HTML: 34549180863507.html\n", "[INFO] Cargando HTML: 34542179461011.html\n", "[INFO] Cargando HTML: 34531340252819.html\n", "[INFO] Cargando HTML: 34434869370515.html\n", "[INFO] Cargando HTML: 34430870348819.html\n", "[INFO] Cargando HTML: 34396611940627.html\n", "[INFO] Cargando HTML: 34396088385299.html\n", "[INFO] Cargando HTML: 34268907612435.html\n", "[INFO] Cargando HTML: 34232515782035.html\n", "[INFO] Cargando HTML: 34162696851219.html\n", "[INFO] Cargando HTML: 34156581141907.html\n", "[INFO] Cargando HTML: 34084054474515.html\n", "[INFO] Cargando HTML: 34079238804627.html\n", "[INFO] Cargando HTML: 34056367312659.html\n", "[INFO] Cargando HTML: 34054569138707.html\n", "[INFO] Cargando HTML: 34046045170323.html\n", "[INFO] Cargando HTML: 34016607569043.html\n", "[INFO] Cargando HTML: 34000747482515.html\n", "[INFO] Cargando HTML: 33935222894483.html\n", "[INFO] Cargando HTML: 33933437462419.html\n", "[INFO] Cargando HTML: 33833495928723.html\n", "[INFO] Cargando HTML: 33819708167955.html\n", "[INFO] Cargando HTML: 33813637173907.html\n", "[INFO] Cargando HTML: 33807707888147.html\n", "[INFO] Cargando HTML: 33788729548691.html\n", "[INFO] Cargando HTML: 33788113486995.html\n", "[INFO] Cargando HTML: 33787728128147.html\n", "[INFO] Cargando HTML: 33779121239827.html\n", "[INFO] Cargando HTML: 33697228392211.html\n", "[INFO] Cargando HTML: 33612464966163.html\n", "[INFO] Cargando HTML: 33583385318291.html\n", "[INFO] Cargando HTML: 33567861688595.html\n", "[INFO] Cargando HTML: 33268717677075.html\n", "[INFO] Cargando HTML: 33262269297811.html\n", "[INFO] Cargando HTML: 33143268617107.html\n", "[INFO] Cargando HTML: 33143115990803.html\n", "[INFO] Cargando HTML: 33115149238675.html\n", "[INFO] Cargando HTML: 33112430365331.html\n", "[INFO] Cargando HTML: 32042674492819.html\n", "[INFO] Cargando HTML: 40406715785107.html\n", "[INFO] Cargando HTML: 39933116180755.html\n", "[INFO] Cargando HTML: 39829558126739.html\n", "[INFO] Cargando HTML: 39827036191379.html\n", "[INFO] Cargando HTML: 39796489783827.html\n", "[INFO] Cargando HTML: 39694092981651.html\n", "[INFO] Cargando HTML: 39685300414867.html\n", "[INFO] Cargando HTML: 39136771956627.html\n", "[INFO] Cargando HTML: 39108558783763.html\n", "[INFO] Cargando HTML: 39101302379923.html\n", "[INFO] Cargando HTML: 39069223445011.html\n", "[INFO] Cargando HTML: 38883722911635.html\n", "[INFO] Cargando HTML: 38711997872787.html\n", "[INFO] Cargando HTML: 38626407644691.html\n", "[INFO] Cargando HTML: 38610288786067.html\n", "[INFO] Cargando HTML: 38343788932883.html\n", "[INFO] Cargando HTML: 38193272994195.html\n", "[INFO] Cargando HTML: 36284651002259.html\n", "[INFO] Cargando HTML: 36276619063699.html\n", "[INFO] Cargando HTML: 35849025810195.html\n", "[INFO] Cargando HTML: 35143415648787.html\n", "[INFO] Cargando HTML: 34960861705107.html\n", "[INFO] Cargando HTML: 34661612489107.html\n", "[INFO] Cargando HTML: 34542581558035.html\n", "[INFO] Cargando HTML: 34542477416339.html\n", "[INFO] Cargando HTML: 34430637883411.html\n", "[INFO] Cargando HTML: 34397392368147.html\n", "[INFO] Cargando HTML: 34387368653075.html\n", "[INFO] Cargando HTML: 34241761952019.html\n", "[INFO] Cargando HTML: 34234466762643.html\n", "[INFO] Cargando HTML: 34229450305683.html\n", "[INFO] Cargando HTML: 34084063751571.html\n", "[INFO] Cargando HTML: 34056402920595.html\n", "[INFO] Cargando HTML: 34054632893843.html\n", "[INFO] Cargando HTML: 34016448490131.html\n", "[INFO] Cargando HTML: 34006547545491.html\n", "[INFO] Cargando HTML: 33933907371539.html\n", "[INFO] Cargando HTML: 33819807309331.html\n", "[INFO] Cargando HTML: 33788893716115.html\n", "[INFO] Cargando HTML: 33788347491731.html\n", "[INFO] Cargando HTML: 33739332052371.html\n", "[INFO] Cargando HTML: 33583680391571.html\n", "[INFO] Cargando HTML: 33573566637843.html\n", "[INFO] Cargando HTML: 33538677604371.html\n", "[INFO] Cargando HTML: 33375486729235.html\n", "[INFO] Cargando HTML: 33276537811475.html\n", "[INFO] Cargando HTML: 33264668315923.html\n", "[INFO] Cargando HTML: 40407015016979.html\n", "[INFO] Cargando HTML: 39829684451603.html\n", "[INFO] Cargando HTML: 39815570840467.html\n", "[INFO] Cargando HTML: 39141916132371.html\n", "[INFO] Cargando HTML: 39078409289747.html\n", "[INFO] Cargando HTML: 38921185294995.html\n", "[INFO] Cargando HTML: 38626595179667.html\n", "[INFO] Cargando HTML: 38612628943635.html\n", "[INFO] Cargando HTML: 38194704848403.html\n", "[INFO] Cargando HTML: 36393452702867.html\n", "[INFO] Cargando HTML: 36088986775955.html\n", "[INFO] Cargando HTML: 35157472460051.html\n", "[INFO] Cargando HTML: 34961591552531.html\n", "[INFO] Cargando HTML: 34736415261715.html\n", "[INFO] Cargando HTML: 34669979669779.html\n", "[INFO] Cargando HTML: 34545715855763.html\n", "[INFO] Cargando HTML: 34542796652051.html\n", "[INFO] Cargando HTML: 34454529145235.html\n", "[INFO] Cargando HTML: 34397695552403.html\n", "[INFO] Cargando HTML: 34396276325267.html\n", "[INFO] Cargando HTML: 34387568243603.html\n", "[INFO] Cargando HTML: 34245462977427.html\n", "[INFO] Cargando HTML: 34242978280851.html\n", "[INFO] Cargando HTML: 34241671708691.html\n", "[INFO] Cargando HTML: 34240966189587.html\n", "[INFO] Cargando HTML: 34084045440147.html\n", "[INFO] Cargando HTML: 34079248630931.html\n", "[INFO] Cargando HTML: 34056511464595.html\n", "[INFO] Cargando HTML: 34054866245523.html\n", "[INFO] Cargando HTML: 34007004981523.html\n", "[INFO] Cargando HTML: 33934354319379.html\n", "[INFO] Cargando HTML: 33826281796499.html\n", "[INFO] Cargando HTML: 33612000645907.html\n", "[INFO] Cargando HTML: 33566978138259.html\n", "[INFO] Cargando HTML: 33375898793107.html\n", "[INFO] Cargando HTML: 32129887268883.html\n", "[INFO] Cargando HTML: 39746713508755.html\n", "[INFO] Cargando HTML: 39569313855251.html\n", "[INFO] Cargando HTML: 39141362899859.html\n", "[INFO] Cargando HTML: 39102796717971.html\n", "[INFO] Cargando HTML: 38830560201747.html\n", "[INFO] Cargando HTML: 38612403508627.html\n", "[INFO] Cargando HTML: 36394608870803.html\n", "[INFO] Cargando HTML: 35621407978131.html\n", "[INFO] Cargando HTML: 35122949191187.html\n", "[INFO] Cargando HTML: 34736551046419.html\n", "[INFO] Cargando HTML: 34728034400403.html\n", "[INFO] Cargando HTML: 34700721829907.html\n", "[INFO] Cargando HTML: 34621998262291.html\n", "[INFO] Cargando HTML: 34543459289875.html\n", "[INFO] Cargando HTML: 34459642547091.html\n", "[INFO] Cargando HTML: 34387674623891.html\n", "[INFO] Cargando HTML: 34266862061843.html\n", "[INFO] Cargando HTML: 34241255491475.html\n", "[INFO] Cargando HTML: 33934535719059.html\n", "[INFO] Cargando HTML: 33836228618387.html\n", "[INFO] Cargando HTML: 33567834998803.html\n", "[INFO] Cargando HTML: 33376032437651.html\n", "[INFO] Cargando HTML: 33115870873747.html\n", "[INFO] Cargando HTML: 39715040536595.html\n", "[INFO] Cargando HTML: 39694828170643.html\n", "[INFO] Cargando HTML: 39137156485907.html\n", "[INFO] Cargando HTML: 38683639295635.html\n", "[INFO] Cargando HTML: 38553569078419.html\n", "[INFO] Cargando HTML: 36394940677651.html\n", "[INFO] Cargando HTML: 35122921075603.html\n", "[INFO] Cargando HTML: 34913958254355.html\n", "[INFO] Cargando HTML: 34737986346003.html\n", "[INFO] Cargando HTML: 34543693700371.html\n", "[INFO] Cargando HTML: 34455326616595.html\n", "[INFO] Cargando HTML: 34387838712851.html\n", "[INFO] Cargando HTML: 34270917108627.html\n", "[INFO] Cargando HTML: 33814639925523.html\n", "[INFO] Cargando HTML: 33779736315795.html\n", "[INFO] Cargando HTML: 33697141298707.html\n", "[INFO] Cargando HTML: 33376988547347.html\n", "[INFO] Cargando HTML: 33144209693971.html\n", "[INFO] Cargando HTML: 31450808194579.html\n", "[INFO] Cargando HTML: 39286483881107.html\n", "[INFO] Cargando HTML: 38613711697427.html\n", "[INFO] Cargando HTML: 37458862604819.html\n", "[INFO] Cargando HTML: 35571561052051.html\n", "[INFO] Cargando HTML: 35116449382035.html\n", "[INFO] Cargando HTML: 34738137743251.html\n", "[INFO] Cargando HTML: 34458417584403.html\n", "[INFO] Cargando HTML: 34388070335891.html\n", "[INFO] Cargando HTML: 34264926535187.html\n", "[INFO] Cargando HTML: 34003721741971.html\n", "[INFO] Cargando HTML: 33834899183891.html\n", "[INFO] Cargando HTML: 33817186455059.html\n", "[INFO] Cargando HTML: 33780288632723.html\n", "[INFO] Cargando HTML: 33377037938707.html\n", "[INFO] Cargando HTML: 39589809287059.html\n", "[INFO] Cargando HTML: 39362198592147.html\n", "[INFO] Cargando HTML: 38883584391059.html\n", "[INFO] Cargando HTML: 37122752537619.html\n", "[INFO] Cargando HTML: 34858983283347.html\n", "[INFO] Cargando HTML: 34738254085523.html\n", "[INFO] Cargando HTML: 34546854844947.html\n", "[INFO] Cargando HTML: 34388162738195.html\n", "[INFO] Cargando HTML: 33943679391891.html\n", "[INFO] Cargando HTML: 33787364875027.html\n", "[INFO] Cargando HTML: 33377175313299.html\n", "[INFO] Cargando HTML: 38612047766291.html\n", "[INFO] Cargando HTML: 34738351107091.html\n", "[INFO] Cargando HTML: 34459157793043.html\n", "[INFO] Cargando HTML: 34388274386195.html\n", "[INFO] Cargando HTML: 34016262228627.html\n", "[INFO] Cargando HTML: 33836289390867.html\n", "[INFO] Cargando HTML: 33817994311443.html\n", "[INFO] Cargando HTML: 33788197169555.html\n", "[INFO] Cargando HTML: 33618819855251.html\n", "[INFO] Cargando HTML: 33377205866259.html\n", "[INFO] Cargando HTML: 35614765549587.html\n", "[INFO] Cargando HTML: 34738397584531.html\n", "[INFO] Cargando HTML: 34389069165075.html\n", "[INFO] Cargando HTML: 33818648075283.html\n", "[INFO] Cargando HTML: 33789677305875.html\n", "[INFO] Cargando HTML: 33377300359443.html\n", "[INFO] Cargando HTML: 33278288769939.html\n", "[INFO] Cargando HTML: 33001066228627.html\n", "[INFO] Cargando HTML: 38446082136467.html\n", "[INFO] Cargando HTML: 34738476128659.html\n", "[INFO] Cargando HTML: 34661432077331.html\n", "[INFO] Cargando HTML: 34389089365907.html\n", "[INFO] Cargando HTML: 33943994922771.html\n", "[INFO] Cargando HTML: 33789762875923.html\n", "[INFO] Cargando HTML: 33612118503315.html\n", "[INFO] Cargando HTML: 33377333521043.html\n", "[INFO] Cargando HTML: 33346496147475.html\n", "[INFO] Cargando HTML: 35663998019091.html\n", "[INFO] Cargando HTML: 34738534225171.html\n", "[INFO] Cargando HTML: 34389311820691.html\n", "[INFO] Cargando HTML: 33825807062035.html\n", "[INFO] Cargando HTML: 33789898932371.html\n", "[INFO] Cargando HTML: 33627261499411.html\n", "[INFO] Cargando HTML: 33547744919827.html\n", "[INFO] Cargando HTML: 33377423538963.html\n", "[INFO] Cargando HTML: 34741609312915.html\n", "[INFO] Cargando HTML: 34727220522899.html\n", "[INFO] Cargando HTML: 34389356829075.html\n", "[INFO] Cargando HTML: 33826234105107.html\n", "[INFO] Cargando HTML: 33377651367059.html\n", "[INFO] Cargando HTML: 32134994731795.html\n", "[INFO] Cargando HTML: 34743105109267.html\n", "[INFO] Cargando HTML: 34389440919571.html\n", "[INFO] Cargando HTML: 33789448119443.html\n", "[INFO] Cargando HTML: 33618156976915.html\n", "[INFO] Cargando HTML: 33578538988563.html\n", "[INFO] Cargando HTML: 33377811747219.html\n", "[INFO] Cargando HTML: 34742555631891.html\n", "[INFO] Cargando HTML: 34389500386451.html\n", "[INFO] Cargando HTML: 33789522026131.html\n", "[INFO] Cargando HTML: 33377675620243.html\n", "[INFO] Cargando HTML: 33315338366611.html\n", "[INFO] Cargando HTML: 34850904301459.html\n", "[INFO] Cargando HTML: 34389567126931.html\n", "[INFO] Cargando HTML: 33790210651155.html\n", "[INFO] Cargando HTML: 33379356559379.html\n", "[INFO] Cargando HTML: 33378111231123.html\n", "[INFO] Cargando HTML: 34923245001875.html\n", "[INFO] Cargando HTML: 34389729760787.html\n", "[INFO] Cargando HTML: 33834483301267.html\n", "[INFO] Cargando HTML: 34742214985875.html\n", "[INFO] Cargando HTML: 34390362302867.html\n", "[INFO] Cargando HTML: 33833623272723.html\n", "[INFO] Cargando HTML: 34742099107987.html\n", "[INFO] Cargando HTML: 34390737180947.html\n", "[INFO] Cargando HTML: 33374230612499.html\n", "[INFO] Cargando HTML: 33150104193811.html\n", "[INFO] Cargando HTML: 34742048033939.html\n", "[INFO] Cargando HTML: 34391301451027.html\n", "[INFO] Cargando HTML: 33577442648339.html\n", "[INFO] Cargando HTML: 34923536831379.html\n", "[INFO] Cargando HTML: 34391512287379.html\n", "[INFO] Cargando HTML: 33377506601363.html\n", "[INFO] Cargando HTML: 33304713782675.html\n", "[INFO] Cargando HTML: 34391575257875.html\n", "[INFO] Cargando HTML: 33704617131923.html\n", "[INFO] Cargando HTML: 39188101072147.html\n", "[INFO] Cargando HTML: 39188307064595.html\n", "[INFO] Cargando HTML: 33835811278739.html\n", "[INFO] Cargando HTML: 33625842774931.html\n", "[INFO] Cargando HTML: 33834797627539.html\n", "[INFO] Cargando HTML: 33529182644755.html\n", "[INFO] Cargando HTML: 33511696540947.html\n", "[INFO] Cargando HTML: 33512960795795.html\n", "[INFO] Cargando HTML: 39786146478867.html\n", "[INFO] Cargando HTML: 39748021315987.html\n", "[INFO] Cargando HTML: 39619654011283.html\n", "[INFO] Cargando HTML: 39514756581523.html\n", "[INFO] Cargando HTML: 39078131720723.html\n", "[INFO] Cargando HTML: 39040435055891.html\n", "[INFO] Cargando HTML: 38859234085395.html\n", "[INFO] Cargando HTML: 38677143617299.html\n", "[INFO] Cargando HTML: 38648623269139.html\n", "[INFO] Cargando HTML: 38618479818643.html\n", "[INFO] Cargando HTML: 38557306509459.html\n", "[INFO] Cargando HTML: 38553286566291.html\n", "[INFO] Cargando HTML: 38553173118739.html\n", "[INFO] Cargando HTML: 36079930184723.html\n", "[INFO] Cargando HTML: 35613377432979.html\n", "[INFO] Cargando HTML: 35571442690451.html\n", "[INFO] Cargando HTML: 35424566198547.html\n", "[INFO] Cargando HTML: 35115103846803.html\n", "[INFO] Cargando HTML: 34758115392915.html\n", "[INFO] Cargando HTML: 34634410103955.html\n", "[INFO] Cargando HTML: 34542179461011.html\n", "[INFO] Cargando HTML: 34531340252819.html\n", "[INFO] Cargando HTML: 34434869370515.html\n", "[INFO] Cargando HTML: 34430870348819.html\n", "[INFO] Cargando HTML: 34046045170323.html\n", "[INFO] Cargando HTML: 33935222894483.html\n", "[INFO] Cargando HTML: 33933437462419.html\n", "[INFO] Cargando HTML: 33813637173907.html\n", "[INFO] Cargando HTML: 33787728128147.html\n", "[INFO] Cargando HTML: 33612464966163.html\n", "[INFO] Cargando HTML: 33143268617107.html\n", "[INFO] Cargando HTML: 33143115990803.html\n", "[INFO] Cargando HTML: 33115149238675.html\n", "[INFO] Cargando HTML: 33112430365331.html\n", "[INFO] Cargando HTML: 39796489783827.html\n", "[INFO] Cargando HTML: 39694092981651.html\n", "[INFO] Cargando HTML: 39685300414867.html\n", "[INFO] Cargando HTML: 39136771956627.html\n", "[INFO] Cargando HTML: 39108558783763.html\n", "[INFO] Cargando HTML: 39101302379923.html\n", "[INFO] Cargando HTML: 39069223445011.html\n", "[INFO] Cargando HTML: 38883722911635.html\n", "[INFO] Cargando HTML: 38610288786067.html\n", "[INFO] Cargando HTML: 35143415648787.html\n", "[INFO] Cargando HTML: 34542581558035.html\n", "[INFO] Cargando HTML: 34542477416339.html\n", "[INFO] Cargando HTML: 34430637883411.html\n", "[INFO] Cargando HTML: 34387368653075.html\n", "[INFO] Cargando HTML: 34241761952019.html\n", "[INFO] Cargando HTML: 34234466762643.html\n", "[INFO] Cargando HTML: 33933907371539.html\n", "[INFO] Cargando HTML: 33788347491731.html\n", "[INFO] Cargando HTML: 33739332052371.html\n", "[INFO] Cargando HTML: 33375486729235.html\n", "[INFO] Cargando HTML: 39815570840467.html\n", "[INFO] Cargando HTML: 39141916132371.html\n", "[INFO] Cargando HTML: 39078409289747.html\n", "[INFO] Cargando HTML: 38612628943635.html\n", "[INFO] Cargando HTML: 36088986775955.html\n", "[INFO] Cargando HTML: 35157472460051.html\n", "[INFO] Cargando HTML: 34545715855763.html\n", "[INFO] Cargando HTML: 34542796652051.html\n", "[INFO] Cargando HTML: 34454529145235.html\n", "[INFO] Cargando HTML: 34387568243603.html\n", "[INFO] Cargando HTML: 34242978280851.html\n", "[INFO] Cargando HTML: 34241671708691.html\n", "[INFO] Cargando HTML: 34240966189587.html\n", "[INFO] Cargando HTML: 33934354319379.html\n", "[INFO] Cargando HTML: 33375898793107.html\n", "[INFO] Cargando HTML: 39746713508755.html\n", "[INFO] Cargando HTML: 39569313855251.html\n", "[INFO] Cargando HTML: 39141362899859.html\n", "[INFO] Cargando HTML: 39102796717971.html\n", "[INFO] Cargando HTML: 38612403508627.html\n", "[INFO] Cargando HTML: 35122949191187.html\n", "[INFO] Cargando HTML: 34543459289875.html\n", "[INFO] Cargando HTML: 34459642547091.html\n", "[INFO] Cargando HTML: 34387674623891.html\n", "[INFO] Cargando HTML: 34241255491475.html\n", "[INFO] Cargando HTML: 33934535719059.html\n", "[INFO] Cargando HTML: 33115870873747.html\n", "[INFO] Cargando HTML: 39715040536595.html\n", "[INFO] Cargando HTML: 39694828170643.html\n", "[INFO] Cargando HTML: 39137156485907.html\n", "[INFO] Cargando HTML: 38553569078419.html\n", "[INFO] Cargando HTML: 35122921075603.html\n", "[INFO] Cargando HTML: 34913958254355.html\n", "[INFO] Cargando HTML: 34543693700371.html\n", "[INFO] Cargando HTML: 34387838712851.html\n", "[INFO] Cargando HTML: 33814639925523.html\n", "[INFO] Cargando HTML: 39286483881107.html\n", "[INFO] Cargando HTML: 38613711697427.html\n", "[INFO] Cargando HTML: 35116449382035.html\n", "[INFO] Cargando HTML: 34458417584403.html\n", "[INFO] Cargando HTML: 34388070335891.html\n", "[INFO] Cargando HTML: 34003721741971.html\n", "[INFO] Cargando HTML: 33817186455059.html\n", "[INFO] Cargando HTML: 39362198592147.html\n", "[INFO] Cargando HTML: 38883584391059.html\n", "[INFO] Cargando HTML: 34546854844947.html\n", "[INFO] Cargando HTML: 34388162738195.html\n", "[INFO] Cargando HTML: 33943679391891.html\n", "[INFO] Cargando HTML: 38612047766291.html\n", "[INFO] Cargando HTML: 34459157793043.html\n", "[INFO] Cargando HTML: 34388274386195.html\n", "[INFO] Cargando HTML: 34016262228627.html\n", "[INFO] Cargando HTML: 33817994311443.html\n", "[INFO] Cargando HTML: 34389069165075.html\n", "[INFO] Cargando HTML: 33818648075283.html\n", "[INFO] Cargando HTML: 34661432077331.html\n", "[INFO] Cargando HTML: 34389089365907.html\n", "[INFO] Cargando HTML: 33943994922771.html\n", "[INFO] Cargando HTML: 34389311820691.html\n", "[INFO] Cargando HTML: 33825807062035.html\n", "[INFO] Cargando HTML: 34389356829075.html\n", "[INFO] Cargando HTML: 33826234105107.html\n", "[INFO] Cargando HTML: 34389440919571.html\n", "[INFO] Cargando HTML: 34389500386451.html\n", "[INFO] Cargando HTML: 34389567126931.html\n", "[INFO] Cargando HTML: 34389729760787.html\n", "[INFO] Cargando HTML: 34390362302867.html\n", "[INFO] Cargando HTML: 34390737180947.html\n", "[INFO] Cargando HTML: 33374230612499.html\n", "[INFO] Cargando HTML: 34391301451027.html\n", "[INFO] Cargando HTML: 34391512287379.html\n", "[INFO] Cargando HTML: 33304713782675.html\n", "[INFO] Cargando HTML: 34391575257875.html\n", "[INFO] Cargando HTML: 39188101072147.html\n", "[INFO] Cargando HTML: 39188307064595.html\n", "Bienvenido. Pregunta lo que necesites sobre el sistema TMS. Escribe 'salir' para terminar.\n", "[INFO] Fragments recuperados de los siguientes HTML:\n", " - 35691581485459.html\n", " - 34546854844947.html\n", " - 34546854844947.html\n", " - 35881663144467.html\n", " - 34850904301459.html\n", "Daisy: En caso de siniestro (accidentes prevenibles causados por errores humanos), el transportista debe: \n", "1. **Reportar inmediatamente** el incidente a Fr8app. \n", "2. **Presentar la documentación requerida** en un plazo máximo de *24 horas* después del suceso. Aunque no se detallan los documentos específicos en los tutoriales, es crucial asegurar que todo esté en orden para agilizar el proceso. \n", "\n", "Recuerda: la prevención es clave. Si el operador cumple con las normas de seguridad (chaleco naranja, equipo adecuado, etc.), se reducen riesgos. ¡Tu seguridad y la carga son prioritarias! \n", "\n", "¿Necesitas ayuda con algún otro aspecto del proceso? 😊\n", "[INFO] Fragments recuperados de los siguientes HTML:\n", " - 35850292575123.html\n", " - 34430637883411.html\n", " - 34430637883411.html\n", " - 35850292575123.html\n", " - 34430637883411.html\n", "Daisy: El transportista debe actuar de la siguiente manera en caso de siniestro: \n", "1. **Garantizar la seguridad de la mercancía**: Asegurarse de que esté correctamente asegurada con candados o sellos (si es perecedera). \n", "2. **Notificar inmediatamente**: Informar sin demora a Fr8App sobre el siniestro (robos, accidentes, daños, etc.), incluyendo detalles de lo ocurrido. \n", "3. **Asumir responsabilidad**: Cubrir los daños o pérdidas de la mercancía según lo establecido, sin aplicar límites de responsabilidad. \n", "4. **Proteger equipos de terceros**: Si el siniestro afecta equipos ajenos, notificarlo y asumir los costos asociados (reparaciones, multas, etc.). \n", "\n", "¿Necesitas más detalles sobre algún paso en particular?\n", "Hasta luego.\n" ] } ], "source": [ "def tiktoken_len(text):\n", " return len(tiktoken.encoding_for_model(\"gpt-4\").encode(text))\n", "\n", "\n", "def load_html_docs(csv_path, html_dir=None):\n", " df = pd.read_csv(csv_path)\n", " base_path = Path(csv_path).parent if html_dir is None else Path(html_dir)\n", " documents = []\n", " for _, row in df.iterrows():\n", " html_path = base_path / row['File']\n", " if not html_path.exists():\n", " print(f\"[ADVERTENCIA] Archivo no encontrado: {html_path}\")\n", " continue\n", " with open(html_path, 'r', encoding='utf-8') as f:\n", " soup = BeautifulSoup(f.read(), 'html.parser')\n", " text = soup.get_text(separator=\"\\n\")\n", " print(f\"[INFO] Cargando HTML: {html_path.name}\")\n", " documents.append({\n", " \"title\": row.get(\"Title\", \"Sin título\"),\n", " \"author_id\": row.get(\"Author ID\", \"Desconocido\"),\n", " \"filename\": html_path.name,\n", " \"content\": text\n", " })\n", " return documents\n", "\n", "\n", "def process_documents(documents):\n", " splitter = RecursiveCharacterTextSplitter(\n", " chunk_size=300,\n", " chunk_overlap=50,\n", " length_function=tiktoken_len\n", " )\n", " all_chunks = []\n", " for doc in documents:\n", " chunks = splitter.create_documents([doc[\"content\"]])\n", " for chunk in chunks:\n", " chunk.metadata = doc\n", " all_chunks.extend(chunks)\n", " texts = [chunk.page_content for chunk in all_chunks]\n", " embedder = SentenceTransformer(\"all-MiniLM-L6-v2\")\n", " vectors = embedder.encode(texts)\n", " return vectors, all_chunks, embedder\n", "\n", "\n", "def build_faiss_index(vectors, chunks):\n", " if len(vectors) == 0:\n", " raise ValueError(\"No se generaron vectores. Verifica si los HTML contienen texto útil y fueron encontrados.\")\n", " dim = vectors[0].shape[0]\n", " index = faiss.IndexFlatL2(dim)\n", " index.add(np.array(vectors))\n", " chunk_lookup = {i: chunks[i] for i in range(len(chunks))}\n", " return index, chunk_lookup\n", "\n", "\n", "def get_context(query, embedder, index, chunk_lookup, top_k=5):\n", " q_vector = embedder.encode([query])\n", " scores, indices = index.search(np.array(q_vector), top_k)\n", " selected = [chunk_lookup[i] for i in indices[0]]\n", " #print(\"[INFO] Fragments recuperados de los siguientes HTML:\")\n", " #for doc in selected:\n", " # print(\" -\", doc.metadata.get(\"filename\", \"Desconocido\"))\n", " return \"\\n\\n\".join([doc.page_content for doc in selected])\n", "\n", "\n", "def create_agent_from_html(csv_path, html_dir):\n", " docs = load_html_docs(csv_path, html_dir)\n", " if len(docs) == 0:\n", " raise ValueError(\"No se cargaron documentos HTML. Verifica rutas y nombres en el CSV.\")\n", "\n", " vectors, chunks, embedder = process_documents(docs)\n", " index, chunk_lookup = build_faiss_index(vectors, chunks)\n", "\n", " llm = ASI1ChatModel(api_key=\"sk_0923d829d81c4736aba5d24d42f3912543347b72f8aa430ebe0f24aa30658887\")\n", " history = InMemoryChatMessageHistory()\n", "\n", " prompt = PromptTemplate(\n", " input_variables=[\"context\", \"question\", \"chat_history\"],\n", " template=\"\"\"\n", " Eres un asistente experto en el sistema TMS. Usa los siguientes tutoriales como referencia para resolver la pregunta del usuario.\n", "\n", " [TUTORIALES]\n", " {context}\n", "\n", " [CONVERSACIÓN ANTERIOR]\n", " {chat_history}\n", "\n", " [PREGUNTA]\n", " {question}\n", "\n", " Proporciona una respuesta clara, precisa y amigable.\n", " \"\"\"\n", " )\n", "\n", " return {\n", " \"llm\": llm,\n", " \"history\": history,\n", " \"prompt\": prompt,\n", " \"get_context\": lambda q: get_context(q, embedder, index, chunk_lookup)\n", " }\n", "\n", "\n", "# === DEMO INTERACTIVO ===\n", "\n", "if __name__ == \"__main__\":\n", " agent = create_agent_from_html(\"../../data/es-419/_log.csv\", None)\n", "\n", " print(\"Bienvenido. Pregunta lo que necesites sobre el sistema TMS. Escribe 'salir' para terminar.\")\n", " while True:\n", " user_input = input(\"\\nUsuario: \")\n", " if user_input.lower() in [\"salir\", \"exit\", \"quit\"]:\n", " print(\"Hasta luego.\")\n", " break\n", "\n", " context = agent[\"get_context\"](user_input)\n", " response = agent[\"llm\"].invoke(agent[\"prompt\"].format_prompt(\n", " context=context,\n", " question=user_input,\n", " chat_history=\"\"\n", " ).to_string())\n", "\n", " print(\"Daisy:\", response.content.strip())" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.8" } }, "nbformat": 4, "nbformat_minor": 5 }