Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/doug-wade/eleventy-plugin-local-ai
An eleventy plugin for generating static websites using LocalAI
https://github.com/doug-wade/eleventy-plugin-local-ai
Last synced: 3 months ago
JSON representation
An eleventy plugin for generating static websites using LocalAI
- Host: GitHub
- URL: https://github.com/doug-wade/eleventy-plugin-local-ai
- Owner: doug-wade
- Created: 2024-02-19T21:47:55.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-09-30T04:44:10.000Z (3 months ago)
- Last Synced: 2024-09-30T05:06:33.656Z (3 months ago)
- Language: JavaScript
- Size: 176 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
# eleventy-plugin-local-ai
An experimental eleventy plugin for generating static websites using generative ai. Uses [LocalAI](https://localai.io) to generate static assets from prompts stored as `.md` files.
## Prerequisites
Make sure to install [LocalAI](https://localai.io) before use.
## Installation
```shell
npm i -D @11ty/eleventy eleventy-plugin-local-ai
```## Usage
Register the plugin in your `.eleventy.js` file.
```js
const localAIPlugin = require('eleventy-plugin-local-ai');module.exports = function (eleventyConfig) {
eleventyConfig.addPlugin(localAIPlugin);
};
```Then create a `.md` file for each page that you want on your website that contains a description that is 1600 tokens or fewer (the plugin reserves 448 tokens for prompt engineering).
The `index.md` file is registered as the homepage.
See the example repository [here](https://github.com/doug-wade/eleventy-plugin-local-ai-example) for an example of how to use the plugin.
## Options
### modelName
Choose which LocalAI-supported model to use to generate your static website. Defaults to `thebloke__codellama-7b-gguf__codellama-7b.q5_k_m.gguf`.
```javascript
eleventyConfig.addPlugin(localAIPlugin, {
modelName: 'thebloke__codellama-7b-gguf__codellama-7b.q5_k_m.gguf'
});
```### verbose
Enables verbose logging. Good for debugging.
```javascript
eleventyConfig.addPlugin(localAIPlugin, {
verbose: true
});
```### baseUrl
The url that your LocalAI instance is listening on. Defaults to 8080, the port LocalAI listens on by default.
```javascript
eleventyConfig.addPlugin(localAIPlugin, {
baseUrl: 'http://localhost:3002'
});
```### timeout
The number of milliseconds to wait before timing out the request. Defaults to 3600 seconds (1 hour)
```javascript
eleventyConfig.addPlugin(localAIPlugin, {
timeout: 3600e3
});
```### prompts
Used to customize prompts. Provide an object with one or both methods that generate prompts from the context.
#### initialCode
Provide the prompt for the initial code generation.
```javascript
eleventyConfig.addPlugin(gpt4AllPlugin, {
prompts: {
initialCode: (prompt, lang) => `Please generate code matching the prompt ${prompt} in the language ${lang}`
}
});
```#### codeReview
Provide the prompt for the code review.
```javascript
eleventyConfig.addPlugin(gpt4AllPlugin, {
prompts: {
codeReview: (lang, code) => `Please perform a code review of the code ${code} in the language ${lang}`
}
});
```## Disclaimer
Please review the code generated by LocalAI before deploying to production.