2026-06-22 03:00:15 [scrapy.utils.log] INFO: Scrapy 2.12.0 started (bot: SwiggyReviewData) 2026-06-22 03:00:15 [scrapy.utils.log] INFO: Versions: lxml 6.0.2.0, libxml2 2.14.6, cssselect 1.3.0, parsel 1.10.0, w3lib 2.3.1, Twisted 25.5.0, Python 3.12.3 (main, Mar 23 2026, 19:04:32) [GCC 13.3.0], pyOpenSSL 25.1.0 (OpenSSL 3.5.2 5 Aug 2025), cryptography 45.0.6, Platform Linux-6.17.0-1013-aws-x86_64-with-glibc2.39 2026-06-22 03:00:15 [scrapy.addons] INFO: Enabled addons: [] 2026-06-22 03:00:15 [asyncio] DEBUG: Using selector: EpollSelector 2026-06-22 03:00:15 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor 2026-06-22 03:00:15 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop 2026-06-22 03:00:15 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor 2026-06-22 03:00:15 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop 2026-06-22 03:00:15 [scrapy.extensions.telnet] INFO: Telnet Password: ee8a7659a12c0388 2026-06-22 03:00:15 [scrapy.middleware] INFO: Enabled extensions: ['scrapy.extensions.corestats.CoreStats', 'scrapy.extensions.telnet.TelnetConsole', 'scrapy.extensions.memusage.MemoryUsage', 'scrapy.extensions.logstats.LogStats'] 2026-06-22 03:00:15 [scrapy.crawler] INFO: Overridden settings: {'BOT_NAME': 'SwiggyReviewData', 'FEED_EXPORT_ENCODING': 'utf-8', 'LOG_FILE': '/home/ubuntu/logs/SwiggyReviewData/swiggy_review_data/7afb64496de611f1b61b0aab37b1cebd.log', 'NEWSPIDER_MODULE': 'SwiggyReviewData.spiders', 'SPIDER_MODULES': ['SwiggyReviewData.spiders'], 'TWISTED_REACTOR': 'twisted.internet.asyncioreactor.AsyncioSelectorReactor'} 2026-06-22 03:00:15 [scrapy.middleware] INFO: Enabled downloader middlewares: ['scrapy.downloadermiddlewares.offsite.OffsiteMiddleware', 'scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware', 'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware', 'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware', 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware', 'scrapy.downloadermiddlewares.retry.RetryMiddleware', 'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware', 'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware', 'scrapy.downloadermiddlewares.redirect.RedirectMiddleware', 'scrapy.downloadermiddlewares.cookies.CookiesMiddleware', 'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware', 'scrapy.downloadermiddlewares.stats.DownloaderStats'] 2026-06-22 03:00:15 [scrapy.middleware] INFO: Enabled spider middlewares: ['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware', 'scrapy.spidermiddlewares.referer.RefererMiddleware', 'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware', 'scrapy.spidermiddlewares.depth.DepthMiddleware'] 2026-06-22 03:00:16 [scrapy.middleware] INFO: Enabled item pipelines: ['SwiggyReviewData.pipelines.SwiggyreviewdataPipeline'] 2026-06-22 03:00:16 [scrapy.core.engine] INFO: Spider opened 2026-06-22 03:00:16 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min) 2026-06-22 03:00:16 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6024 2026-06-22 03:00:17 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:17 [py.warnings] WARNING: /home/ubuntu/eggs/SwiggyReviewData/1777095842.egg/SwiggyReviewData/spiders/SwiggyReviewData.py:183: UserWarning: pandas only supports SQLAlchemy connectable (engine/connection) or database string URI or sqlite3 DBAPI2 connection. Other DBAPI2 objects are not tested. Please consider using SQLAlchemy. comp_response = pd.read_sql_query(comp_query, self.conn) 2026-06-22 03:00:17 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:17 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:18 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:18 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:18 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:19 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:19 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:19 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:19 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:20 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://partner-self-client.swiggy.com/) 2026-06-22 03:00:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vhc-composer.swiggy.com/query?query=getOrderRatingDetails> None 2026-06-22 03:00:23 [scrapy.core.engine] INFO: Closing spider (finished) 2026-06-22 03:00:24 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-3a376a3a-09f2-4101-a169-830fce0b55a0', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Preparation as per expectation, sufficient for 2 person. Tasty meals, would repeat again. Outer most package was torn. Care should be taken on this as foods ordered from other hotels are ok.\n\n\n\n\n Customer Rating:\n 4 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:00:24 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:00:24 [httpcore.connection] DEBUG: connect_tcp.started host='bedrock-mantle.ap-south-1.api.aws' port=443 local_address=None timeout=5.0 socket_options=None 2026-06-22 03:00:24 [httpcore.connection] DEBUG: connect_tcp.complete return_value= 2026-06-22 03:00:24 [httpcore.connection] DEBUG: start_tls.started ssl_context= server_hostname='bedrock-mantle.ap-south-1.api.aws' timeout=5.0 2026-06-22 03:00:24 [httpcore.connection] DEBUG: start_tls.complete return_value= 2026-06-22 03:00:24 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:00:24 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:00:24 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:00:24 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:00:24 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:00:26 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:00:26 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'3285'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_l7dvrhgidhuax33hmup5sd4ltx46dhllzgvb5aqdxb6npqrd2mma'), (b'x-request-id', b'req_l7dvrhgidhuax33hmup5sd4ltx46dhllzgvb5aqdxb6npqrd2mma'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:00:26 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:00:26 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:00:26 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:00:26 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:00:26 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:00:26 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:00:26 GMT', 'content-type': 'application/json', 'content-length': '3285', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_l7dvrhgidhuax33hmup5sd4ltx46dhllzgvb5aqdxb6npqrd2mma', 'x-request-id': 'req_l7dvrhgidhuax33hmup5sd4ltx46dhllzgvb5aqdxb6npqrd2mma', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:00:26 [openai._base_client] DEBUG: request_id: req_l7dvrhgidhuax33hmup5sd4ltx46dhllzgvb5aqdxb6npqrd2mma 2026-06-22 03:00:26 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-2d86a64d-efaa-4eda-9077-a0791e528b19', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Food was extremely bad disgusting. Stop preparing food if you cant make it good. It was really really bad. I am suggesting everyone please do not buy. Hope there is rating in minus. \n Customer Rating:\n 1 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:00:26 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:00:26 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:00:26 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:00:26 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:00:26 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:00:26 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:00:29 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:00:29 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'4104'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_pobcq5li64lovuwggec34wt4rbedps4mtiaufpgrmlwwdxyqkjlq'), (b'x-request-id', b'req_pobcq5li64lovuwggec34wt4rbedps4mtiaufpgrmlwwdxyqkjlq'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:00:29 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:00:29 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:00:29 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:00:29 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:00:29 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:00:29 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:00:29 GMT', 'content-type': 'application/json', 'content-length': '4104', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_pobcq5li64lovuwggec34wt4rbedps4mtiaufpgrmlwwdxyqkjlq', 'x-request-id': 'req_pobcq5li64lovuwggec34wt4rbedps4mtiaufpgrmlwwdxyqkjlq', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:00:29 [openai._base_client] DEBUG: request_id: req_pobcq5li64lovuwggec34wt4rbedps4mtiaufpgrmlwwdxyqkjlq 2026-06-22 03:00:29 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-f32eb5c8-9d81-463d-b9c7-b00fdadf5875', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n The food tasted great, but the portion of chicken was highly disappointing. I paid extra for boneless chicken, yet my meal only contained one large and one small piece.\n Customer Rating:\n 2 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:00:29 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:00:29 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:00:29 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:00:29 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:00:29 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:00:29 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:00:31 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:00:31 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'4462'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_2exfojmbnnewzczb56jnwhnroqhs7ds5gze62pdfzmj7fe5szh5a'), (b'x-request-id', b'req_2exfojmbnnewzczb56jnwhnroqhs7ds5gze62pdfzmj7fe5szh5a'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:00:31 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:00:31 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:00:31 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:00:31 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:00:31 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:00:31 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:00:31 GMT', 'content-type': 'application/json', 'content-length': '4462', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_2exfojmbnnewzczb56jnwhnroqhs7ds5gze62pdfzmj7fe5szh5a', 'x-request-id': 'req_2exfojmbnnewzczb56jnwhnroqhs7ds5gze62pdfzmj7fe5szh5a', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:00:31 [openai._base_client] DEBUG: request_id: req_2exfojmbnnewzczb56jnwhnroqhs7ds5gze62pdfzmj7fe5szh5a 2026-06-22 03:00:31 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-f51b29ff-7a95-43e9-8097-26f509a1a036', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Great taste always\n Customer Rating:\n 5 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:00:31 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:00:31 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:00:31 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:00:31 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:00:31 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:00:31 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:00:32 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:00:32 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'1959'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_hvtn2eu5etw43bet2lyczlyqgnavud3kepiw6sk7fw7idnlf375q'), (b'x-request-id', b'req_hvtn2eu5etw43bet2lyczlyqgnavud3kepiw6sk7fw7idnlf375q'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:00:32 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:00:32 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:00:32 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:00:32 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:00:32 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:00:32 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:00:32 GMT', 'content-type': 'application/json', 'content-length': '1959', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_hvtn2eu5etw43bet2lyczlyqgnavud3kepiw6sk7fw7idnlf375q', 'x-request-id': 'req_hvtn2eu5etw43bet2lyczlyqgnavud3kepiw6sk7fw7idnlf375q', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:00:32 [openai._base_client] DEBUG: request_id: req_hvtn2eu5etw43bet2lyczlyqgnavud3kepiw6sk7fw7idnlf375q 2026-06-22 03:00:32 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-474453a1-7c87-4fb3-8877-90d36cda3050', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Very less boneless pieces \n Customer Rating:\n 1 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:00:32 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:00:32 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:00:32 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:00:32 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:00:32 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:00:32 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:00:34 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:00:34 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'3303'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_ogkflrxvz7jtxahof7peqenyfngljtk75wgrgwq4zpkzbh4oztua'), (b'x-request-id', b'req_ogkflrxvz7jtxahof7peqenyfngljtk75wgrgwq4zpkzbh4oztua'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:00:34 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:00:34 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:00:34 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:00:34 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:00:34 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:00:34 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:00:34 GMT', 'content-type': 'application/json', 'content-length': '3303', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_ogkflrxvz7jtxahof7peqenyfngljtk75wgrgwq4zpkzbh4oztua', 'x-request-id': 'req_ogkflrxvz7jtxahof7peqenyfngljtk75wgrgwq4zpkzbh4oztua', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:00:34 [openai._base_client] DEBUG: request_id: req_ogkflrxvz7jtxahof7peqenyfngljtk75wgrgwq4zpkzbh4oztua 2026-06-22 03:00:34 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-baadae03-d47a-4ce7-811e-a5f92bffc5ce', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Good behaviour \n Customer Rating:\n 5 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:00:34 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:00:34 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:00:34 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:00:34 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:00:34 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:00:34 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:00:35 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:00:35 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'2051'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_tshvuu6ocwp73vng7zdjflgaamw3wqqfekzrc6ftblzzvqiyckgq'), (b'x-request-id', b'req_tshvuu6ocwp73vng7zdjflgaamw3wqqfekzrc6ftblzzvqiyckgq'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:00:35 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:00:35 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:00:35 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:00:35 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:00:35 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:00:35 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:00:35 GMT', 'content-type': 'application/json', 'content-length': '2051', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_tshvuu6ocwp73vng7zdjflgaamw3wqqfekzrc6ftblzzvqiyckgq', 'x-request-id': 'req_tshvuu6ocwp73vng7zdjflgaamw3wqqfekzrc6ftblzzvqiyckgq', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:00:35 [openai._base_client] DEBUG: request_id: req_tshvuu6ocwp73vng7zdjflgaamw3wqqfekzrc6ftblzzvqiyckgq 2026-06-22 03:00:35 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-2647e79d-74d4-4b77-b3c3-c2adb6aabb0c', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n The taste was too good. Amazing and thoughtful packaging. Overall it was a great experience. I had a good biryani after ages โ™ฅ๏ธ\n Customer Rating:\n 5 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:00:35 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:00:35 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:00:35 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:00:35 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:00:35 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:00:35 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:00:37 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:00:37 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'4080'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_xfnij242ffsstuov7nstuoe3bm7f275imaeqae5omh2wesc2qqjq'), (b'x-request-id', b'req_xfnij242ffsstuov7nstuoe3bm7f275imaeqae5omh2wesc2qqjq'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:00:37 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:00:37 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:00:37 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:00:37 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:00:37 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:00:37 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:00:37 GMT', 'content-type': 'application/json', 'content-length': '4080', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_xfnij242ffsstuov7nstuoe3bm7f275imaeqae5omh2wesc2qqjq', 'x-request-id': 'req_xfnij242ffsstuov7nstuoe3bm7f275imaeqae5omh2wesc2qqjq', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:00:37 [openai._base_client] DEBUG: request_id: req_xfnij242ffsstuov7nstuoe3bm7f275imaeqae5omh2wesc2qqjq 2026-06-22 03:00:37 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-bd1885b5-39a1-461c-8662-a257076aaac0', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n The arbab rice wt falafel the rice was fine but falafel hard and over fried and tiny pieces \n Customer Rating:\n 4 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:00:37 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:00:37 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:00:37 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:00:37 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:00:37 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:00:37 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:00:40 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:00:40 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'4597'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_snkpfc42wb6x7uu4l47lf2uurl4ov5yhwlnd3tkxvsym4fwupjca'), (b'x-request-id', b'req_snkpfc42wb6x7uu4l47lf2uurl4ov5yhwlnd3tkxvsym4fwupjca'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:00:40 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:00:40 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:00:40 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:00:40 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:00:40 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:00:40 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:00:40 GMT', 'content-type': 'application/json', 'content-length': '4597', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_snkpfc42wb6x7uu4l47lf2uurl4ov5yhwlnd3tkxvsym4fwupjca', 'x-request-id': 'req_snkpfc42wb6x7uu4l47lf2uurl4ov5yhwlnd3tkxvsym4fwupjca', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:00:40 [openai._base_client] DEBUG: request_id: req_snkpfc42wb6x7uu4l47lf2uurl4ov5yhwlnd3tkxvsym4fwupjca 2026-06-22 03:00:40 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-1c5bc03f-9196-4af0-afd6-2496179bfb12', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Worst mutton i have ever try\n\nAnd malabar parontha is tha hell\n Customer Rating:\n 1 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:00:40 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:00:40 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:00:40 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:00:40 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:00:40 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:00:40 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:00:43 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:00:43 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'4315'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_kyv4xpsju24nzkxdphdl65fe3lubwx7qxhvvfggkmygne2ojgfuq'), (b'x-request-id', b'req_kyv4xpsju24nzkxdphdl65fe3lubwx7qxhvvfggkmygne2ojgfuq'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:00:43 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:00:43 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:00:43 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:00:43 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:00:43 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:00:43 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:00:43 GMT', 'content-type': 'application/json', 'content-length': '4315', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_kyv4xpsju24nzkxdphdl65fe3lubwx7qxhvvfggkmygne2ojgfuq', 'x-request-id': 'req_kyv4xpsju24nzkxdphdl65fe3lubwx7qxhvvfggkmygne2ojgfuq', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:00:43 [openai._base_client] DEBUG: request_id: req_kyv4xpsju24nzkxdphdl65fe3lubwx7qxhvvfggkmygne2ojgfuq 2026-06-22 03:00:43 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-ec3e09aa-afdf-436a-8fbb-26c7b61c7091', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Excellent biryani but please do something about the box.. too many cello tapes.. get good box so that you donโ€™t need to use tapes.\n Customer Rating:\n 5 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:00:43 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:00:43 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:00:43 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:00:43 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:00:43 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:00:43 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:00:44 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:00:44 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'3249'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_vhd4koviw2syb7fvp32qezqzrldjzfswe55dgypk7vax4nupxoxa'), (b'x-request-id', b'req_vhd4koviw2syb7fvp32qezqzrldjzfswe55dgypk7vax4nupxoxa'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:00:44 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:00:44 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:00:44 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:00:44 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:00:44 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:00:44 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:00:44 GMT', 'content-type': 'application/json', 'content-length': '3249', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_vhd4koviw2syb7fvp32qezqzrldjzfswe55dgypk7vax4nupxoxa', 'x-request-id': 'req_vhd4koviw2syb7fvp32qezqzrldjzfswe55dgypk7vax4nupxoxa', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:00:44 [openai._base_client] DEBUG: request_id: req_vhd4koviw2syb7fvp32qezqzrldjzfswe55dgypk7vax4nupxoxa 2026-06-22 03:00:44 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-b60017f0-e62f-422d-b982-918509609f4a', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Nce flavour \n Customer Rating:\n 5 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:00:44 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:00:44 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:00:44 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:00:44 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:00:44 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:00:44 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:00:46 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:00:46 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'2608'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_w4uqjjtfmfywmbjk364v744ulvfnuu73glsnqa3tn6kh642agyrq'), (b'x-request-id', b'req_w4uqjjtfmfywmbjk364v744ulvfnuu73glsnqa3tn6kh642agyrq'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:00:46 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:00:46 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:00:46 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:00:46 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:00:46 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:00:46 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:00:46 GMT', 'content-type': 'application/json', 'content-length': '2608', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_w4uqjjtfmfywmbjk364v744ulvfnuu73glsnqa3tn6kh642agyrq', 'x-request-id': 'req_w4uqjjtfmfywmbjk364v744ulvfnuu73glsnqa3tn6kh642agyrq', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:00:46 [openai._base_client] DEBUG: request_id: req_w4uqjjtfmfywmbjk364v744ulvfnuu73glsnqa3tn6kh642agyrq 2026-06-22 03:00:46 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-85df9d7e-360d-4575-83db-ec9b4dd0c79a', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Can\'t even Read the discussion on the order poor communication \n Customer Rating:\n 1 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:00:46 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:00:46 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:00:46 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:00:46 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:00:46 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:00:46 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:00:47 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:00:47 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'2573'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_sltel2jagygyf5g35r7d6xk44pjbdwmu7cfrda3oqmxn6v3sjuda'), (b'x-request-id', b'req_sltel2jagygyf5g35r7d6xk44pjbdwmu7cfrda3oqmxn6v3sjuda'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:00:47 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:00:47 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:00:47 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:00:47 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:00:47 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:00:47 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:00:47 GMT', 'content-type': 'application/json', 'content-length': '2573', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_sltel2jagygyf5g35r7d6xk44pjbdwmu7cfrda3oqmxn6v3sjuda', 'x-request-id': 'req_sltel2jagygyf5g35r7d6xk44pjbdwmu7cfrda3oqmxn6v3sjuda', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:00:47 [openai._base_client] DEBUG: request_id: req_sltel2jagygyf5g35r7d6xk44pjbdwmu7cfrda3oqmxn6v3sjuda 2026-06-22 03:00:47 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-1fb58f38-37d3-447d-9d80-b8547ae40228', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Taste and quality of afghani paneer is no good...and quantity is also a very small...\nChapati is stick to each other....\n Customer Rating:\n 1 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:00:47 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:00:47 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:00:47 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:00:47 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:00:47 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:00:47 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:00:50 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:00:50 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'5037'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_lyg5eu2l2xrdz3yg3vkj2vxljjuomijk5y5igctpik25nd5chrdq'), (b'x-request-id', b'req_lyg5eu2l2xrdz3yg3vkj2vxljjuomijk5y5igctpik25nd5chrdq'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:00:50 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:00:50 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:00:50 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:00:50 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:00:50 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:00:50 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:00:50 GMT', 'content-type': 'application/json', 'content-length': '5037', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_lyg5eu2l2xrdz3yg3vkj2vxljjuomijk5y5igctpik25nd5chrdq', 'x-request-id': 'req_lyg5eu2l2xrdz3yg3vkj2vxljjuomijk5y5igctpik25nd5chrdq', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:00:50 [openai._base_client] DEBUG: request_id: req_lyg5eu2l2xrdz3yg3vkj2vxljjuomijk5y5igctpik25nd5chrdq 2026-06-22 03:00:50 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-6acc4c5e-c6a2-40f6-9c15-f57deeaab385', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Food is very good, but only one thing that, please mention which biryani is which as I have ordered a sampler pack of 2. How can I know which is which?\n Customer Rating:\n 4 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:00:50 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:00:50 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:00:50 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:00:50 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:00:50 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:00:50 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:00:52 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:00:52 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'4367'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_aeh5bqzp4gjihd5lxk3chxqkfdc7jxefvui5u2xnksgwi6uvy7hq'), (b'x-request-id', b'req_aeh5bqzp4gjihd5lxk3chxqkfdc7jxefvui5u2xnksgwi6uvy7hq'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:00:52 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:00:52 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:00:52 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:00:52 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:00:52 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:00:52 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:00:52 GMT', 'content-type': 'application/json', 'content-length': '4367', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_aeh5bqzp4gjihd5lxk3chxqkfdc7jxefvui5u2xnksgwi6uvy7hq', 'x-request-id': 'req_aeh5bqzp4gjihd5lxk3chxqkfdc7jxefvui5u2xnksgwi6uvy7hq', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:00:52 [openai._base_client] DEBUG: request_id: req_aeh5bqzp4gjihd5lxk3chxqkfdc7jxefvui5u2xnksgwi6uvy7hq 2026-06-22 03:00:52 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-3777d180-f580-4bc2-ae0d-5dc5d2456031', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Matcha Cloud is oversweet, too much vanilla syrup. I didn\'t like it.\nAlthough the quality of the matcha itself is very good.\nJapanese Ice Matcha Latte is perfect, also the milk is very tasty and creamy.\n Customer Rating:\n 4 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:00:52 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:00:52 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:00:52 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:00:52 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:00:52 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:00:52 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:00:55 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:00:55 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'3957'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_ibdg3lga4bodpa5p5vq4hyoz4vduqo2rs4a5jbb2u3ot3fz4j3ea'), (b'x-request-id', b'req_ibdg3lga4bodpa5p5vq4hyoz4vduqo2rs4a5jbb2u3ot3fz4j3ea'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:00:55 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:00:55 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:00:55 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:00:55 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:00:55 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:00:55 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:00:55 GMT', 'content-type': 'application/json', 'content-length': '3957', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_ibdg3lga4bodpa5p5vq4hyoz4vduqo2rs4a5jbb2u3ot3fz4j3ea', 'x-request-id': 'req_ibdg3lga4bodpa5p5vq4hyoz4vduqo2rs4a5jbb2u3ot3fz4j3ea', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:00:55 [openai._base_client] DEBUG: request_id: req_ibdg3lga4bodpa5p5vq4hyoz4vduqo2rs4a5jbb2u3ot3fz4j3ea 2026-06-22 03:00:55 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-887205e6-ce01-43ad-a6bb-f75c543a2a8e', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n What took so long to deliver the food???\n Customer Rating:\n 5 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:00:55 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:00:55 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:00:55 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:00:55 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:00:55 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:00:55 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:00:56 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:00:56 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'2446'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_6ha3d6eidsyyo62w6x4ydowq5wf27g33isqutq7xsyascvtmuwca'), (b'x-request-id', b'req_6ha3d6eidsyyo62w6x4ydowq5wf27g33isqutq7xsyascvtmuwca'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:00:56 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:00:56 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:00:56 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:00:56 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:00:56 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:00:56 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:00:56 GMT', 'content-type': 'application/json', 'content-length': '2446', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_6ha3d6eidsyyo62w6x4ydowq5wf27g33isqutq7xsyascvtmuwca', 'x-request-id': 'req_6ha3d6eidsyyo62w6x4ydowq5wf27g33isqutq7xsyascvtmuwca', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:00:56 [openai._base_client] DEBUG: request_id: req_6ha3d6eidsyyo62w6x4ydowq5wf27g33isqutq7xsyascvtmuwca 2026-06-22 03:00:56 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-b091db74-d396-4b27-858e-2417af051a3a', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Chicken was not juicy only fried on high temperature not good in Taste it was not cooked properly \n Customer Rating:\n 1 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:00:56 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:00:56 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:00:56 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:00:56 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:00:56 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:00:56 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:00:57 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:00:57 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'3215'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_e3wx2i424gdazw4bpuka7nzbpmmglmjkel4bqzj6lbjxhzh3ezfq'), (b'x-request-id', b'req_e3wx2i424gdazw4bpuka7nzbpmmglmjkel4bqzj6lbjxhzh3ezfq'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:00:57 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:00:57 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:00:57 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:00:57 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:00:57 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:00:57 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:00:57 GMT', 'content-type': 'application/json', 'content-length': '3215', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_e3wx2i424gdazw4bpuka7nzbpmmglmjkel4bqzj6lbjxhzh3ezfq', 'x-request-id': 'req_e3wx2i424gdazw4bpuka7nzbpmmglmjkel4bqzj6lbjxhzh3ezfq', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:00:57 [openai._base_client] DEBUG: request_id: req_e3wx2i424gdazw4bpuka7nzbpmmglmjkel4bqzj6lbjxhzh3ezfq 2026-06-22 03:00:57 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-a86a6fdd-94b6-4114-9ef7-8e35b3bb43ca', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Food is very good ๐Ÿ˜Š\n Customer Rating:\n 5 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:00:57 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:00:57 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:00:57 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:00:57 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:00:57 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:00:57 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:00:58 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:00:58 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'1962'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_4yctogfuhrpc5yudz57tc2wrhke5yyn5kgbtlduq42xyvkm5f3wq'), (b'x-request-id', b'req_4yctogfuhrpc5yudz57tc2wrhke5yyn5kgbtlduq42xyvkm5f3wq'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:00:58 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:00:58 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:00:58 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:00:58 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:00:58 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:00:58 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:00:58 GMT', 'content-type': 'application/json', 'content-length': '1962', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_4yctogfuhrpc5yudz57tc2wrhke5yyn5kgbtlduq42xyvkm5f3wq', 'x-request-id': 'req_4yctogfuhrpc5yudz57tc2wrhke5yyn5kgbtlduq42xyvkm5f3wq', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:00:58 [openai._base_client] DEBUG: request_id: req_4yctogfuhrpc5yudz57tc2wrhke5yyn5kgbtlduq42xyvkm5f3wq 2026-06-22 03:00:58 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-efd7b47e-2660-4678-8a0a-64d40ec9ccb2', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Today I eaten charcoal egg mini bowl birayani, it is super, tasty & really high protein food. I will recommend to my friends for this food. \n Customer Rating:\n 5 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:00:58 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:00:58 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:00:58 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:00:58 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:00:58 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:00:58 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:01:01 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:01:01 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'4156'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_isny7nqgbpuqmvuv7bjpjbn4s624bkiz762w23vi7gilzt2prhta'), (b'x-request-id', b'req_isny7nqgbpuqmvuv7bjpjbn4s624bkiz762w23vi7gilzt2prhta'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:01:01 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:01:01 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:01:01 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:01:01 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:01:01 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:01:01 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:01:01 GMT', 'content-type': 'application/json', 'content-length': '4156', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_isny7nqgbpuqmvuv7bjpjbn4s624bkiz762w23vi7gilzt2prhta', 'x-request-id': 'req_isny7nqgbpuqmvuv7bjpjbn4s624bkiz762w23vi7gilzt2prhta', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:01:01 [openai._base_client] DEBUG: request_id: req_isny7nqgbpuqmvuv7bjpjbn4s624bkiz762w23vi7gilzt2prhta 2026-06-22 03:01:01 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-2ad6a217-94c5-4b23-afef-b1aba1f45de9', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Awesome Food, awesome quality, I like it\n Customer Rating:\n 5 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:01:01 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:01:01 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:01:01 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:01:01 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:01:01 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:01:01 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:01:03 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:01:03 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'3160'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_qfxmzm2kmvqf6jfkbolznwnqcmsv7svi7dqk7cmodvrem3q6oogq'), (b'x-request-id', b'req_qfxmzm2kmvqf6jfkbolznwnqcmsv7svi7dqk7cmodvrem3q6oogq'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:01:03 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:01:03 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:01:03 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:01:03 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:01:03 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:01:03 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:01:03 GMT', 'content-type': 'application/json', 'content-length': '3160', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_qfxmzm2kmvqf6jfkbolznwnqcmsv7svi7dqk7cmodvrem3q6oogq', 'x-request-id': 'req_qfxmzm2kmvqf6jfkbolznwnqcmsv7svi7dqk7cmodvrem3q6oogq', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:01:03 [openai._base_client] DEBUG: request_id: req_qfxmzm2kmvqf6jfkbolznwnqcmsv7svi7dqk7cmodvrem3q6oogq 2026-06-22 03:01:03 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-47b728eb-7a81-49b1-a330-6a0193831971', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n So delicious ๐Ÿ˜‹ \n Customer Rating:\n 5 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:01:03 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:01:03 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:01:03 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:01:03 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:01:03 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:01:03 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:01:04 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:01:04 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'2156'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_sts5xh2d6xy4ylbd3wxpmlthnutw76edbam524ay57ldfjplhunq'), (b'x-request-id', b'req_sts5xh2d6xy4ylbd3wxpmlthnutw76edbam524ay57ldfjplhunq'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:01:04 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:01:04 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:01:04 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:01:04 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:01:04 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:01:04 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:01:04 GMT', 'content-type': 'application/json', 'content-length': '2156', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_sts5xh2d6xy4ylbd3wxpmlthnutw76edbam524ay57ldfjplhunq', 'x-request-id': 'req_sts5xh2d6xy4ylbd3wxpmlthnutw76edbam524ay57ldfjplhunq', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:01:04 [openai._base_client] DEBUG: request_id: req_sts5xh2d6xy4ylbd3wxpmlthnutw76edbam524ay57ldfjplhunq 2026-06-22 03:01:04 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-6bccf839-37d6-4d53-b8ad-c16c021dc4f6', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Taste of biryani was really awesome, it really quenched my midnight cravings. \n Customer Rating:\n 5 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:01:04 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:01:04 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:01:04 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:01:04 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:01:04 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:01:04 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:01:05 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:01:05 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'1895'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_cxntx7g24skv2ky5zurl5kpdw3tsq6b3jnrtituzqtucxi6xx2ta'), (b'x-request-id', b'req_cxntx7g24skv2ky5zurl5kpdw3tsq6b3jnrtituzqtucxi6xx2ta'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:01:05 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:01:05 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:01:05 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:01:05 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:01:05 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:01:05 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:01:05 GMT', 'content-type': 'application/json', 'content-length': '1895', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_cxntx7g24skv2ky5zurl5kpdw3tsq6b3jnrtituzqtucxi6xx2ta', 'x-request-id': 'req_cxntx7g24skv2ky5zurl5kpdw3tsq6b3jnrtituzqtucxi6xx2ta', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:01:05 [openai._base_client] DEBUG: request_id: req_cxntx7g24skv2ky5zurl5kpdw3tsq6b3jnrtituzqtucxi6xx2ta 2026-06-22 03:01:05 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-e9e79c98-ed33-4be1-9823-ad7192055dd0', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Baat a taste \n Customer Rating:\n 2 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:01:05 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:01:05 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:01:05 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:01:05 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:01:05 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:01:05 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:01:06 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:01:06 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'2227'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_bgnkht4vvbja3adrzryhx7mpuineqirhnojadnqgarybedisgmlq'), (b'x-request-id', b'req_bgnkht4vvbja3adrzryhx7mpuineqirhnojadnqgarybedisgmlq'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:01:06 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:01:06 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:01:06 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:01:06 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:01:06 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:01:06 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:01:06 GMT', 'content-type': 'application/json', 'content-length': '2227', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_bgnkht4vvbja3adrzryhx7mpuineqirhnojadnqgarybedisgmlq', 'x-request-id': 'req_bgnkht4vvbja3adrzryhx7mpuineqirhnojadnqgarybedisgmlq', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:01:06 [openai._base_client] DEBUG: request_id: req_bgnkht4vvbja3adrzryhx7mpuineqirhnojadnqgarybedisgmlq 2026-06-22 03:01:06 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-b24fd2b8-7098-4ef0-88f1-79ff2974e066', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n I received spoilt fried rice. Very disappointed. \n Customer Rating:\n 1 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:01:06 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:01:06 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:01:06 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:01:06 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:01:06 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:01:06 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:01:08 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:01:08 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'4358'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_3urpror4kf776iinebmm3vtynl5vuole7gcb3sayafxhn2ebh7zq'), (b'x-request-id', b'req_3urpror4kf776iinebmm3vtynl5vuole7gcb3sayafxhn2ebh7zq'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:01:08 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:01:08 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:01:08 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:01:08 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:01:08 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:01:08 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:01:08 GMT', 'content-type': 'application/json', 'content-length': '4358', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_3urpror4kf776iinebmm3vtynl5vuole7gcb3sayafxhn2ebh7zq', 'x-request-id': 'req_3urpror4kf776iinebmm3vtynl5vuole7gcb3sayafxhn2ebh7zq', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:01:08 [openai._base_client] DEBUG: request_id: req_3urpror4kf776iinebmm3vtynl5vuole7gcb3sayafxhn2ebh7zq 2026-06-22 03:01:08 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-4af20a49-e76b-4276-95a8-7d9af00e0de4', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Veg biriyani taste is good & fresh. Portion size also comfortable for one person. \n Customer Rating:\n 5 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:01:08 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:01:08 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:01:08 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:01:08 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:01:08 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:01:08 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:01:10 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:01:10 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'3365'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_wwdh6ornagqqyq65mhsaucouvzsln2qv7jc77hth2yyzdxduetda'), (b'x-request-id', b'req_wwdh6ornagqqyq65mhsaucouvzsln2qv7jc77hth2yyzdxduetda'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:01:10 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:01:10 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:01:10 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:01:10 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:01:10 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:01:10 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:01:10 GMT', 'content-type': 'application/json', 'content-length': '3365', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_wwdh6ornagqqyq65mhsaucouvzsln2qv7jc77hth2yyzdxduetda', 'x-request-id': 'req_wwdh6ornagqqyq65mhsaucouvzsln2qv7jc77hth2yyzdxduetda', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:01:10 [openai._base_client] DEBUG: request_id: req_wwdh6ornagqqyq65mhsaucouvzsln2qv7jc77hth2yyzdxduetda 2026-06-22 03:01:10 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-f387a5b7-bd79-4baf-b8c9-0609594c3890', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n The biryani was delicious and full with flavours as usual.\n Customer Rating:\n 5 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:01:10 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:01:10 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:01:10 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:01:10 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:01:10 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:01:10 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:01:11 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:01:11 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'2424'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_pq5vjev54x6qtdo7o5bfewyx5lnpal2odoyxpx5b2eclhcawgnta'), (b'x-request-id', b'req_pq5vjev54x6qtdo7o5bfewyx5lnpal2odoyxpx5b2eclhcawgnta'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:01:11 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:01:11 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:01:11 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:01:11 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:01:11 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:01:11 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:01:11 GMT', 'content-type': 'application/json', 'content-length': '2424', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_pq5vjev54x6qtdo7o5bfewyx5lnpal2odoyxpx5b2eclhcawgnta', 'x-request-id': 'req_pq5vjev54x6qtdo7o5bfewyx5lnpal2odoyxpx5b2eclhcawgnta', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:01:11 [openai._base_client] DEBUG: request_id: req_pq5vjev54x6qtdo7o5bfewyx5lnpal2odoyxpx5b2eclhcawgnta 2026-06-22 03:01:11 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-d9d0dd33-c0bc-4956-ba06-f91caa153e65', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n No cutlery send pepsi can is damage \n Customer Rating:\n 2 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:01:11 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:01:11 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:01:11 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:01:11 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:01:11 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:01:11 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:01:14 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:01:14 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'4648'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_miebdf3tr5763blipvg32pxzx2spoav5d4cx5cktauxrlvx25n6q'), (b'x-request-id', b'req_miebdf3tr5763blipvg32pxzx2spoav5d4cx5cktauxrlvx25n6q'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:01:14 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:01:14 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:01:14 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:01:14 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:01:14 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:01:14 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:01:14 GMT', 'content-type': 'application/json', 'content-length': '4648', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_miebdf3tr5763blipvg32pxzx2spoav5d4cx5cktauxrlvx25n6q', 'x-request-id': 'req_miebdf3tr5763blipvg32pxzx2spoav5d4cx5cktauxrlvx25n6q', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:01:14 [openai._base_client] DEBUG: request_id: req_miebdf3tr5763blipvg32pxzx2spoav5d4cx5cktauxrlvx25n6q 2026-06-22 03:01:14 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-bb5ab7d1-faaf-42a5-ab3e-b8da4a679d8c', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n nicest biryani \n Customer Rating:\n 5 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:01:14 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:01:14 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:01:14 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:01:14 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:01:14 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:01:14 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:01:15 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:01:15 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'2665'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_2aaz2i2ykug66mooxzuxlopxkxeth3lgvsiqiwgyr7kkslm6xqga'), (b'x-request-id', b'req_2aaz2i2ykug66mooxzuxlopxkxeth3lgvsiqiwgyr7kkslm6xqga'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:01:15 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:01:15 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:01:15 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:01:15 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:01:15 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:01:15 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:01:15 GMT', 'content-type': 'application/json', 'content-length': '2665', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_2aaz2i2ykug66mooxzuxlopxkxeth3lgvsiqiwgyr7kkslm6xqga', 'x-request-id': 'req_2aaz2i2ykug66mooxzuxlopxkxeth3lgvsiqiwgyr7kkslm6xqga', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:01:15 [openai._base_client] DEBUG: request_id: req_2aaz2i2ykug66mooxzuxlopxkxeth3lgvsiqiwgyr7kkslm6xqga 2026-06-22 03:01:15 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-92da8b1a-bb19-4cdd-a5bd-463e2c17fc76', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Excellent quality \n Customer Rating:\n 5 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:01:15 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:01:15 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:01:15 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:01:15 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:01:15 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:01:15 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:01:16 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:01:16 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'2277'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_3jeq2q4lsfmkkalecnqgts2lildlhssosjddunlc633flb32mhoq'), (b'x-request-id', b'req_3jeq2q4lsfmkkalecnqgts2lildlhssosjddunlc633flb32mhoq'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:01:16 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:01:16 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:01:16 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:01:16 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:01:16 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:01:16 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:01:16 GMT', 'content-type': 'application/json', 'content-length': '2277', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_3jeq2q4lsfmkkalecnqgts2lildlhssosjddunlc633flb32mhoq', 'x-request-id': 'req_3jeq2q4lsfmkkalecnqgts2lildlhssosjddunlc633flb32mhoq', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:01:16 [openai._base_client] DEBUG: request_id: req_3jeq2q4lsfmkkalecnqgts2lildlhssosjddunlc633flb32mhoq 2026-06-22 03:01:16 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-148f0070-5bf9-4587-b748-62687276c582', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n It was delicious.\n Customer Rating:\n 5 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:01:16 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:01:16 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:01:16 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:01:16 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:01:16 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:01:16 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:01:17 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:01:17 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'1889'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_s3jfhms4c4uno3gbga24pbd4nzoxjyjzs53tst37oknbzcf3ox2a'), (b'x-request-id', b'req_s3jfhms4c4uno3gbga24pbd4nzoxjyjzs53tst37oknbzcf3ox2a'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:01:17 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:01:17 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:01:17 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:01:17 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:01:17 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:01:17 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:01:17 GMT', 'content-type': 'application/json', 'content-length': '1889', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_s3jfhms4c4uno3gbga24pbd4nzoxjyjzs53tst37oknbzcf3ox2a', 'x-request-id': 'req_s3jfhms4c4uno3gbga24pbd4nzoxjyjzs53tst37oknbzcf3ox2a', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:01:17 [openai._base_client] DEBUG: request_id: req_s3jfhms4c4uno3gbga24pbd4nzoxjyjzs53tst37oknbzcf3ox2a 2026-06-22 03:01:17 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-f49aa762-8c8c-4c9b-8d41-8a77145f6871', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Test was good but very less in quantity \n Customer Rating:\n 3 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:01:17 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:01:17 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:01:17 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:01:17 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:01:17 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:01:17 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:01:18 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:01:18 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'2768'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_wv243qwbtw7zj6bmwfecsmn3zf535g3xb53emlhtk67yl3lxzzsq'), (b'x-request-id', b'req_wv243qwbtw7zj6bmwfecsmn3zf535g3xb53emlhtk67yl3lxzzsq'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:01:18 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:01:18 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:01:18 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:01:18 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:01:18 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:01:18 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:01:18 GMT', 'content-type': 'application/json', 'content-length': '2768', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_wv243qwbtw7zj6bmwfecsmn3zf535g3xb53emlhtk67yl3lxzzsq', 'x-request-id': 'req_wv243qwbtw7zj6bmwfecsmn3zf535g3xb53emlhtk67yl3lxzzsq', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:01:18 [openai._base_client] DEBUG: request_id: req_wv243qwbtw7zj6bmwfecsmn3zf535g3xb53emlhtk67yl3lxzzsq 2026-06-22 03:01:18 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-a4c4715f-5012-4e30-b28f-d7b8b9a64d66', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Order delivered after 1 hr of delivery receipt, need explanation \n Customer Rating:\n 1 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:01:18 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:01:18 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:01:18 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:01:18 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:01:18 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:01:18 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:01:20 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:01:20 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'3520'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_sszhtjaphtjjop4757verdmqypbqixbawy7yv7d5ydebdxsurxiq'), (b'x-request-id', b'req_sszhtjaphtjjop4757verdmqypbqixbawy7yv7d5ydebdxsurxiq'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:01:20 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:01:20 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:01:20 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:01:20 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:01:20 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:01:20 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:01:20 GMT', 'content-type': 'application/json', 'content-length': '3520', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_sszhtjaphtjjop4757verdmqypbqixbawy7yv7d5ydebdxsurxiq', 'x-request-id': 'req_sszhtjaphtjjop4757verdmqypbqixbawy7yv7d5ydebdxsurxiq', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:01:20 [openai._base_client] DEBUG: request_id: req_sszhtjaphtjjop4757verdmqypbqixbawy7yv7d5ydebdxsurxiq 2026-06-22 03:01:20 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-ab396636-4b10-47c5-9177-a30b9794d68d', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Delicious ๐Ÿ˜‹ \n\n Customer Rating:\n 5 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:01:20 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:01:20 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:01:20 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:01:20 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:01:20 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:01:20 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:01:21 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:01:21 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'2152'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_p2jwpcxiqzc5tuub4acapvpbuf5xxdeq4hvxo4shszc3cwm6v2ma'), (b'x-request-id', b'req_p2jwpcxiqzc5tuub4acapvpbuf5xxdeq4hvxo4shszc3cwm6v2ma'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:01:21 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:01:21 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:01:21 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:01:21 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:01:21 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:01:21 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:01:21 GMT', 'content-type': 'application/json', 'content-length': '2152', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_p2jwpcxiqzc5tuub4acapvpbuf5xxdeq4hvxo4shszc3cwm6v2ma', 'x-request-id': 'req_p2jwpcxiqzc5tuub4acapvpbuf5xxdeq4hvxo4shszc3cwm6v2ma', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:01:21 [openai._base_client] DEBUG: request_id: req_p2jwpcxiqzc5tuub4acapvpbuf5xxdeq4hvxo4shszc3cwm6v2ma 2026-06-22 03:01:21 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-33dd1b44-0722-4511-9b1c-6f60e5faaf6f', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Please donโ€™t buy. Itโ€™s Kava Lolipop ๐Ÿ˜”\n Customer Rating:\n 1 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:01:21 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:01:21 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:01:21 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:01:21 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:01:21 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:01:21 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:01:23 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:01:23 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'3622'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_lq52nmzlxxxpkuyzkg77lchoommchz55fzchxwrg27oime5vrh3q'), (b'x-request-id', b'req_lq52nmzlxxxpkuyzkg77lchoommchz55fzchxwrg27oime5vrh3q'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:01:23 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:01:23 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:01:23 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:01:23 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:01:23 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:01:23 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:01:23 GMT', 'content-type': 'application/json', 'content-length': '3622', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_lq52nmzlxxxpkuyzkg77lchoommchz55fzchxwrg27oime5vrh3q', 'x-request-id': 'req_lq52nmzlxxxpkuyzkg77lchoommchz55fzchxwrg27oime5vrh3q', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:01:23 [openai._base_client] DEBUG: request_id: req_lq52nmzlxxxpkuyzkg77lchoommchz55fzchxwrg27oime5vrh3q 2026-06-22 03:01:23 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-36bc1220-b8e4-4e8b-a513-b8ef111f6e1a', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n No chicken piece on one plat biryani \n Customer Rating:\n 1 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:01:23 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:01:23 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:01:23 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:01:23 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:01:23 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:01:23 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:01:25 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:01:25 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'3211'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_mogs53wahg2xb7z3ftb2akb5y6iwoos5izmzazzw3j4yg57sorsa'), (b'x-request-id', b'req_mogs53wahg2xb7z3ftb2akb5y6iwoos5izmzazzw3j4yg57sorsa'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:01:25 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:01:25 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:01:25 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:01:25 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:01:25 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:01:25 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:01:25 GMT', 'content-type': 'application/json', 'content-length': '3211', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_mogs53wahg2xb7z3ftb2akb5y6iwoos5izmzazzw3j4yg57sorsa', 'x-request-id': 'req_mogs53wahg2xb7z3ftb2akb5y6iwoos5izmzazzw3j4yg57sorsa', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:01:25 [openai._base_client] DEBUG: request_id: req_mogs53wahg2xb7z3ftb2akb5y6iwoos5izmzazzw3j4yg57sorsa 2026-06-22 03:01:25 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-f1f73985-a76a-44d0-9fdf-9ea1f78b0c0c', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Biryani was delicious..\nAnd just like what I wanted ..I loved it๐Ÿ˜\n Customer Rating:\n 5 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:01:25 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:01:25 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:01:25 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:01:25 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:01:25 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:01:25 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:01:26 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:01:26 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'2512'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_buqaszru5fudcb3ye5ecskc4w5frcw5oazmgrml35lcremcn5q3a'), (b'x-request-id', b'req_buqaszru5fudcb3ye5ecskc4w5frcw5oazmgrml35lcremcn5q3a'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:01:26 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:01:26 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:01:26 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:01:26 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:01:26 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:01:26 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:01:26 GMT', 'content-type': 'application/json', 'content-length': '2512', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_buqaszru5fudcb3ye5ecskc4w5frcw5oazmgrml35lcremcn5q3a', 'x-request-id': 'req_buqaszru5fudcb3ye5ecskc4w5frcw5oazmgrml35lcremcn5q3a', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:01:26 [openai._base_client] DEBUG: request_id: req_buqaszru5fudcb3ye5ecskc4w5frcw5oazmgrml35lcremcn5q3a 2026-06-22 03:01:26 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-efa3e73c-ac47-4ec2-a764-64fae0641b77', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n Fried rice very oily. Same with noodles. Manchurian gravy was average and tasteless.\n Customer Rating:\n 3 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:01:26 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:01:26 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:01:26 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:01:26 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:01:26 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:01:26 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:01:29 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:01:29 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'5502'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_ei3urvciwjg24jwgf5vdifa3mj7zoqycnowwflkinxrlwm4wyuuq'), (b'x-request-id', b'req_ei3urvciwjg24jwgf5vdifa3mj7zoqycnowwflkinxrlwm4wyuuq'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:01:29 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:01:29 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:01:29 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:01:29 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:01:29 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:01:29 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:01:29 GMT', 'content-type': 'application/json', 'content-length': '5502', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_ei3urvciwjg24jwgf5vdifa3mj7zoqycnowwflkinxrlwm4wyuuq', 'x-request-id': 'req_ei3urvciwjg24jwgf5vdifa3mj7zoqycnowwflkinxrlwm4wyuuq', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:01:29 [openai._base_client] DEBUG: request_id: req_ei3urvciwjg24jwgf5vdifa3mj7zoqycnowwflkinxrlwm4wyuuq 2026-06-22 03:01:29 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/responses', 'files': None, 'idempotency_key': 'stainless-python-retry-d10326f0-5f3e-4206-a5b4-68d67ac3b553', 'content': None, 'json_data': {'input': ' You are an expert restaurant review analyst.\n Analyze the customer review using Aspect-Based Sentiment Analysis (ABSA).\n Your job is to identify every distinct aspect mentioned in the review and classify each one.\n Use this taxonomy of aspects and corresponding subcategories/root:\n Food:\n - Taste\n - Food Quality\n - Portion Size / Quantity\n - Freshness\n - Presentation\n - Food Temperature\n - Consistency\n - Menu Variety\n Service:\n - Staff Behavior\n - Friendliness\n - Attentiveness\n - Speed of Service\n - Order Accuracy\n - Problem Resolution\n Delivery:\n - Delivery Time\n - Packaging Quality\n - Food Spillage\n - Order Completeness\n - Food Condition on Arrival\n Value:\n - Pricing\n - Value for Money\n Hygiene:\n - Cleanliness\n - Food Safety\n Ambience:\n - Seating\n - Noise\n - Lighting\n - Comfort\n For each aspect detected, return:\n 1. aspect\n 2. subcategory/root cause\n 3. sentiment (Positive, Negative, Neutral, Mixed)\n 4. severity (Low, Medium, High)\n 5. intent (Praise, Complaint, Suggestion, Refund Request, Churn Risk, Loyalty Signal)\n 6. evidence (exact phrase from the review supporting the classification)\n Rules:\n - A single review may contain multiple aspects.\n - Extract ALL aspects mentioned. \n - Do not infer aspects not mentioned.\n - Do not infer subcategories not mentioned.\n - If one sentence contains both positive and negative signals for the same aspect, mark sentiment as Mixed.\n - Be strict and operationally useful.\n - Focus on actionable business insights.\n - Also provide an overall review sentiment (Positive, Negative, Neutral, Mixed).\n Return output ONLY in valid JSON using this format:\n {\n "overall_sentiment": "",\n "aspects": \n {\n "aspect": "",\n "subcategory": "",\n "sentiment": "",\n "severity": "",\n "intent": "",\n "evidence": ""\n }\n }\n\n Customer Review:\n The food was cold and tasteless \n Customer Rating:\n 1 ', 'model': 'openai.gpt-oss-120b'}} 2026-06-22 03:01:29 [openai._base_client] DEBUG: Sending HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses 2026-06-22 03:01:29 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-06-22 03:01:29 [httpcore.http11] DEBUG: send_request_headers.complete 2026-06-22 03:01:29 [httpcore.http11] DEBUG: send_request_body.started request= 2026-06-22 03:01:29 [httpcore.http11] DEBUG: send_request_body.complete 2026-06-22 03:01:29 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-06-22 03:01:31 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 22 Jun 2026 03:01:31 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'3079'), (b'Connection', b'keep-alive'), (b'x-amzn-requestid', b'req_33ypbqzfnuoisvew2klb35reob7poh7nt5bw56mqa7pkcav5k5ya'), (b'x-request-id', b'req_33ypbqzfnuoisvew2klb35reob7poh7nt5bw56mqa7pkcav5k5ya'), (b'vary', b'origin, access-control-request-method, access-control-request-headers'), (b'access-control-allow-origin', b'*'), (b'access-control-expose-headers', b'x-amzn-requestid,x-request-id,date')]) 2026-06-22 03:01:31 [httpx] INFO: HTTP Request: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "HTTP/1.1 200 OK" 2026-06-22 03:01:31 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-06-22 03:01:31 [httpcore.http11] DEBUG: receive_response_body.complete 2026-06-22 03:01:31 [httpcore.http11] DEBUG: response_closed.started 2026-06-22 03:01:31 [httpcore.http11] DEBUG: response_closed.complete 2026-06-22 03:01:31 [openai._base_client] DEBUG: HTTP Response: POST https://bedrock-mantle.ap-south-1.api.aws/v1/responses "200 OK" Headers({'date': 'Mon, 22 Jun 2026 03:01:31 GMT', 'content-type': 'application/json', 'content-length': '3079', 'connection': 'keep-alive', 'x-amzn-requestid': 'req_33ypbqzfnuoisvew2klb35reob7poh7nt5bw56mqa7pkcav5k5ya', 'x-request-id': 'req_33ypbqzfnuoisvew2klb35reob7poh7nt5bw56mqa7pkcav5k5ya', 'vary': 'origin, access-control-request-method, access-control-request-headers', 'access-control-allow-origin': '*', 'access-control-expose-headers': 'x-amzn-requestid,x-request-id,date'}) 2026-06-22 03:01:31 [openai._base_client] DEBUG: request_id: req_33ypbqzfnuoisvew2klb35reob7poh7nt5bw56mqa7pkcav5k5ya 2026-06-22 03:01:31 [scrapy.statscollectors] INFO: Dumping Scrapy stats: {'downloader/request_bytes': 637267, 'downloader/request_count': 178, 'downloader/request_method_count/POST': 178, 'downloader/response_bytes': 296656, 'downloader/response_count': 178, 'downloader/response_status_count/200': 178, 'elapsed_time_seconds': 74.709814, 'finish_reason': 'finished', 'finish_time': datetime.datetime(2026, 6, 22, 3, 1, 31, 497096, tzinfo=datetime.timezone.utc), 'httpcompression/response_bytes': 366404, 'httpcompression/response_count': 178, 'item_scraped_count': 168, 'items_per_minute': None, 'log_count/DEBUG': 887, 'log_count/INFO': 48, 'log_count/WARNING': 1, 'memusage/max': 145682432, 'memusage/startup': 145682432, 'request_depth_max': 10, 'response_received_count': 178, 'responses_per_minute': None, 'scheduler/dequeued': 178, 'scheduler/dequeued/memory': 178, 'scheduler/enqueued': 178, 'scheduler/enqueued/memory': 178, 'start_time': datetime.datetime(2026, 6, 22, 3, 0, 16, 787282, tzinfo=datetime.timezone.utc)} 2026-06-22 03:01:31 [scrapy.core.engine] INFO: Spider closed (finished) 2026-06-22 03:01:31 [httpcore.connection] DEBUG: close.started 2026-06-22 03:01:31 [httpcore.connection] DEBUG: close.complete