[ English | 中文 ]
DocAPI is a Python package that uses LLM to automatically generate API documentation.
Features
-
The Flask framework supports automatic scanning of the routing structure of API services;
-
Supports a variety of mainstream commercial and open source models at home and abroad;
-
Supports automatic document generation and partial document update;
-
Supports Chinese and English documents;
-
Supports web page deployment to display API documentation.
Installation
pip install -U docapi
or
pip install -U docapi -i https://pypi.org/simple
GitHub source code installation
pip install git+https://github.com/Shulin-Zhang/docapi
Usage
Automatically scan the routing structure. This is only valid for flask projects and must be used in the environment of api projects.
OpenAI:
export OPENAI_API_KEY=api_key
export OPENAI_API_MODEL=gpt-4o-mini
docapi generate server.py --lang en
docapi update server.py --lang en
docapi serve
Azure OpenAI:
export AZURE_OPENAI_API_KEY=api_key
export AZURE_OPENAI_ENDPOINT=endpoint
export OPENAI_API_VERSION=version
export AZURE_OPENAI_MODEL=gpt-4o-mini
docapi generate server.py --template <template_path>
docapi update server.py --template <template_path>
docapi serve docs --ip 0.0.0.0 --port 9000
Qianwen, Open source deployment:
export OPENAI_API_KEY=api_key
export OPENAI_API_BASE=api_base_url
export OPENAI_API_MODEL=model_name
docapi generate server.py --lang en
docapi update server.py --lang en
docapi serve
Baidu Qianfan:
export QIANFAN_ACCESS_KEY=access_key
export QIANFAN_SECRET_KEY=secret_key
export QIANFAN_MODEL=ERNIE-3.5-8K
docapi generate server.py --lang en
docapi update server.py --lang en
docapi serve
ZhipuAI:
export ZHIPUAI_API_KEY=api_key
export ZHIPUAI_MODEL=glm-4-flash
docapi generate server.py
docapi update server.py
docapi serve
Code calls
import os
from docapi import DocAPI, llm_builder, prompt
from docapi.scanner import flask_scanner
os.environ['OPENAI_API_KEY'] = "api_key"
os.environ['OPENAI_API_BASE'] = "api_base"
os.environ['OPENAI_API_MODEL'] = "model_name"
docapi = DocAPI.build(lang="en")
docapi.generate("flask_project/flask_server.py", "docs")
Changelog
-
[2024-11-17] Support Zhipu AI, Baidu Qianfan model, optimize document structure, and add javascript code examples; Remove the execution mode that uses the configuration file.
-
[2024-11-20] Support custom document templates.
Supported Models
-
OpenAI
-
AzureOpenAI
-
Tongyi Qianwen
-
Zhipu AI
-
Baidu Qianfan
-
Open source model
Supported API Frameworks
Automatic scanning is only valid for the Flask framework and is recommended for use on Flask services.
API Web Page
TODO
-
Supports large models such as Wenxin Yiyan and Zhipu AI.
-
Supports automatic scanning of frameworks such as Django.
-
Supports online web page display of documents.
-
Supports custom document templates.
-
Multithreading accelerates requests.
-
Import to postman.