Markdown Reader
The Markdown Reader processes Markdown files synchronously and converts them into documents that can be used with Kern's knowledge system.
Code
1from pathlib import Path23from kern.agent import Agent4from kern.knowledge.knowledge import Knowledge5from kern.knowledge.reader.markdown_reader import MarkdownReader6from kern.vectordb.pgvector import PgVector78db_url = "postgresql+psycopg://ai:ai@localhost:5532/ai"910knowledge = Knowledge(11 vector_db=PgVector(12 table_name="markdown_documents",13 db_url=db_url,14 ),15)1617# Add Markdown content to knowledge base18knowledge.insert(19 path=Path("README.md"),20 reader=MarkdownReader(),21)2223agent = Agent(24 knowledge=knowledge,25 search_knowledge=True,26)2728# Query the knowledge base29agent.print_response(30 "What can you tell me about this project?",31 markdown=True,32)Usage
Set up your virtual environment
1uv venv --python 3.122source .venv/bin/activate1uv venv --python 3.122.venv\Scripts\activateInstall dependencies
1uv pip install -U markdown sqlalchemy psycopg pgvector kern-ai openaiSet environment variables
1export OPENAI_API_KEY=xxxRun PgVector
1docker run -d \2 -e POSTGRES_DB=ai \3 -e POSTGRES_USER=ai \4 -e POSTGRES_PASSWORD=ai \5 -e PGDATA=/var/lib/postgresql/data/pgdata \6 -v pgvolume:/var/lib/postgresql/data \7 -p 5532:5432 \8 --name pgvector \9 kern/pgvector:16Run Agent
1python examples/basics/knowledge/concepts/readers/overview/markdown_reader_sync.py1python examples/basics/knowledge/concepts/readers/overview/markdown_reader_sync.py