{ "cells": [ { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "ename": "HTTPStatusError", "evalue": "Server error '500 Internal Server Error' for url 'http://127.0.0.1:8000/pirate-speak/invoke'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 for Internal Server Error", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mHTTPStatusError\u001b[0m Traceback (most recent call last)", "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langserve/client.py:157\u001b[0m, in \u001b[0;36m_raise_for_status\u001b[0;34m(response)\u001b[0m\n\u001b[1;32m 156\u001b[0m \u001b[39mtry\u001b[39;00m:\n\u001b[0;32m--> 157\u001b[0m response\u001b[39m.\u001b[39;49mraise_for_status()\n\u001b[1;32m 158\u001b[0m \u001b[39mexcept\u001b[39;00m httpx\u001b[39m.\u001b[39mHTTPStatusError \u001b[39mas\u001b[39;00m e:\n", "File \u001b[0;32m~/.local/lib/python3.10/site-packages/httpx/_models.py:761\u001b[0m, in \u001b[0;36mResponse.raise_for_status\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 760\u001b[0m message \u001b[39m=\u001b[39m message\u001b[39m.\u001b[39mformat(\u001b[39mself\u001b[39m, error_type\u001b[39m=\u001b[39merror_type)\n\u001b[0;32m--> 761\u001b[0m \u001b[39mraise\u001b[39;00m HTTPStatusError(message, request\u001b[39m=\u001b[39mrequest, response\u001b[39m=\u001b[39m\u001b[39mself\u001b[39m)\n", "\u001b[0;31mHTTPStatusError\u001b[0m: Server error '500 Internal Server Error' for url 'http://127.0.0.1:8000/pirate-speak/invoke'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500", "\nDuring handling of the above exception, another exception occurred:\n", "\u001b[0;31mHTTPStatusError\u001b[0m Traceback (most recent call last)", "\u001b[1;32m/workspaces/RPAI2024-bot/my-app/app/test_endpoint.ipynb Cell 1\u001b[0m line \u001b[0;36m7\n\u001b[1;32m 4\u001b[0m rag_app \u001b[39m=\u001b[39m RemoteRunnable(\u001b[39m\"\u001b[39m\u001b[39mhttp://127.0.0.1:8000/pirate-speak/\u001b[39m\u001b[39m\"\u001b[39m)\n\u001b[1;32m 6\u001b[0m \u001b[39m# call the API with a question\u001b[39;00m\n\u001b[0;32m----> 7\u001b[0m answer \u001b[39m=\u001b[39m rag_app\u001b[39m.\u001b[39;49minvoke(\u001b[39m\"\u001b[39;49m\u001b[39mTell me a joke!\u001b[39;49m\u001b[39m\"\u001b[39;49m)\n\u001b[1;32m 9\u001b[0m \u001b[39mprint\u001b[39m(answer)\n", "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langserve/client.py:356\u001b[0m, in \u001b[0;36mRemoteRunnable.invoke\u001b[0;34m(self, input, config, **kwargs)\u001b[0m\n\u001b[1;32m 354\u001b[0m \u001b[39mif\u001b[39;00m kwargs:\n\u001b[1;32m 355\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mNotImplementedError\u001b[39;00m(\u001b[39m\"\u001b[39m\u001b[39mkwargs not implemented yet.\u001b[39m\u001b[39m\"\u001b[39m)\n\u001b[0;32m--> 356\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49m_call_with_config(\u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49m_invoke, \u001b[39minput\u001b[39;49m, config\u001b[39m=\u001b[39;49mconfig)\n", "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_core/runnables/base.py:1596\u001b[0m, in \u001b[0;36mRunnable._call_with_config\u001b[0;34m(self, func, input, config, run_type, **kwargs)\u001b[0m\n\u001b[1;32m 1592\u001b[0m context \u001b[39m=\u001b[39m copy_context()\n\u001b[1;32m 1593\u001b[0m context\u001b[39m.\u001b[39mrun(_set_config_context, child_config)\n\u001b[1;32m 1594\u001b[0m output \u001b[39m=\u001b[39m cast(\n\u001b[1;32m 1595\u001b[0m Output,\n\u001b[0;32m-> 1596\u001b[0m context\u001b[39m.\u001b[39;49mrun(\n\u001b[1;32m 1597\u001b[0m call_func_with_variable_args, \u001b[39m# type: ignore[arg-type]\u001b[39;49;00m\n\u001b[1;32m 1598\u001b[0m func, \u001b[39m# type: ignore[arg-type]\u001b[39;49;00m\n\u001b[1;32m 1599\u001b[0m \u001b[39minput\u001b[39;49m, \u001b[39m# type: ignore[arg-type]\u001b[39;49;00m\n\u001b[1;32m 1600\u001b[0m config,\n\u001b[1;32m 1601\u001b[0m run_manager,\n\u001b[1;32m 1602\u001b[0m \u001b[39m*\u001b[39;49m\u001b[39m*\u001b[39;49mkwargs,\n\u001b[1;32m 1603\u001b[0m ),\n\u001b[1;32m 1604\u001b[0m )\n\u001b[1;32m 1605\u001b[0m \u001b[39mexcept\u001b[39;00m \u001b[39mBaseException\u001b[39;00m \u001b[39mas\u001b[39;00m e:\n\u001b[1;32m 1606\u001b[0m run_manager\u001b[39m.\u001b[39mon_chain_error(e)\n", "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langchain_core/runnables/config.py:380\u001b[0m, in \u001b[0;36mcall_func_with_variable_args\u001b[0;34m(func, input, config, run_manager, **kwargs)\u001b[0m\n\u001b[1;32m 378\u001b[0m \u001b[39mif\u001b[39;00m run_manager \u001b[39mis\u001b[39;00m \u001b[39mnot\u001b[39;00m \u001b[39mNone\u001b[39;00m \u001b[39mand\u001b[39;00m accepts_run_manager(func):\n\u001b[1;32m 379\u001b[0m kwargs[\u001b[39m\"\u001b[39m\u001b[39mrun_manager\u001b[39m\u001b[39m\"\u001b[39m] \u001b[39m=\u001b[39m run_manager\n\u001b[0;32m--> 380\u001b[0m \u001b[39mreturn\u001b[39;00m func(\u001b[39minput\u001b[39;49m, \u001b[39m*\u001b[39;49m\u001b[39m*\u001b[39;49mkwargs)\n", "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langserve/client.py:343\u001b[0m, in \u001b[0;36mRemoteRunnable._invoke\u001b[0;34m(self, input, run_manager, config, **kwargs)\u001b[0m\n\u001b[1;32m 334\u001b[0m \u001b[39m\u001b[39m\u001b[39m\"\"\"Invoke the runnable with the given input and config.\"\"\"\u001b[39;00m\n\u001b[1;32m 335\u001b[0m response \u001b[39m=\u001b[39m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39msync_client\u001b[39m.\u001b[39mpost(\n\u001b[1;32m 336\u001b[0m \u001b[39m\"\u001b[39m\u001b[39m/invoke\u001b[39m\u001b[39m\"\u001b[39m,\n\u001b[1;32m 337\u001b[0m json\u001b[39m=\u001b[39m{\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 341\u001b[0m },\n\u001b[1;32m 342\u001b[0m )\n\u001b[0;32m--> 343\u001b[0m output, callback_events \u001b[39m=\u001b[39m _decode_response(\n\u001b[1;32m 344\u001b[0m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49m_lc_serializer, response, is_batch\u001b[39m=\u001b[39;49m\u001b[39mFalse\u001b[39;49;00m\n\u001b[1;32m 345\u001b[0m )\n\u001b[1;32m 347\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_use_server_callback_events \u001b[39mand\u001b[39;00m callback_events:\n\u001b[1;32m 348\u001b[0m handle_callbacks(run_manager, callback_events)\n", "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langserve/client.py:230\u001b[0m, in \u001b[0;36m_decode_response\u001b[0;34m(serializer, response, is_batch)\u001b[0m\n\u001b[1;32m 223\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39m_decode_response\u001b[39m(\n\u001b[1;32m 224\u001b[0m serializer: Serializer,\n\u001b[1;32m 225\u001b[0m response: httpx\u001b[39m.\u001b[39mResponse,\n\u001b[1;32m 226\u001b[0m \u001b[39m*\u001b[39m,\n\u001b[1;32m 227\u001b[0m is_batch: \u001b[39mbool\u001b[39m \u001b[39m=\u001b[39m \u001b[39mFalse\u001b[39;00m,\n\u001b[1;32m 228\u001b[0m ) \u001b[39m-\u001b[39m\u001b[39m>\u001b[39m Tuple[Any, Union[List[CallbackEventDict], List[List[CallbackEventDict]]]]:\n\u001b[1;32m 229\u001b[0m \u001b[39m \u001b[39m\u001b[39m\"\"\"Decode the response.\"\"\"\u001b[39;00m\n\u001b[0;32m--> 230\u001b[0m _raise_for_status(response)\n\u001b[1;32m 231\u001b[0m obj \u001b[39m=\u001b[39m response\u001b[39m.\u001b[39mjson()\n\u001b[1;32m 232\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mnot\u001b[39;00m \u001b[39misinstance\u001b[39m(obj, \u001b[39mdict\u001b[39m):\n", "File \u001b[0;32m~/.python/current/lib/python3.10/site-packages/langserve/client.py:165\u001b[0m, in \u001b[0;36m_raise_for_status\u001b[0;34m(response)\u001b[0m\n\u001b[1;32m 162\u001b[0m \u001b[39mif\u001b[39;00m e\u001b[39m.\u001b[39mresponse\u001b[39m.\u001b[39mtext:\n\u001b[1;32m 163\u001b[0m message \u001b[39m+\u001b[39m\u001b[39m=\u001b[39m \u001b[39mf\u001b[39m\u001b[39m\"\u001b[39m\u001b[39m for \u001b[39m\u001b[39m{\u001b[39;00me\u001b[39m.\u001b[39mresponse\u001b[39m.\u001b[39mtext\u001b[39m}\u001b[39;00m\u001b[39m\"\u001b[39m\n\u001b[0;32m--> 165\u001b[0m \u001b[39mraise\u001b[39;00m httpx\u001b[39m.\u001b[39mHTTPStatusError(\n\u001b[1;32m 166\u001b[0m message\u001b[39m=\u001b[39mmessage,\n\u001b[1;32m 167\u001b[0m request\u001b[39m=\u001b[39m_sanitize_request(e\u001b[39m.\u001b[39mrequest),\n\u001b[1;32m 168\u001b[0m response\u001b[39m=\u001b[39me\u001b[39m.\u001b[39mresponse,\n\u001b[1;32m 169\u001b[0m )\n", "\u001b[0;31mHTTPStatusError\u001b[0m: Server error '500 Internal Server Error' for url 'http://127.0.0.1:8000/pirate-speak/invoke'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 for Internal Server Error" ] } ], "source": [ "from langserve.client import RemoteRunnable\n", "\n", "# Initialize the RemoteRunnable with your API \n", "rag_app = RemoteRunnable(\"http://127.0.0.1:8000/pirate-speak/\")\n", "\n", "# call the API with a question\n", "answer = rag_app.invoke(\"Tell me a joke!\")\n", "\n", "print(answer)\n" ] } ], "metadata": { "language_info": { "name": "python" } }, "nbformat": 4, "nbformat_minor": 2 }