mirror of https://github.com/hwchase17/langchain
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
653 lines
20 KiB
Plaintext
653 lines
20 KiB
Plaintext
2 years ago
|
{
|
||
|
"cells": [
|
||
|
{
|
||
1 year ago
|
"attachments": {},
|
||
2 years ago
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"# Weights & Biases\n",
|
||
|
"\n",
|
||
|
"This notebook goes over how to track your LangChain experiments into one centralized Weights and Biases dashboard. To learn more about prompt engineering and the callback please refer to this Report which explains both alongside the resultant dashboards you can expect to see.\n",
|
||
|
"\n",
|
||
|
"\n",
|
||
1 year ago
|
"<a href=\"https://colab.research.google.com/drive/1DXH4beT4HFaRKy_Vm4PoxhXVDRf7Ym8L?usp=sharing\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>\n",
|
||
1 year ago
|
"\n",
|
||
1 year ago
|
"\n",
|
||
|
"[View Report](https://wandb.ai/a-sh0ts/langchain_callback_demo/reports/Prompt-Engineering-LLMs-with-LangChain-and-W-B--VmlldzozNjk1NTUw#👋-how-to-build-a-callback-in-langchain-for-better-prompt-engineering\n",
|
||
|
") \n",
|
||
|
"\n",
|
||
|
"\n",
|
||
1 year ago
|
"**Note**: _the `WandbCallbackHandler` is being deprecated in favour of the `WandbTracer`_ . In future please use the `WandbTracer` as it is more flexible and allows for more granular logging. To know more about the `WandbTracer` refer to the [agent_with_wandb_tracing.html](https://python.langchain.com/en/latest/integrations/agent_with_wandb_tracing.html) notebook or use the following [colab notebook](http://wandb.me/prompts-quickstart). To know more about Weights & Biases Prompts refer to the following [prompts documentation](https://docs.wandb.ai/guides/prompts)."
|
||
|
],
|
||
|
"id": "e43f4ea0"
|
||
2 years ago
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": null,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"!pip install wandb\n",
|
||
|
"!pip install pandas\n",
|
||
|
"!pip install textstat\n",
|
||
|
"!pip install spacy\n",
|
||
|
"!python -m spacy download en_core_web_sm"
|
||
1 year ago
|
],
|
||
|
"id": "fbe82fa5"
|
||
2 years ago
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 1,
|
||
|
"metadata": {
|
||
|
"id": "T1bSmKd6V2If"
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"import os\n",
|
||
1 year ago
|
"\n",
|
||
2 years ago
|
"os.environ[\"WANDB_API_KEY\"] = \"\"\n",
|
||
2 years ago
|
"# os.environ[\"OPENAI_API_KEY\"] = \"\"\n",
|
||
|
"# os.environ[\"SERPAPI_API_KEY\"] = \"\""
|
||
1 year ago
|
],
|
||
|
"id": "be90b9ec"
|
||
2 years ago
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 2,
|
||
|
"metadata": {
|
||
|
"id": "8WAGnTWpUUnD"
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"from datetime import datetime\n",
|
||
|
"from langchain.callbacks import WandbCallbackHandler, StdOutCallbackHandler\n",
|
||
|
"from langchain.llms import OpenAI"
|
||
1 year ago
|
],
|
||
|
"id": "46a9bd4d"
|
||
2 years ago
|
},
|
||
|
{
|
||
1 year ago
|
"attachments": {},
|
||
2 years ago
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"```\n",
|
||
|
"Callback Handler that logs to Weights and Biases.\n",
|
||
|
"\n",
|
||
|
"Parameters:\n",
|
||
|
" job_type (str): The type of job.\n",
|
||
|
" project (str): The project to log to.\n",
|
||
|
" entity (str): The entity to log to.\n",
|
||
|
" tags (list): The tags to log.\n",
|
||
|
" group (str): The group to log to.\n",
|
||
|
" name (str): The name of the run.\n",
|
||
|
" notes (str): The notes to log.\n",
|
||
|
" visualize (bool): Whether to visualize the run.\n",
|
||
|
" complexity_metrics (bool): Whether to log complexity metrics.\n",
|
||
|
" stream_logs (bool): Whether to stream callback actions to W&B\n",
|
||
|
"```"
|
||
1 year ago
|
],
|
||
|
"id": "849569b7"
|
||
2 years ago
|
},
|
||
|
{
|
||
1 year ago
|
"attachments": {},
|
||
2 years ago
|
"cell_type": "markdown",
|
||
|
"metadata": {
|
||
|
"id": "cxBFfZR8d9FC"
|
||
|
},
|
||
|
"source": [
|
||
|
"```\n",
|
||
|
"Default values for WandbCallbackHandler(...)\n",
|
||
|
"\n",
|
||
|
"visualize: bool = False,\n",
|
||
|
"complexity_metrics: bool = False,\n",
|
||
|
"stream_logs: bool = False,\n",
|
||
|
"```\n"
|
||
1 year ago
|
],
|
||
|
"id": "718579f7"
|
||
2 years ago
|
},
|
||
|
{
|
||
1 year ago
|
"attachments": {},
|
||
2 years ago
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"NOTE: For beta workflows we have made the default analysis based on textstat and the visualizations based on spacy"
|
||
1 year ago
|
],
|
||
|
"id": "e5f067a1"
|
||
2 years ago
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 3,
|
||
|
"metadata": {
|
||
|
"id": "KAz8weWuUeXF"
|
||
|
},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"name": "stderr",
|
||
|
"output_type": "stream",
|
||
|
"text": [
|
||
1 year ago
|
"\u001b[34m\u001b[1mwandb\u001b[0m: Currently logged in as: \u001b[33mharrison-chase\u001b[0m. Use \u001b[1m`wandb login --relogin`\u001b[0m to force relogin\n"
|
||
2 years ago
|
]
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
"Tracking run with wandb version 0.14.0"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"<IPython.core.display.HTML object>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
"Run data is saved locally in <code>/Users/harrisonchase/workplace/langchain/docs/ecosystem/wandb/run-20230318_150408-e47j1914</code>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"<IPython.core.display.HTML object>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
"Syncing run <strong><a href='https://wandb.ai/harrison-chase/langchain_callback_demo/runs/e47j1914' target=\"_blank\">llm</a></strong> to <a href='https://wandb.ai/harrison-chase/langchain_callback_demo' target=\"_blank\">Weights & Biases</a> (<a href='https://wandb.me/run' target=\"_blank\">docs</a>)<br/>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"<IPython.core.display.HTML object>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
" View project at <a href='https://wandb.ai/harrison-chase/langchain_callback_demo' target=\"_blank\">https://wandb.ai/harrison-chase/langchain_callback_demo</a>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"<IPython.core.display.HTML object>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
" View run at <a href='https://wandb.ai/harrison-chase/langchain_callback_demo/runs/e47j1914' target=\"_blank\">https://wandb.ai/harrison-chase/langchain_callback_demo/runs/e47j1914</a>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"<IPython.core.display.HTML object>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"name": "stderr",
|
||
|
"output_type": "stream",
|
||
|
"text": [
|
||
1 year ago
|
"\u001b[34m\u001b[1mwandb\u001b[0m: \u001b[33mWARNING\u001b[0m The wandb callback is currently in beta and is subject to change based on updates to `langchain`. Please report any issues to https://github.com/wandb/wandb/issues with the tag `langchain`.\n"
|
||
2 years ago
|
]
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"\"\"\"Main function.\n",
|
||
|
"\n",
|
||
|
"This function is used to try the callback handler.\n",
|
||
|
"Scenarios:\n",
|
||
|
"1. OpenAI LLM\n",
|
||
|
"2. Chain with multiple SubChains on multiple generations\n",
|
||
|
"3. Agent with Tools\n",
|
||
|
"\"\"\"\n",
|
||
|
"session_group = datetime.now().strftime(\"%m.%d.%Y_%H.%M.%S\")\n",
|
||
|
"wandb_callback = WandbCallbackHandler(\n",
|
||
|
" job_type=\"inference\",\n",
|
||
|
" project=\"langchain_callback_demo\",\n",
|
||
|
" group=f\"minimal_{session_group}\",\n",
|
||
|
" name=\"llm\",\n",
|
||
|
" tags=[\"test\"],\n",
|
||
|
")\n",
|
||
1 year ago
|
"callbacks = [StdOutCallbackHandler(), wandb_callback]\n",
|
||
|
"llm = OpenAI(temperature=0, callbacks=callbacks)"
|
||
1 year ago
|
],
|
||
|
"id": "4ddf7dce"
|
||
2 years ago
|
},
|
||
|
{
|
||
1 year ago
|
"attachments": {},
|
||
2 years ago
|
"cell_type": "markdown",
|
||
|
"metadata": {
|
||
|
"id": "Q-65jwrDeK6w"
|
||
|
},
|
||
|
"source": [
|
||
|
"\n",
|
||
|
"\n",
|
||
|
"```\n",
|
||
|
"# Defaults for WandbCallbackHandler.flush_tracker(...)\n",
|
||
|
"\n",
|
||
|
"reset: bool = True,\n",
|
||
|
"finish: bool = False,\n",
|
||
|
"```\n",
|
||
|
"\n"
|
||
1 year ago
|
],
|
||
|
"id": "f684905f"
|
||
2 years ago
|
},
|
||
|
{
|
||
1 year ago
|
"attachments": {},
|
||
2 years ago
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"The `flush_tracker` function is used to log LangChain sessions to Weights & Biases. It takes in the LangChain module or agent, and logs at minimum the prompts and generations alongside the serialized form of the LangChain module to the specified Weights & Biases project. By default we reset the session as opposed to concluding the session outright."
|
||
1 year ago
|
],
|
||
|
"id": "1c096610"
|
||
2 years ago
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 4,
|
||
|
"metadata": {
|
||
|
"id": "o_VmneyIUyx8"
|
||
|
},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
"Waiting for W&B process to finish... <strong style=\"color:green\">(success).</strong>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"<IPython.core.display.HTML object>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
" View run <strong style=\"color:#cdcd00\">llm</strong> at: <a href='https://wandb.ai/harrison-chase/langchain_callback_demo/runs/e47j1914' target=\"_blank\">https://wandb.ai/harrison-chase/langchain_callback_demo/runs/e47j1914</a><br/>Synced 5 W&B file(s), 2 media file(s), 5 artifact file(s) and 0 other file(s)"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"<IPython.core.display.HTML object>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
"Find logs at: <code>./wandb/run-20230318_150408-e47j1914/logs</code>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"<IPython.core.display.HTML object>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"application/vnd.jupyter.widget-view+json": {
|
||
|
"model_id": "0d7b4307ccdb450ea631497174fca2d1",
|
||
|
"version_major": 2,
|
||
|
"version_minor": 0
|
||
|
},
|
||
|
"text/plain": [
|
||
|
"VBox(children=(Label(value='Waiting for wandb.init()...\\r'), FloatProgress(value=0.016745895149999985, max=1.0…"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
"Tracking run with wandb version 0.14.0"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"<IPython.core.display.HTML object>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
"Run data is saved locally in <code>/Users/harrisonchase/workplace/langchain/docs/ecosystem/wandb/run-20230318_150534-jyxma7hu</code>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"<IPython.core.display.HTML object>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
"Syncing run <strong><a href='https://wandb.ai/harrison-chase/langchain_callback_demo/runs/jyxma7hu' target=\"_blank\">simple_sequential</a></strong> to <a href='https://wandb.ai/harrison-chase/langchain_callback_demo' target=\"_blank\">Weights & Biases</a> (<a href='https://wandb.me/run' target=\"_blank\">docs</a>)<br/>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"<IPython.core.display.HTML object>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
" View project at <a href='https://wandb.ai/harrison-chase/langchain_callback_demo' target=\"_blank\">https://wandb.ai/harrison-chase/langchain_callback_demo</a>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"<IPython.core.display.HTML object>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
" View run at <a href='https://wandb.ai/harrison-chase/langchain_callback_demo/runs/jyxma7hu' target=\"_blank\">https://wandb.ai/harrison-chase/langchain_callback_demo/runs/jyxma7hu</a>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"<IPython.core.display.HTML object>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"# SCENARIO 1 - LLM\n",
|
||
|
"llm_result = llm.generate([\"Tell me a joke\", \"Tell me a poem\"] * 3)\n",
|
||
|
"wandb_callback.flush_tracker(llm, name=\"simple_sequential\")"
|
||
1 year ago
|
],
|
||
|
"id": "d68750d5"
|
||
2 years ago
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 5,
|
||
|
"metadata": {
|
||
|
"id": "trxslyb1U28Y"
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"from langchain.prompts import PromptTemplate\n",
|
||
|
"from langchain.chains import LLMChain"
|
||
1 year ago
|
],
|
||
|
"id": "839a528e"
|
||
2 years ago
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 6,
|
||
|
"metadata": {
|
||
|
"id": "uauQk10SUzF6"
|
||
|
},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
"Waiting for W&B process to finish... <strong style=\"color:green\">(success).</strong>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"<IPython.core.display.HTML object>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
" View run <strong style=\"color:#cdcd00\">simple_sequential</strong> at: <a href='https://wandb.ai/harrison-chase/langchain_callback_demo/runs/jyxma7hu' target=\"_blank\">https://wandb.ai/harrison-chase/langchain_callback_demo/runs/jyxma7hu</a><br/>Synced 4 W&B file(s), 2 media file(s), 6 artifact file(s) and 0 other file(s)"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"<IPython.core.display.HTML object>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
"Find logs at: <code>./wandb/run-20230318_150534-jyxma7hu/logs</code>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"<IPython.core.display.HTML object>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"application/vnd.jupyter.widget-view+json": {
|
||
|
"model_id": "dbdbf28fb8ed40a3a60218d2e6d1a987",
|
||
|
"version_major": 2,
|
||
|
"version_minor": 0
|
||
|
},
|
||
|
"text/plain": [
|
||
|
"VBox(children=(Label(value='Waiting for wandb.init()...\\r'), FloatProgress(value=0.016736786816666675, max=1.0…"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
"Tracking run with wandb version 0.14.0"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"<IPython.core.display.HTML object>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
"Run data is saved locally in <code>/Users/harrisonchase/workplace/langchain/docs/ecosystem/wandb/run-20230318_150550-wzy59zjq</code>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"<IPython.core.display.HTML object>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
"Syncing run <strong><a href='https://wandb.ai/harrison-chase/langchain_callback_demo/runs/wzy59zjq' target=\"_blank\">agent</a></strong> to <a href='https://wandb.ai/harrison-chase/langchain_callback_demo' target=\"_blank\">Weights & Biases</a> (<a href='https://wandb.me/run' target=\"_blank\">docs</a>)<br/>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"<IPython.core.display.HTML object>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
" View project at <a href='https://wandb.ai/harrison-chase/langchain_callback_demo' target=\"_blank\">https://wandb.ai/harrison-chase/langchain_callback_demo</a>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"<IPython.core.display.HTML object>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
" View run at <a href='https://wandb.ai/harrison-chase/langchain_callback_demo/runs/wzy59zjq' target=\"_blank\">https://wandb.ai/harrison-chase/langchain_callback_demo/runs/wzy59zjq</a>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"<IPython.core.display.HTML object>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"# SCENARIO 2 - Chain\n",
|
||
|
"template = \"\"\"You are a playwright. Given the title of play, it is your job to write a synopsis for that title.\n",
|
||
|
"Title: {title}\n",
|
||
|
"Playwright: This is a synopsis for the above play:\"\"\"\n",
|
||
|
"prompt_template = PromptTemplate(input_variables=[\"title\"], template=template)\n",
|
||
1 year ago
|
"synopsis_chain = LLMChain(llm=llm, prompt=prompt_template, callbacks=callbacks)\n",
|
||
2 years ago
|
"\n",
|
||
|
"test_prompts = [\n",
|
||
|
" {\n",
|
||
|
" \"title\": \"documentary about good video games that push the boundary of game design\"\n",
|
||
|
" },\n",
|
||
|
" {\"title\": \"cocaine bear vs heroin wolf\"},\n",
|
||
|
" {\"title\": \"the best in class mlops tooling\"},\n",
|
||
|
"]\n",
|
||
|
"synopsis_chain.apply(test_prompts)\n",
|
||
|
"wandb_callback.flush_tracker(synopsis_chain, name=\"agent\")"
|
||
1 year ago
|
],
|
||
|
"id": "44842d32"
|
||
2 years ago
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 7,
|
||
|
"metadata": {
|
||
|
"id": "_jN73xcPVEpI"
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
2 years ago
|
"from langchain.agents import initialize_agent, load_tools\n",
|
||
2 years ago
|
"from langchain.agents import AgentType"
|
||
1 year ago
|
],
|
||
|
"id": "0c609071"
|
||
2 years ago
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 8,
|
||
|
"metadata": {
|
||
|
"id": "Gpq4rk6VT9cu"
|
||
|
},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"name": "stdout",
|
||
|
"output_type": "stream",
|
||
|
"text": [
|
||
|
"\n",
|
||
|
"\n",
|
||
1 year ago
|
"\u001b[1m> Entering new AgentExecutor chain...\u001b[0m\n",
|
||
|
"\u001b[32;1m\u001b[1;3m I need to find out who Leo DiCaprio's girlfriend is and then calculate her age raised to the 0.43 power.\n",
|
||
2 years ago
|
"Action: Search\n",
|
||
1 year ago
|
"Action Input: \"Leo DiCaprio girlfriend\"\u001b[0m\n",
|
||
|
"Observation: \u001b[36;1m\u001b[1;3mDiCaprio had a steady girlfriend in Camila Morrone. He had been with the model turned actress for nearly five years, as they were first said to be dating at the end of 2017. And the now 26-year-old Morrone is no stranger to Hollywood.\u001b[0m\n",
|
||
|
"Thought:\u001b[32;1m\u001b[1;3m I need to calculate her age raised to the 0.43 power.\n",
|
||
2 years ago
|
"Action: Calculator\n",
|
||
1 year ago
|
"Action Input: 26^0.43\u001b[0m\n",
|
||
|
"Observation: \u001b[33;1m\u001b[1;3mAnswer: 4.059182145592686\n",
|
||
|
"\u001b[0m\n",
|
||
|
"Thought:\u001b[32;1m\u001b[1;3m I now know the final answer.\n",
|
||
|
"Final Answer: Leo DiCaprio's girlfriend is Camila Morrone and her current age raised to the 0.43 power is 4.059182145592686.\u001b[0m\n",
|
||
2 years ago
|
"\n",
|
||
1 year ago
|
"\u001b[1m> Finished chain.\u001b[0m\n"
|
||
2 years ago
|
]
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
"Waiting for W&B process to finish... <strong style=\"color:green\">(success).</strong>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"<IPython.core.display.HTML object>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
" View run <strong style=\"color:#cdcd00\">agent</strong> at: <a href='https://wandb.ai/harrison-chase/langchain_callback_demo/runs/wzy59zjq' target=\"_blank\">https://wandb.ai/harrison-chase/langchain_callback_demo/runs/wzy59zjq</a><br/>Synced 5 W&B file(s), 2 media file(s), 7 artifact file(s) and 0 other file(s)"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"<IPython.core.display.HTML object>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"text/html": [
|
||
|
"Find logs at: <code>./wandb/run-20230318_150550-wzy59zjq/logs</code>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"<IPython.core.display.HTML object>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"# SCENARIO 3 - Agent with Tools\n",
|
||
1 year ago
|
"tools = load_tools([\"serpapi\", \"llm-math\"], llm=llm)\n",
|
||
2 years ago
|
"agent = initialize_agent(\n",
|
||
|
" tools,\n",
|
||
|
" llm,\n",
|
||
2 years ago
|
" agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,\n",
|
||
2 years ago
|
")\n",
|
||
|
"agent.run(\n",
|
||
1 year ago
|
" \"Who is Leo DiCaprio's girlfriend? What is her current age raised to the 0.43 power?\",\n",
|
||
|
" callbacks=callbacks,\n",
|
||
2 years ago
|
")\n",
|
||
|
"wandb_callback.flush_tracker(agent, reset=False, finish=True)"
|
||
1 year ago
|
],
|
||
|
"id": "5e106cb8"
|
||
2 years ago
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": null,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
1 year ago
|
"source": [],
|
||
|
"id": "2701d0de"
|
||
2 years ago
|
}
|
||
|
],
|
||
|
"metadata": {
|
||
|
"colab": {
|
||
|
"provenance": []
|
||
|
},
|
||
|
"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.9.1"
|
||
|
}
|
||
|
},
|
||
|
"nbformat": 4,
|
||
1 year ago
|
"nbformat_minor": 5
|
||
|
}
|