Documentation Index
Fetch the complete documentation index at: https://agno-v2-shaloo-ai-support-link.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Setup
Example
import typer
from typing import Optional
from rich.prompt import Prompt
from agno.agent import Agent
from agno.knowledge.knowledge import Knowledge
from agno.vectordb.lancedb import LanceDb
from agno.vectordb.search import SearchType
# LanceDB Vector DB
vector_db = LanceDb(
table_name="recipes",
uri="/tmp/lancedb",
search_type=SearchType.keyword,
)
# Knowledge Base
knowledge_base = Knowledge(
vector_db=vector_db,
)
def lancedb_agent(user: str = "user"):
agent = Agent(
knowledge=knowledge_base,
debug_mode=True,
)
while True:
message = Prompt.ask(f"[bold] :sunglasses: {user} [/bold]")
if message in ("exit", "bye"):
break
agent.print_response(message, session_id=f"{user}_session")
if __name__ == "__main__":
# Comment out after first run
knowledge_base.insert(
url="https://agno-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf"
)
typer.run(lancedb_agent)
Async Support ⚡
LanceDB also supports asynchronous operations, enabling concurrency and leading to better performance.
# install lancedb - `pip install lancedb`
import asyncio
from agno.agent import Agent
from agno.knowledge.knowledge import Knowledge
from agno.vectordb.lancedb import LanceDb
# Initialize LanceDB
vector_db = LanceDb(
table_name="recipes",
uri="tmp/lancedb", # You can change this path to store data elsewhere
)
# Create knowledge base
knowledge_base = Knowledge(
vector_db=vector_db,
)
agent = Agent(knowledge=knowledge_base, debug_mode=True)
if __name__ == "__main__":
# Load knowledge base asynchronously
asyncio.run(knowledge_base.ainsert(
url="https://agno-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf"
)
)
# Create and use the agent asynchronously
asyncio.run(agent.aprint_response("How to make Tom Kha Gai", markdown=True))
Use aload() and aprint_response() methods with asyncio.run() for non-blocking operations in high-throughput applications.
LanceDb Params
| Parameter | Type | Default | Description |
|---|
uri | str | - | The URI to connect to. |
table | LanceTable | - | The Lance table to use. |
table_name | str | - | The name of the table to use. |
connection | DBConnection | - | The database connection to use. |
api_key | str | - | The API key to use. |
embedder | Embedder | - | The embedder to use. |
search_type | SearchType | vector | The search type to use. |
distance | Distance | cosine | The distance to use. |
nprobes | int | - | The number of probes to use. More Info |
reranker | Reranker | - | The reranker to use. More Info |
use_tantivy | bool | - | Whether to use tantivy. |