ragit 0.5__py3-none-any.whl → 0.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
ragit/main.py CHANGED
@@ -5,7 +5,6 @@ from sentence_transformers import SentenceTransformer
5
5
  from typing import List, Dict, Optional, Union
6
6
  import os
7
7
 
8
-
9
8
  class VectorDBManager:
10
9
  def __init__(
11
10
  self,
@@ -353,32 +352,3 @@ class VectorDBManager:
353
352
  except Exception as e:
354
353
  self.logger.error(f"Error getting texts by IDs: {str(e)}")
355
354
  return {}
356
-
357
- def get_by_texts(self, texts: List[str], collection_name: str) -> Dict[str, str]:
358
- """
359
- Get IDs for given texts in batch.
360
- Note: For exact text matching. For similar texts, use find_nearby_texts.
361
-
362
- Args:
363
- texts (List[str]): List of texts to fetch
364
- collection_name (str): Name of the collection
365
-
366
- Returns:
367
- Dict[str, str]: Dictionary mapping texts to their corresponding IDs
368
- """
369
- try:
370
- collection = self.client.get_collection(collection_name)
371
-
372
- all_data = collection.get()
373
-
374
- text_to_id = {
375
- text: id_
376
- for text, id_ in zip(all_data["documents"], all_data["ids"])
377
- if text in texts
378
- }
379
-
380
- return text_to_id
381
-
382
- except Exception as e:
383
- self.logger.error(f"Error getting IDs by texts: {str(e)}")
384
- return {}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ragit
3
- Version: 0.5
3
+ Version: 0.7
4
4
  Home-page: https://github.com/stsfaroz/ragit
5
5
  Author: Salman Faroz
6
6
  License: MIT
@@ -22,7 +22,7 @@ Dynamic: requires-dist
22
22
  # Ragit
23
23
  🚀 Smart, Fast, Scalable Search 🚀
24
24
 
25
- **ragit** is a lightweight Python library that simplifies the management of vector databases. With ragit, you can easily create, update, query, and manage your vector database, all from CSV files containing text data.
25
+ **ragit** is a lightweight Python library that simplifies the management of vector databases. With **ragit**, you can easily create, update, query, and manage your vector database, all from CSV files containing text data.
26
26
 
27
27
  ## Features
28
28
 
@@ -33,7 +33,7 @@ Dynamic: requires-dist
33
33
  - **Deletion:** Remove single entries or entire collections when needed.
34
34
 
35
35
  ## CSV File Format
36
- ragit expects your CSV file to have exactly two columns: `id` and `text`.
36
+ ragit expects your CSV file to have exactly two columns: `id` and `text`. **Note:** Each `id` must be unique.
37
37
 
38
38
  ## Example CSV (`data.csv`):
39
39
 
@@ -72,13 +72,15 @@ db_manager.create_database(
72
72
  ```
73
73
  ### Reloading Your Database
74
74
 
75
- After creating and populating your vector database, simply load it later by reinitializing with the same persistence directory:
75
+ To reuse your existing vector database, initialize VectorDBManager with the same parameters that were used when creating the database.
76
76
 
77
77
  ```python
78
78
  from ragit import VectorDBManager
79
79
 
80
80
  db_manager = VectorDBManager(
81
81
  persist_directory="./my_vector_db",
82
+ provider="sentence_transformer",
83
+ model_name="all-mpnet-base-v2"
82
84
  )
83
85
  ```
84
86
 
@@ -131,17 +133,7 @@ for item in results:
131
133
  print(f"Distance ({item['metric']}): {item['raw_distance']}")
132
134
  ```
133
135
 
134
- ### 7. Deleting an Entry
135
- Remove an entry from the collection by its ID:
136
-
137
- ```python
138
- db_manager.delete_entry_by_id(
139
- id_="1",
140
- collection_name="my_collection"
141
- )
142
- ```
143
-
144
- ### 8. Fetching Texts by IDs
136
+ ### 7. Fetching Texts by IDs
145
137
  Retrieve text entries for a list of IDs:
146
138
 
147
139
  ```python
@@ -150,18 +142,18 @@ texts = db_manager.get_by_ids(ids_to_fetch, "my_collection")
150
142
  print("Texts:", texts)
151
143
  ```
152
144
 
153
- ### 9. Fetching IDs by Texts
154
- For an exact text match, get the corresponding IDs:
145
+ ### 8. Deleting a Row / Collection
146
+
147
+ Remove an entry from the collection by its ID:
155
148
 
156
149
  ```python
157
- texts_to_fetch = [
158
- "Plato was an ancient Greek philosopher of the Classical period who is considered a foundational thinker in Western philosophy"
159
- ]
160
- ids = db_manager.get_by_texts(texts_to_fetch, "my_collection")
161
- print("IDs:", ids)
150
+ db_manager.delete_entry_by_id(
151
+ id_="1",
152
+ collection_name="my_collection"
153
+ )
162
154
  ```
163
155
 
164
- ### 10. Deleting a Collection
156
+
165
157
  Delete an entire collection. **Note:** You must pass `confirmation="yes"` to proceed with deletion.
166
158
 
167
159
  ```python
@@ -0,0 +1,6 @@
1
+ ragit/__init__.py,sha256=GECJxYFL_0PMy6tbcVFpW9Fhe1JiI2uXH4iJWhUHpKs,48
2
+ ragit/main.py,sha256=f2kDfZPxP26DBvzmP7aF6VhnNAE1hC-ZONU5ZH6RVBM,11774
3
+ ragit-0.7.dist-info/METADATA,sha256=xYd5dnzwTFkXCGTCHMDakiER_xfDr8VjQBntOFlwL6M,5165
4
+ ragit-0.7.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
5
+ ragit-0.7.dist-info/top_level.txt,sha256=pkPbG7yrw61wt9_y_xcLE2vq2a55fzockASD0yq0g4s,6
6
+ ragit-0.7.dist-info/RECORD,,
@@ -1,6 +0,0 @@
1
- ragit/__init__.py,sha256=GECJxYFL_0PMy6tbcVFpW9Fhe1JiI2uXH4iJWhUHpKs,48
2
- ragit/main.py,sha256=L5jId4Cwrd99tV10QzokvF3XWarOj3vPEOWLzPrTMN0,12721
3
- ragit-0.5.dist-info/METADATA,sha256=sC4r-KcClUSD_aBU1IkZwAn7f0dvF2SGOnvFel3dqlY,5395
4
- ragit-0.5.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
5
- ragit-0.5.dist-info/top_level.txt,sha256=pkPbG7yrw61wt9_y_xcLE2vq2a55fzockASD0yq0g4s,6
6
- ragit-0.5.dist-info/RECORD,,
File without changes