datasette-chatgpt-plugin by simonw

260 downloads this week        Star

README source code

datasette-chatgpt-plugin

PyPI Changelog Tests License

A Datasette plugin that turns a Datasette instance into a ChatGPT plugin - so you can use ChatGPT to ask questions of your data.

For more on this project, see Building a ChatGPT plugin to ask questions of data hosted in Datasette.

⚠️ Warning: ChatGPT can still hallucinate results using this plugin! See this issue for more details of this problem.

Installation

Install this plugin in the same environment as Datasette, on a deployed instance.

datasette install datasette-chatgpt-plugin

Or if you are using datasette publish to deploy Datasette:

datasette publish cloudrun/vercel/fly/heroku data.db \
  --install datasette-chatgpt-plugin

Usage

Once installed, your Datasette instance will work with the new ChatGPT plugins system - provided you have access to that preview.

Click Plugins -> Plugin store -> Install an unverified plugin and enter the URL of your Datasette instance.

If this doesn't work, try Develop my own plugin -> My manifest is ready instead and then paste in your URL.

ChatGPT will discover the plugin by hitting the /.well-known/ai-plugin.json endpoint.

You can then ask it questions! Some starting examples:

  • Show a list of tables (this is always good to start with as it ensures ChatGPT knows which tables are available)
  • Show the first 10 rows of the mytable table

This plugin currently exposes a single database - the first database attached to your instance.

Development

To set up this plugin locally, first checkout the code. Then create a new virtual environment:

cd datasette-chatgpt-plugin
python3 -m venv venv
source venv/bin/activate

Now install the dependencies and test dependencies:

pip install -e '.[test]'

To run the tests:

pytest