forked from Archives/langchain
add motherduck docs (#6572)
This commit is contained in:
parent
ae81b96b60
commit
937a7e93f2
50
docs/extras/ecosystem/integrations/motherduck.mdx
Normal file
50
docs/extras/ecosystem/integrations/motherduck.mdx
Normal file
@ -0,0 +1,50 @@
|
||||
# Motherduck
|
||||
|
||||
>[Motherduck](https://motherduck.com/) is a managed DuckDB-in-the-cloud service.
|
||||
|
||||
## Installation and Setup
|
||||
|
||||
First, you need to install `duckdb` python package.
|
||||
|
||||
```bash
|
||||
pip install duckdb
|
||||
```
|
||||
|
||||
You will also need to sign up for an account at [Motherduck](https://motherduck.com/)
|
||||
|
||||
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 import OpenAI, SQLDatabase, SQLDatabaseChain
|
||||
db = SQLDatabase.from_uri(conn_str)
|
||||
db_chain = SQLDatabaseChain.from_llm(OpenAI(temperature=0), db, verbose=True)
|
||||
```
|
||||
|
||||
From here, see the [SQL Chain](/docs/modules/chains/popular/sqlite.html) 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
|
||||
eng = sqlalchemy.create_engine(conn_str)
|
||||
langchain.llm_cache = SQLAlchemyCache(engine=eng)
|
||||
```
|
||||
|
||||
From here, see the [LLM Caching](/docs/modules/model_io/models/llms/how_to/llm_caching) documentation on how to use.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user