forked from Archives/langchain
drop network capabilities by default, example on using networking
parent
8a7871ece3
commit
c30ef7dbc4
@ -1,128 +1,180 @@
|
|||||||
{
|
{
|
||||||
"cells": [
|
"cells": [
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"metadata": {
|
|
||||||
"jukit_cell_id": "hqQkbPEwTJ"
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"# Using the DockerWrapper utility"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": null,
|
|
||||||
"metadata": {
|
|
||||||
"jukit_cell_id": "vCepuypaFH"
|
|
||||||
},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"from langchain.utilities.docker import DockerWrapper"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": null,
|
|
||||||
"metadata": {
|
|
||||||
"jukit_cell_id": "BtYVqy2YtO"
|
|
||||||
},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"d = DockerWrapper(image='shell')"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 1,
|
|
||||||
"metadata": {
|
|
||||||
"jukit_cell_id": "ELWWm03ptQ"
|
|
||||||
},
|
|
||||||
"outputs": [
|
|
||||||
{
|
{
|
||||||
"name": "stdout",
|
"cell_type": "code",
|
||||||
"output_type": "stream",
|
"metadata": {
|
||||||
"text": [
|
"jukit_cell_id": "O4HPx3boF0"
|
||||||
"1\n",
|
},
|
||||||
"2\n",
|
"source": [],
|
||||||
"3\n",
|
"outputs": [],
|
||||||
"4\n",
|
"execution_count": null
|
||||||
"5\n",
|
},
|
||||||
"6\n",
|
{
|
||||||
"7\n",
|
"cell_type": "markdown",
|
||||||
"8\n",
|
"metadata": {
|
||||||
"9\n",
|
"jukit_cell_id": "hqQkbPEwTJ"
|
||||||
"10\n"
|
},
|
||||||
]
|
"source": [
|
||||||
}
|
"# Using the DockerWrapper utility"
|
||||||
],
|
]
|
||||||
"source": [
|
},
|
||||||
"query = \"\"\"\n",
|
{
|
||||||
"for i in $(seq 1 10)\n",
|
"cell_type": "code",
|
||||||
"do\n",
|
"metadata": {
|
||||||
" echo $i\n",
|
"jukit_cell_id": "vCepuypaFH"
|
||||||
"done\n",
|
},
|
||||||
"\"\"\"\n",
|
"source": [
|
||||||
"print(d.exec_run(query))"
|
"from langchain.utilities.docker import DockerWrapper"
|
||||||
]
|
],
|
||||||
},
|
"outputs": [],
|
||||||
{
|
"execution_count": null
|
||||||
"cell_type": "code",
|
},
|
||||||
"execution_count": null,
|
{
|
||||||
"metadata": {
|
"cell_type": "code",
|
||||||
"jukit_cell_id": "lGMqLz5sDo"
|
"metadata": {
|
||||||
},
|
"jukit_cell_id": "BtYVqy2YtO"
|
||||||
"outputs": [],
|
},
|
||||||
"source": [
|
"source": [
|
||||||
"p = DockerWrapper(image='python')\n",
|
"d = DockerWrapper(image='shell')"
|
||||||
"\n",
|
],
|
||||||
"py_payload = \"\"\"\n",
|
"outputs": [],
|
||||||
"def hello_world():\n",
|
"execution_count": null
|
||||||
" return 'hello world'\n",
|
},
|
||||||
"\n",
|
|
||||||
"hello_world()\n",
|
|
||||||
"\"\"\""
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 2,
|
|
||||||
"metadata": {
|
|
||||||
"jukit_cell_id": "X04Wd6zbrk"
|
|
||||||
},
|
|
||||||
"outputs": [
|
|
||||||
{
|
{
|
||||||
"name": "stdout",
|
"cell_type": "code",
|
||||||
"output_type": "stream",
|
"metadata": {
|
||||||
"text": [
|
"jukit_cell_id": "ELWWm03ptQ"
|
||||||
"'hello world'\n"
|
},
|
||||||
]
|
"source": [
|
||||||
|
"query = \"\"\"\n",
|
||||||
|
"for i in $(seq 1 10)\n",
|
||||||
|
"do\n",
|
||||||
|
" echo $i\n",
|
||||||
|
"done\n",
|
||||||
|
"\"\"\"\n",
|
||||||
|
"print(d.exec_run(query))"
|
||||||
|
],
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"output_type": "stream",
|
||||||
|
"name": "stdout",
|
||||||
|
"text": "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"execution_count": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"metadata": {
|
||||||
|
"jukit_cell_id": "lGMqLz5sDo"
|
||||||
|
},
|
||||||
|
"source": [
|
||||||
|
"p = DockerWrapper(image='python')\n",
|
||||||
|
"\n",
|
||||||
|
"py_payload = \"\"\"\n",
|
||||||
|
"def hello_world():\n",
|
||||||
|
" return 'hello world'\n",
|
||||||
|
"\n",
|
||||||
|
"hello_world()\n",
|
||||||
|
"\"\"\""
|
||||||
|
],
|
||||||
|
"outputs": [],
|
||||||
|
"execution_count": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"metadata": {
|
||||||
|
"jukit_cell_id": "X04Wd6zbrk"
|
||||||
|
},
|
||||||
|
"source": [
|
||||||
|
"print(p.exec_run(py_payload))"
|
||||||
|
],
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"output_type": "stream",
|
||||||
|
"name": "stdout",
|
||||||
|
"text": "'hello world'\n"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"execution_count": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"metadata": {
|
||||||
|
"jukit_cell_id": "lKOfuDoJGk"
|
||||||
|
},
|
||||||
|
"source": [],
|
||||||
|
"outputs": [],
|
||||||
|
"execution_count": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {
|
||||||
|
"jukit_cell_id": "eSzXtDrpqU"
|
||||||
|
},
|
||||||
|
"source": [
|
||||||
|
"## Passing custom parameters\n",
|
||||||
|
"\n",
|
||||||
|
"By default containers are run with a safe set of parameters. You can pass any parameters\n",
|
||||||
|
"that are accepted by the docker python sdk to the run and exec commands.\n",
|
||||||
|
"\n",
|
||||||
|
"### Using networking"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"metadata": {
|
||||||
|
"jukit_cell_id": "eWFGCxD9pv"
|
||||||
|
},
|
||||||
|
"source": [
|
||||||
|
"# by default containers don't have access to the network\n",
|
||||||
|
"print(d.run('ping -c 1 google.com'))"
|
||||||
|
],
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"output_type": "stream",
|
||||||
|
"name": "stdout",
|
||||||
|
"text": "STDERR: Command '/bin/sh -c 'ping -c 1 google.com'' in image 'alpine:latest' returned non-zero exit status 1: b\"ping: bad address 'google.com'\\n\"\n"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"execution_count": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"metadata": {
|
||||||
|
"jukit_cell_id": "Z0YkpuXVyL"
|
||||||
|
},
|
||||||
|
"source": [
|
||||||
|
"# using the network parameter\n",
|
||||||
|
"print(d.run('ping -c 1 google.com', network='bridge'))"
|
||||||
|
],
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"output_type": "stream",
|
||||||
|
"name": "stdout",
|
||||||
|
"text": "PING google.com (142.250.200.110): 56 data bytes\n64 bytes from 142.250.200.110: seq=0 ttl=42 time=13.695 ms\n\n--- google.com ping statistics ---\n1 packets transmitted, 1 packets received, 0% packet loss\nround-trip min/avg/max = 13.695/13.695/13.695 ms\n"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"execution_count": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"metadata": {
|
||||||
|
"jukit_cell_id": "3rMWzzuLHq"
|
||||||
|
},
|
||||||
|
"source": [],
|
||||||
|
"outputs": [],
|
||||||
|
"execution_count": null
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"metadata": {
|
||||||
|
"anaconda-cloud": {},
|
||||||
|
"kernelspec": {
|
||||||
|
"display_name": "python",
|
||||||
|
"language": "python",
|
||||||
|
"name": "python3"
|
||||||
}
|
}
|
||||||
],
|
|
||||||
"source": [
|
|
||||||
"print(p.exec_run(py_payload))"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"metadata": {
|
|
||||||
"anaconda-cloud": {},
|
|
||||||
"kernelspec": {
|
|
||||||
"display_name": "Python 3 (ipykernel)",
|
|
||||||
"language": "python",
|
|
||||||
"name": "python3"
|
|
||||||
},
|
},
|
||||||
"language_info": {
|
"nbformat": 4,
|
||||||
"codemirror_mode": {
|
"nbformat_minor": 4
|
||||||
"name": "ipython",
|
}
|
||||||
"version": 3
|
|
||||||
},
|
|
||||||
"file_extension": ".py",
|
|
||||||
"mimetype": "text/x-python",
|
|
||||||
"name": "python",
|
|
||||||
"nbconvert_exporter": "python",
|
|
||||||
"pygments_lexer": "ipython3",
|
|
||||||
"version": "3.9.11"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nbformat": 4,
|
|
||||||
"nbformat_minor": 4
|
|
||||||
}
|
|
Loading…
Reference in New Issue