EddyGiusepe commited on
Commit
8280d69
·
1 Parent(s): c6a6f68

Um guia para usar o ChromaDB

Browse files
1_Guide_to_Chroma_DB_A_Vector_Store_for_Your_Generative_AI_LLMs/Guide_to_Chroma_DB_A_Vector_Store_for_Your_Generative_AI_LLMs.ipynb ADDED
@@ -0,0 +1,177 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "metadata": {},
6
+ "source": [
7
+ "<h1 align=\"center\"><font color=\"pink\">Guia para Chroma DB | Um repositório de vetores para seus LLMs de IA generativa</font></h1>"
8
+ ]
9
+ },
10
+ {
11
+ "cell_type": "markdown",
12
+ "metadata": {},
13
+ "source": [
14
+ "<font color=\"yellow\">Data Scientist.: Dr.Eddy Giusepe Chirinos Isidro</font>"
15
+ ]
16
+ },
17
+ {
18
+ "cell_type": "markdown",
19
+ "metadata": {},
20
+ "source": [
21
+ "Link de estudo:\n",
22
+ "\n",
23
+ "* [Analytics Vidhya](https://www.analyticsvidhya.com/blog/2023/07/guide-to-chroma-db-a-vector-store-for-your-generative-ai-llms/)"
24
+ ]
25
+ },
26
+ {
27
+ "cell_type": "markdown",
28
+ "metadata": {},
29
+ "source": [
30
+ "# <font color=\"red\">Criar coleção e adicionar documentos</font>"
31
+ ]
32
+ },
33
+ {
34
+ "cell_type": "code",
35
+ "execution_count": 1,
36
+ "metadata": {},
37
+ "outputs": [],
38
+ "source": [
39
+ "import chromadb\n",
40
+ "\n",
41
+ "\n",
42
+ "client = chromadb.Client()\n"
43
+ ]
44
+ },
45
+ {
46
+ "cell_type": "code",
47
+ "execution_count": null,
48
+ "metadata": {},
49
+ "outputs": [],
50
+ "source": [
51
+ "#client.reset() # Esvazia e redefine completamente o banco de dados. Isso é destrutivo e irreversível.\n",
52
+ "client.delete_collection(name=\"my_information\")\n",
53
+ "client.list_collections()\n"
54
+ ]
55
+ },
56
+ {
57
+ "cell_type": "code",
58
+ "execution_count": 3,
59
+ "metadata": {},
60
+ "outputs": [],
61
+ "source": [
62
+ "collection = client.create_collection(name=\"my_information\")\n",
63
+ "\n",
64
+ "\n",
65
+ "collection.add(\n",
66
+ " \n",
67
+ " documents=[\"Este é um documento que contém informações do carro.\",\n",
68
+ " \"Este é um documento que contém informações sobre cães.\", \n",
69
+ " \"Este documento contém um catálogo de quatro rodas\"],\n",
70
+ " \n",
71
+ " metadatas=[{\"source\": \"Livro de carros\"},{\"source\": \"Livro de cachorro\"},{'source':'Informações sobre o veículo'}],\n",
72
+ " \n",
73
+ " ids=[\"id1\", \"id2\", \"id3\"]\n",
74
+ ")\n",
75
+ "\n"
76
+ ]
77
+ },
78
+ {
79
+ "cell_type": "code",
80
+ "execution_count": 4,
81
+ "metadata": {},
82
+ "outputs": [
83
+ {
84
+ "name": "stdout",
85
+ "output_type": "stream",
86
+ "text": [
87
+ "{'ids': [['id1', 'id2']], 'distances': [[1.0389368534088135, 1.2704360485076904]], 'metadatas': [[{'source': 'Livro de carros'}, {'source': 'Livro de cachorro'}]], 'embeddings': None, 'documents': [['Este é um documento que contém informações do carro.', 'Este é um documento que contém informações sobre cães.']], 'uris': None, 'data': None}\n"
88
+ ]
89
+ }
90
+ ],
91
+ "source": [
92
+ "results = collection.query(\n",
93
+ " query_texts=[\"carro\"],\n",
94
+ " n_results=2\n",
95
+ ")\n",
96
+ "\n",
97
+ "\n",
98
+ "print(results)"
99
+ ]
100
+ },
101
+ {
102
+ "cell_type": "markdown",
103
+ "metadata": {},
104
+ "source": [
105
+ "# <font color=\"red\">Updating and Deleting Data</font>"
106
+ ]
107
+ },
108
+ {
109
+ "cell_type": "code",
110
+ "execution_count": 26,
111
+ "metadata": {},
112
+ "outputs": [],
113
+ "source": [
114
+ "collection.update(\n",
115
+ " ids=[\"id2\"],\n",
116
+ " documents=[\"Este é um documento contendo informações sobre gatos\"],\n",
117
+ " metadatas=[{\"source\": \"Livro do gato\"}],\n",
118
+ ")\n"
119
+ ]
120
+ },
121
+ {
122
+ "cell_type": "code",
123
+ "execution_count": 27,
124
+ "metadata": {},
125
+ "outputs": [
126
+ {
127
+ "name": "stdout",
128
+ "output_type": "stream",
129
+ "text": [
130
+ "{'ids': [['id3']], 'distances': [[1.862352728843689]], 'metadatas': [[{'source': 'Informações sobre o veículo'}]], 'embeddings': None, 'documents': [['Este documento contém um catálogo de quatro rodas']], 'uris': None, 'data': None}\n"
131
+ ]
132
+ }
133
+ ],
134
+ "source": [
135
+ "# Query in Database\n",
136
+ "\n",
137
+ "results = collection.query(\n",
138
+ " query_texts=[\"Felinos\"],\n",
139
+ " n_results=1\n",
140
+ ")\n",
141
+ "\n",
142
+ "\n",
143
+ "print(results)"
144
+ ]
145
+ },
146
+ {
147
+ "cell_type": "code",
148
+ "execution_count": null,
149
+ "metadata": {},
150
+ "outputs": [],
151
+ "source": [
152
+ "Chroma_DB_Tutorial_A_Step-By-Step_Guide"
153
+ ]
154
+ }
155
+ ],
156
+ "metadata": {
157
+ "kernelspec": {
158
+ "display_name": "venv_LLM",
159
+ "language": "python",
160
+ "name": "python3"
161
+ },
162
+ "language_info": {
163
+ "codemirror_mode": {
164
+ "name": "ipython",
165
+ "version": 3
166
+ },
167
+ "file_extension": ".py",
168
+ "mimetype": "text/x-python",
169
+ "name": "python",
170
+ "nbconvert_exporter": "python",
171
+ "pygments_lexer": "ipython3",
172
+ "version": "3.9.16"
173
+ }
174
+ },
175
+ "nbformat": 4,
176
+ "nbformat_minor": 2
177
+ }
2_DATACAMP_Chroma_DB_Tutorial_A_Step-By-Step_Guide/Chroma_DB_Tutorial_A_Step-By-Step_Guide.ipynb ADDED
The diff for this file is too large to render. See raw diff