Files
t6_mem0/notebooks/elasticsearch.ipynb

180 lines
4.0 KiB
Plaintext

{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": []
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
}
},
"cells": [
{
"cell_type": "markdown",
"source": [
"## Cookbook for using ElasticSearchDB with Embedchain"
],
"metadata": {
"id": "b02n_zJ_hl3d"
}
},
{
"cell_type": "markdown",
"source": [
"### Step-1: Install embedchain package"
],
"metadata": {
"id": "gyJ6ui2vhtMY"
}
},
{
"cell_type": "code",
"source": [
"!pip install embedchain"
],
"metadata": {
"id": "-NbXjAdlh0vJ"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"### Step-2: Set OpenAI environment variables and install the dependencies.\n",
"\n",
"You can find this env variable on your [OpenAI dashboard](https://platform.openai.com/account/api-keys). Now lets install the dependencies needed for Elasticsearch."
],
"metadata": {
"id": "nGnpSYAAh2bQ"
}
},
{
"cell_type": "code",
"source": [
"!pip install --upgrade 'embedchain[elasticsearch]'"
],
"metadata": {
"id": "-MUFRfxV7Jk7"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"import os\n",
"from embedchain import App\n",
"\n",
"os.environ[\"OPENAI_API_KEY\"] = \"sk-xxx\""
],
"metadata": {
"id": "0fBdQ9GAiRvK"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"### Step-3: Define your Vector Database config"
],
"metadata": {
"id": "Ns6RhPfbiitr"
}
},
{
"cell_type": "code",
"source": [
"config = \"\"\"\n",
"vectordb:\n",
" provider: elasticsearch\n",
" config:\n",
" collection_name: 'es-index'\n",
" es_url: your-elasticsearch-url.com\n",
" allow_reset: true\n",
" api_key: xxx\n",
"\"\"\"\n",
"\n",
"# Write the multi-line string to a YAML file\n",
"with open('elasticsearch.yaml', 'w') as file:\n",
" file.write(config)"
],
"metadata": {
"id": "S9CkxVjriotB"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"### Step-4 Create embedchain app based on the config"
],
"metadata": {
"id": "PGt6uPLIi1CS"
}
},
{
"cell_type": "code",
"source": [
"app = App.from_config(yaml_path=\"elasticsearch.yaml\")"
],
"metadata": {
"id": "Amzxk3m-i3tD"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"### Step-5: Add data sources to your app"
],
"metadata": {
"id": "XNXv4yZwi7ef"
}
},
{
"cell_type": "code",
"source": [
"app.add(\"https://www.forbes.com/profile/elon-musk\")"
],
"metadata": {
"id": "Sn_0rx9QjIY9"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"### Step-6: All set. Now start asking questions related to your data"
],
"metadata": {
"id": "_7W6fDeAjMAP"
}
},
{
"cell_type": "code",
"source": [
"while(True):\n",
" question = input(\"Enter question: \")\n",
" if question in ['q', 'exit', 'quit']:\n",
" break\n",
" answer = app.query(question)\n",
" print(answer)"
],
"metadata": {
"id": "cvIK7dWRjN_f"
},
"execution_count": null,
"outputs": []
}
]
}