> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agno.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Insert, Search, and Delete with LanceDB

> Insert a PDF, search it with an agent, and delete LanceDB rows by name or metadata.

```python lance_db.py theme={null}
from agno.agent import Agent
from agno.knowledge.knowledge import Knowledge
from agno.vectordb.lancedb import LanceDb

vector_db = LanceDb(table_name="recipes", uri="tmp/lancedb")
knowledge = Knowledge(vector_db=vector_db)
agent = Agent(knowledge=knowledge, search_knowledge=True)

if __name__ == "__main__":
    knowledge.insert(
        name="Recipes",
        url="https://agno-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf",
        metadata={"doc_type": "recipe_book"},
    )

    agent.print_response(
        "List the ingredients for Massaman Gai.",
        markdown=True,
    )

    vector_db.delete_by_name("Recipes")
    # To delete by metadata instead:
    # vector_db.delete_by_metadata({"doc_type": "recipe_book"})
```

Choose one deletion method after the search. `delete_by_name()` and `delete_by_metadata()` load matching rows and delete their IDs from the LanceDB table.

## Run the Example

<Steps>
  <Snippet file="create-venv-step.mdx" />

  <Step title="Install dependencies">
    ```bash theme={null}
    uv pip install -U agno lancedb openai pypdf
    ```
  </Step>

  <Step title="Export the API key">
    ```bash theme={null}
    export OPENAI_API_KEY=your_openai_api_key_here
    ```
  </Step>

  <Step title="Run the example">
    ```bash theme={null}
    python lance_db.py
    ```
  </Step>
</Steps>

## Next Steps

| Task                      | Guide                                                                                  |
| ------------------------- | -------------------------------------------------------------------------------------- |
| Call async Agno methods   | [Async LanceDB usage](/knowledge/vector-stores/lancedb/usage/async-lance-db)           |
| Configure hybrid search   | [LanceDB hybrid search](/knowledge/vector-stores/lancedb/usage/lance-db-hybrid-search) |
| Configure search behavior | [LanceDB overview](/knowledge/vector-stores/lancedb/overview)                          |
