Skip to main content

Motherduck

Motherduck is a managed DuckDB-in-the-cloud service.

Installation and Setup​

First, you need to install duckdb python package.

pip install duckdb

You will also need to sign up for an account at Motherduck

After that, you should set up a connection string - we mostly integrate with Motherduck through SQLAlchemy. The connection string is likely in the form:

token="..."

conn_str = f"duckdb:///md:{token}@my_db"

SQLChain​

You can use the SQLChain to query data in your Motherduck instance in natural language.

from langchain_openai import OpenAI
from langchain_community.utilities import SQLDatabase
from langchain_experimental.sql import SQLDatabaseChain
db = SQLDatabase.from_uri(conn_str)
db_chain = SQLDatabaseChain.from_llm(OpenAI(temperature=0), db, verbose=True)

From here, see the SQL Chain documentation on how to use.

LLMCache​

You can also easily use Motherduck to cache LLM requests. Once again this is done through the SQLAlchemy wrapper.

import sqlalchemy
from langchain.globals import set_llm_cache
eng = sqlalchemy.create_engine(conn_str)
set_llm_cache(SQLAlchemyCache(engine=eng))

From here, see the LLM Caching documentation on how to use.


Help us out by providing feedback on this documentation page: