mkdocs-ai-summary
AI Summary powered by ChatGPT
The mkdocs-ai-summary
is a Python package available on PyPI that generates AI-based summaries for MkDocs pages. It supports two AI platforms: ChatGPT and Tongyi AI. Users must set an environmental variable for the API key of the chosen platform. For ChatGPT, the OPENAI_API_KEY
is required, while for Tongyi AI, the DASHSCOPE_API_KEY
is necessary. The package allows customization through several configuration options such as the AI model, caching preferences, and prompt settings. Configuration can be either global in the mkdocs.yml
file or page-specific via meta tags. The caching mechanism ensures that repetitive API calls are avoided by storing previously generated summaries. Optional CSS for custom summary styles can also be included. For a minimal demo, visit aiboy996.github.io/mkdocs-ai-summary, and for a live example, check yangzhang.site. Enjoy efficient documentation summarization with mkdocs-ai-summary
.
Generage an ai-summary for the page:
Minimal demo: aiboy996.github.io/mkdocs-ai-summary
Live demo(my homepage): yangzhang.site
Installation
You should install the package with pip:
pip install mkdocs-ai-summary[chatgpt]
pip install mkdocs-ai-summary[tongyi]
⚠️⚠️⚠️⚠️
Only support ChatGPT and tongyi ai for now.
To use ChatGPT(default), you should set a Environmental Variable for api key:
how to get an OPENAI_API_KEY?export OPENAI_API_KEY='sk-xxxxxxx'
To use tongyi ai, you should set a Environmental Variable for api key:
how to get an DASHSCOPE_API_KEY?export DASHSCOPE_API_KEY='sk-xxxxxxx'
[optional] Then you can include the ai-summary.css(optional, this is for the custom ai summary admonition style) in the config file as below:
Configuration
Options can be set
name | type | default value | note |
---|---|---|---|
api | str | chatgpt | only support chatgpt or tongyi |
model | str | gpt-3.5-turbo | - |
ignore_code | bool | true | ignore code block in markdown |
cache | bool | true | - |
cache_dir | str | "./" | - |
prompt | str | "Please help me summarize the following content into an abstract within 200 words: " | - |
For ChatGPT Summary
Setup mkdocs.yml
like this:
site_name: mkdocs-ai-summary
theme:
name: material
plugins:
- ai-summary:
api: "chatgpt"
model: "gpt-3.5-turbo"
ignore_code: true
cache: true
cache_dir: "./"
prompt: "Please help me summarize the following content into an abstract within 200 words: "
- tags
markdown_extensions:
- admonition
- pymdownx.details
- pymdownx.superfences
- pymdownx.tabbed:
alternate_style: true
extra_css:
- ai-summary.css
Then for the page you want an ai-summary, just add a meta tag:
---
include:
- ai-summary
---
# title
hello ai summary.
For tongyi ai Summary
or you can use tongyi ai by setting:
plugins:
- ai-summary:
api: "tongyi"
model: "qwen-turbo"
ignore_code: true
cache: true
cache_dir: "./"
prompt: "Please help me summarize the following content into an abstract within 200 words: "
Setup ai-summary for specific page
You can also setup ai summary for each page separately:
---
include:
- ai-summary
ai-summary-config:
api: "tongyi"
model: "qwen-turbo"
prompt: "帮我把下面的内容总结为200字以内的摘要:"
---
# title
hello ai summary.
all config options are available. Page configuration will override unified configuration.
About Cache
Don't worry about duplicate api calls, we've made the cache function so that if you've done an ai-summary before and the content hasn't changed it will use the cache.
Enjoy it.