Project Icon

logseq-plugin-gpt3-openai

Logseq GPT-3插件,AI辅助笔记体验

logseq-plugin-gpt3-openai是一款基于ChatGPT API的Logseq插件,提供AI辅助笔记功能。支持自定义提示模板、多块选择和语音转文本,可生成文本概要、学习计划和表格数据解析。通过OpenAI API密钥,用户可轻松获得AI写作助手,提升笔记效率和质量。

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. Uses OpenAI's ChatGPT API `gpt-3.5-turbo` model by default.

Demo

logseq gpt3 openai demo

Follow me on Twitter for updates and examples of how I use this plugin: @bsunter

Usage

gpt

To bring up the gpt popup, use the keyboard shortcut cmd+g, or select gpt from the block or slash menu.

If you are currently in a block, the plugin will use the text in the block as input to the prompt.

You can click and drag or shift+click to select multiple blocks to use as input to the prompt.

If you are not in a block, the plugin won't add any additional input text to your prompt, and will append the results of the prompt to the bottom of the page.

After selecting the prompt and generating a response, a preview of the response will be shown in the popup. You can click the Insert button or press the enter key to insert the response into the page.

You can also click the Replace button to replace the selected block with the response.

If you don't like the response, you can click the Regenerate button to generate a new response.

Custom prompts

After you open the popup, you can write any text you want to use as the prompt.

For example you can write create flashcards based on the following text: and the plugin will generate flashcards for you to study:

Built-in prompt templates

There are a number of built in prompt templates that you can use to generate text. These are useful for generating outlines, summaries, and other tasks.

Most important ideas

Common Objections

Ask questions

User prompt templates

You can also create your own custom prompt templates. To do this, you create a block with the prompt-template:: property. The template will be added to the list of templates in the gpt popup.

The prompt-template:: property is the name of the prompt template.

In a block nested underneath the template block, create a code block in triple backticks with the language set to prompt. The text in the code block will be used as the prompt. Make sure the code block is in its own block indented underneath the template block.

For example, you can create a template like this:

- # Student Teacher Dialog
  prompt-template:: Student Teacher Dialog
	- ```prompt
	    Rewrite text as a dialog between a teacher and a student:
	  ```

Student teacher dialog

Australian Accent

Replace

To replace the selected block with the generated text, click the Replace button.

Regenerate

If you don't like the output of the prompt, you can click the Regenerate button to generate a new response. Sometimes the first response is not the best, but the second or third response can be better.

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

Ask questions

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

Whisper speech to text transcription

Transcribe audio files to text using the Whisper API.

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

Supported formats are: m4a, mp3, mp4, mpeg, mpga, wav, webm

Note, that the Logseq mobile app audio recorder uses .aac which is not supported by Whisper. I recommend using a separate audio recorder app to record audio files and then uploading them to Logseq. For example, I use the Voice Memos app on iOS and share that file to the Logseq mobile app.

dalle

Generate images with DALL-E

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

Select Multiple Blocks

You can click and drag or shift+click to select multiple blocks to use as input to the prompt.

multi select

ChatGPT Guidance

You can adjust the chatPrompt setting to adjust how ChatGPT should respond to your input. By default, the setting is set to Do not refer to yourself in your answers. Do not say as an AI language model... to prevent the model from including unnecessary text in the response.

You can add guidance such as "respond in chinese" or "respond in spanish" to the prompt to get the model to respond in a different language.

This setting is only used when the model is set to gpt-3.5-turbo.

For people who uses reverse-proxy server to use OpenAI service ,you can set the chatCompletionEndpoint to your reverse-proxy endpoint , the default configuration for this is http://api.openai.com/v1.

WARNING: To use those reverse-proxy endpoints , you should always keep your data and privacy safe !!!

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.

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

  • You need to get an OpenAI API Key here and add the key in the plugin settings.

  • After the free welcome credit expires you will need to provide a credit card to OpenAI.

  • Note that having a paid ChatGPT account is not the same as having a paid account for OpenAI's API.

  • The default model is gpt-3.5-turbo but you can change it to text-davinci-003 for GPT-3 or gpt-4 (if you have access)in the plugin settings under openAICompletionEngine. See the OpenAI docs for available models.

  • Make sure you read OpenAI's usage guidelines and avoid generating certain types of content.

  • Download the plugin in the Logseq marketplace by searching for gpt3 or openai.

⚠️ 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.

Model not available

You may have mistyped the model name, or need to generate a new API key, if you're upgrading to a paid account from a free account, or using a beta model that is not available to the public.

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 header 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

  • [OpenAI
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号