Documentation Index
Fetch the complete documentation index at: https://spacesail.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Code
from agno.agent import Agent
from agno.db.sqlite import SqliteDb
from agno.knowledge.embedder.ollama import OllamaEmbedder
from agno.knowledge.knowledge import Knowledge
from agno.models.ollama import Ollama
from agno.vectordb.lancedb import LanceDb
# Define the database URL where the vector database will be stored
db_url = "/tmp/lancedb"
# Configure the language model
model = Ollama(id="llama3.1:8b")
# Create Ollama embedder
embedder = OllamaEmbedder(id="nomic-embed-text", dimensions=768)
# Create the vector database
vector_db = LanceDb(
table_name="recipes", # Table name in the vector database
uri=db_url, # Location to initiate/create the vector database
embedder=embedder, # Without using this, it will use OpenAIChat embeddings by default
)
knowledge = Knowledge(
vector_db=vector_db,
)
knowledge.add_content(
name="Recipes", url="https://agno-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf"
)
db = SqliteDb(db_file="data.db")
agent = Agent(
session_id="session_id",
user_id="user",
model=model,
knowledge=knowledge,
db=db,
)
agent.print_response(
"What is the first step of making Gluai Buat Chi from the knowledge base?",
markdown=True,
)
Usage
Create a virtual environment
Open the Terminal and create a python virtual environment.python3 -m venv .venv
source .venv/bin/activate
Install libraries
pip install -U lancedb sqlalchemy agno
Run Agent
python cookbook/agents/rag/rag_with_lance_db_and_sqlite.py