Spaces:
Runtime error
Runtime error
File size: 5,566 Bytes
2c8cfc0 847491b 2c8cfc0 847491b b1f1dd7 847491b b1f1dd7 847491b b1f1dd7 86c7913 b1f1dd7 847491b 2c8cfc0 847491b 2c8cfc0 b1f1dd7 847491b b1f1dd7 2c8cfc0 b1f1dd7 2c8cfc0 847491b 86c7913 847491b 2c8cfc0 847491b 2c8cfc0 b1f1dd7 847491b b1f1dd7 2c8cfc0 cfc0db8 b1f1dd7 cfc0db8 847491b cfc0db8 2c8cfc0 b1f1dd7 2c8cfc0 847491b 2c8cfc0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 |
{
"cells": [
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"# Examples\n",
"\n",
"Below you can find some examples of how to use the 🤖 `Megabots` library."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"from megabots import bot\n",
"from dotenv import load_dotenv"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"### Creating a bot\n",
"\n",
"The `bot` object is the main object of the library. It is used to create a bot and to interact with it.\n",
"\n",
"The `index` argument specifies the index to use for the bot. It can either be a saved index file (e.g., `index.pkl`) or a directory of documents (e.g., `./index`). In the case of the directory the index will be automatically created. If no index is specified the `bot` will look for `index.pkl` or `./index`."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Using model: gpt-3.5-turbo\n",
"Loading path from pickle file: ./index.pkl ...\n"
]
},
{
"data": {
"text/plain": [
"'The first roster of the Avengers included Iron Man, Thor, Hulk, Ant-Man, and the Wasp.'"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"qnabot = bot(\"qna-over-docs\", index=\"./index.pkl\")\n",
"qnabot.ask(\"what was the first roster of the avengers?\")"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"### Changing the bot's prompt\n",
"\n",
"You can change the bot's prompt to customize it to your needs."
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Using model: gpt-3.5-turbo\n",
"Loading path from pickle file: ./index.pkl ...\n"
]
},
{
"data": {
"text/plain": [
"\"Hmmm! Let me think about that... Ah yes, the original Avengers lineup included Iron Man, Thor, Hulk, Ant-Man, and the Wasp. They were like the ultimate superhero squad, except for maybe the Teenage Mutant Ninja Turtles. But let's be real, they were just a bunch of turtles who liked pizza.\""
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"prompt_template = \"\"\"\n",
"Use the following pieces of context to answer the question at the end. \n",
"If you don't know the answer, just say that you don't know, don't try to make up an answer.\n",
"Be very playfull and humourous in your responses. always try to make the user laugh.\n",
"Always start your answers with 'Hmmm! Let me think about that...'\n",
"{context}\n",
"\n",
"Question: {question}\n",
"Helpful humorous answer:\"\"\"\n",
"\n",
"load_dotenv()\n",
"\n",
"qnabot = bot(\n",
" \"qna-over-docs\",\n",
" index=\"./index.pkl\",\n",
" prompt_template=prompt_template,\n",
" prompt_variables=[\"context\", \"question\"],\n",
")\n",
"qnabot.ask(\"what was the first roster of the avengers?\")\n"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"### Using Megabots with Milvus\n",
"\n",
"Megabots `bot` can also use Milvus as a backend for its search engine. You can find an example of how to do it below.\n",
"\n",
"In order to run Milvus you need to follow [this guide](https://milvus.io/docs/example_code.md) to download a docker compose file and run it.\n",
"The command is:\n",
" \n",
"```bash\n",
"wget https://raw.githubusercontent.com/milvus-io/pymilvus/v2.2.7/examples/hello_milvus.py\n",
"```\n",
"You can then [install Attu](https://milvus.io/docs/attu_install-docker.md) as a management tool for Milvus"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Using model: gpt-3.5-turbo\n"
]
},
{
"data": {
"text/plain": [
"'The first roster of the Avengers included Iron Man, Thor, Hulk, Ant-Man, and the Wasp.'"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from megabots import bot, vectorstore\n",
"\n",
"# Create a vectorstore object. Default port is 19530 and default host is localhost\n",
"milvus = vectorstore(\"milvus\")\n",
"\n",
"# Point it to your files directory so that it can index the files and add them to the vectorstore\n",
"bot = bot(\"qna-over-docs\", index=\"./examples/files/\", vectorstore=milvus)\n",
"\n",
"bot.ask(\"what was the first roster of the avengers?\")\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": ".venv",
"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.0"
},
"orig_nbformat": 4
},
"nbformat": 4,
"nbformat_minor": 2
}
|