/logseq-plugin-gpt3-openai

A plugin for GPT-3 AI assisted note taking in Logseq

Primary LanguageTypeScriptMIT LicenseMIT

Project logo Project logo

logseq-plugin-gpt3-openai

Status GitHub Issues GitHub Pull Requests License


A plugin for GPT-3 AI assisted note taking in Logseq

Demo

logseq gpt3 openai demo

Usage

gpt-block

Type /gpt-block in a block or select gpt-block from the block menu.

gpt-block will send the block to OpenAI's GPT-3 API and append the response underneath the block.

logseq gpt-block

gpt-page

Type /gpt-page in a block or select gpt-page from the block menu.

gpt-page will send the entire page to OpenAI's GPT-3 API and append the response to the bottom of the page.

logseq gpt-page

dalle

Type /dalle in a block or select dalle from the block menu.

This will generate an image using the DALL-E model, save the image to the assets folder, and insert the image into the block.

logseq dalle

Inject Prefix

Allows you to inject a prefix into the GPT-3 output before it is inserted into the block, such as a [[gpt3]] tag or markdown formatting like > for a blockquote. This is useful for identifying blocks that were generated by GPT-3. Use the Inject Prefix options in the setting to set the prefix. You can add a space or \n newline to separate the prefix from the generated text.

Inject Tag

inject tag

Inject Markdown Blockquote

inject tag

OpenAI Examples

See here for example usages.

📝 Table of Contents

About

logseq-plugin-gpt3-openai allows users to generate human-like text using GPT-3 within the LogSeq editor.

Write a GPT-3 command in a block, then run the open /gpt command via the slash or block menu. The plugin will generate a GPT-3 response using the OpenAI API and insert it below. It removes leading and trailing whitespace from the prompt.

Getting Started

⚠️ Warning ⚠️

GPT-3 has limitations. It sometimes produces output that is subtly wrong or misleading. Don't rely on its output without verifying it yourself. Use it with caution.

Example Use Cases

Summarizing or explaining a block of text

logseq gpt3 openai tldr

Creating bullet point outlines for a given topic

logseq gpt3 openai outline

Creating study plan for a given topic

logseq gpt3 openai study

Write a travel itinerary

Explain how to do something

logseq gpt3 openai workout

Parse tabular data from plain english

logseq gpt3 openai table

Just for fun

  • Generate code to do a given task

  • Correct grammar

  • Translate into other languages

  • Classification and keyword tagging of text

  • Generate lists of given topics

    • List 10 top selling science fiction books
  • Write about a given topic

    • Write a tagline for an ice cream shop.
  • Answer Questions

    • Q: How does a telescope work?

FAQ

What is GPT-3 and OpenAI, and how does it work?

See this article for a good overview.

Errors

OpenAI Quota Reached

Your free trial is over, or you've run out of tokens. You can refill your tokens here.

OpenAI Rate Limited

OpenAI has limits on how often you can call them. If you get this error, you'll need to wait a bit before trying again. See this article for more info on the rate limits. You can call it faster if you have a paid account.

Refused to set unsafe header "User Agent"

This error doesn't cause any issues besides the error message in the console. It's a known issue with the OpenAI API. See this issue for more details. I'm working on a PR to their library to support browser usage. Ignore this error for now.

Debugging

openai]

  • Open the developer tools (Menu -> View -> Toggle Developer tools)

  • Check the console logs for error messages.

  • See if you can figure out the error on your own. Maybe you had a network issue if it says something like "timed out." Sometimes the OpenAI API has issues. You also have a limited number of tokens, so you may run out and need to refill.

  • If you can't figure it out based on the error message and it doesn't go away. Make an issue on GitHub.

Prerequisites

An API key from OpenAI Click here to get one

Installing

npm i

Running the tests

  • Add Tests

Build

npm run build

💻 Local Development

This enables the local dev server with hot reloading, via the logseq vite plugin.

npm i
npm run dev

Prod build

First run npm i and npm run build

Open LogSeq

Go to Settings > Turn on Developer Mode

This will bring up the "Plugins" entry in three dots more menu list on the top right of the head bar. Go to Plugins page, and you will get a button with the Load unpacked plugin label. Select the root folder of this plugin repo.

Make sure you add your OpenAI Key

🚀 Deployment

Creates a build using semantic release when a commit is pushed with a smart commit message.

Built Using

  • LogSeq - Privacy-first, open-source knowledge base that works on top of local plain-text Markdown and Org-mode files.
  • Vite - Next Generation Frontend Tooling

Contributing

Do you have a bug or idea? I would love to hear from you! Open a GitHub issue here.

PRs welcome. Open an issue to discuss first if possible.

Authors

Acknowledgements