[Feature] add app.delete() method (#1187)
Co-authored-by: Deven Patel <deven298@yahoo.com>
This commit is contained in:
@@ -2,9 +2,33 @@
|
|||||||
title: 🗑 delete
|
title: 🗑 delete
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Delete Document
|
||||||
|
|
||||||
|
`delete()` method allows you to delete a document previously added to the app.
|
||||||
|
|
||||||
|
### Usage
|
||||||
|
|
||||||
|
```python
|
||||||
|
from embedchain import App
|
||||||
|
|
||||||
|
app = App()
|
||||||
|
|
||||||
|
forbes_doc_id = app.add("https://www.forbes.com/profile/elon-musk")
|
||||||
|
wiki_doc_id = app.add("https://en.wikipedia.org/wiki/Elon_Musk")
|
||||||
|
|
||||||
|
app.delete(forbes_doc_id) # deletes the forbes document
|
||||||
|
```
|
||||||
|
|
||||||
|
<Note>
|
||||||
|
If you do not have the document id, you can use `app.db.get()` method to get the document and extract the `hash` key from `metadatas` dictionary object, which serves as the document id.
|
||||||
|
</Note>
|
||||||
|
|
||||||
|
|
||||||
|
## Delete Chat Session History
|
||||||
|
|
||||||
`delete_session_chat_history()` method allows you to delete all previous messages in a chat history.
|
`delete_session_chat_history()` method allows you to delete all previous messages in a chat history.
|
||||||
|
|
||||||
## Usage
|
### Usage
|
||||||
|
|
||||||
```python
|
```python
|
||||||
from embedchain import App
|
from embedchain import App
|
||||||
@@ -17,3 +41,8 @@ app.chat("What is the net worth of Elon Musk?")
|
|||||||
|
|
||||||
app.delete_session_chat_history()
|
app.delete_session_chat_history()
|
||||||
```
|
```
|
||||||
|
|
||||||
|
<Note>
|
||||||
|
`delete_session_chat_history(session_id="session_1")` method also accepts `session_id` optional param for deleting chat history of a specific session.
|
||||||
|
It assumes the default session if no `session_id` is provided.
|
||||||
|
</Note>
|
||||||
@@ -674,3 +674,15 @@ class EmbedChain(JSONSerializable):
|
|||||||
def delete_all_chat_history(self, app_id: str):
|
def delete_all_chat_history(self, app_id: str):
|
||||||
self.llm.memory.delete(app_id=app_id)
|
self.llm.memory.delete(app_id=app_id)
|
||||||
self.llm.update_history(app_id=app_id)
|
self.llm.update_history(app_id=app_id)
|
||||||
|
|
||||||
|
def delete(self, source_id: str):
|
||||||
|
"""
|
||||||
|
Deletes the data from the database.
|
||||||
|
:param source_hash: The hash of the source.
|
||||||
|
:type source_hash: str
|
||||||
|
"""
|
||||||
|
self.db.delete(where={"hash": source_id})
|
||||||
|
logging.info(f"Successfully deleted {source_id}")
|
||||||
|
# Send anonymous telemetry
|
||||||
|
if self.config.collect_metrics:
|
||||||
|
self.telemetry.capture(event_name="delete", properties=self._telemetry_props)
|
||||||
|
|||||||
@@ -75,3 +75,8 @@ class BaseVectorDB(JSONSerializable):
|
|||||||
:type name: str
|
:type name: str
|
||||||
"""
|
"""
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
|
def delete(self):
|
||||||
|
"""Delete from database."""
|
||||||
|
|
||||||
|
raise NotImplementedError
|
||||||
|
|||||||
Reference in New Issue
Block a user