{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Modal\n", "\n", "The [Modal Python Library](https://modal.com/docs/guide) provides convenient, on-demand access to serverless cloud compute from Python scripts on your local computer. \n", "The `Modal` itself does not provide any LLMs but only the infrastructure.\n", "\n", "This example goes over how to use LangChain to interact with `Modal`.\n", "\n", "[Here](https://modal.com/docs/guide/ex/potus_speech_qanda) is another example how to use LangChain to interact with `Modal`." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "tags": [] }, "outputs": [], "source": [ "!pip install modal-client" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[?25lLaunching login page in your browser window\u001b[33m...\u001b[0m\n", "\u001b[2KIf this is not showing up, please copy this URL into your web browser manually:\n", "\u001b[2Km⠙\u001b[0m Waiting for authentication in the web browser...\n", "\u001b]8;id=417802;https://modal.com/token-flow/tf-ptEuGecm7T1T5YQe42kwM1\u001b\\\u001b[4;94mhttps://modal.com/token-flow/tf-ptEuGecm7T1T5YQe42kwM1\u001b[0m\u001b]8;;\u001b\\\n", "\n", "\u001b[2K\u001b[32m⠙\u001b[0m Waiting for authentication in the web browser...\n", "\u001b[1A\u001b[2K^C\n", "\n", "\u001b[31mAborted.\u001b[0m\n" ] } ], "source": [ "# register and get a new token\n", "\n", "!modal token new" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Follow [these instructions](https://modal.com/docs/guide/secrets) to deal with secrets." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from langchain.llms import Modal\n", "from langchain import PromptTemplate, LLMChain" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "template = \"\"\"Question: {question}\n", "\n", "Answer: Let's think step by step.\"\"\"\n", "\n", "prompt = PromptTemplate(template=template, input_variables=[\"question\"])" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "llm = Modal(endpoint_url=\"YOUR_ENDPOINT_URL\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "llm_chain = LLMChain(prompt=prompt, llm=llm)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "question = \"What NFL team won the Super Bowl in the year Justin Beiber was born?\"\n", "\n", "llm_chain.run(question)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.6" }, "vscode": { "interpreter": { "hash": "a0a0263b650d907a3bfe41c0f8d6a63a071b884df3cfdc1579f00cdc1aed6b03" } } }, "nbformat": 4, "nbformat_minor": 4 }