Skip to content

carmelosantana/alpaca-bot

Repository files navigation

Alpaca Bot

A privately hosted WordPress AI Chatbot

Alpaca Bot

Discord GitHub release (latest by date) Alpaca Demo

Patreon

WordPress plugin for quick content creation and workflow automation!


Easily draft a post or page from any conversation. Dynamically create new content on the fly or with remote resources collected via agents. Alpaca Bot offers a familiar chat interface on both desktop and mobile. You can expect a seamless chat experience on any device!

An Ollama instance is required. Ollama makes it incredibly easy to self-host large language models locally or in the cloud.

If self-hosting isn't for you, please consider becoming a Patreon for access to our hosted Ollama instances and premium Discord support.

Features

  • Chose to store conversation history privately in your wp_ database or not at all.
  • Use [alpacabot_agent] to execute tasks on your behalf, generate dynamic content and more.
  • Chat with dozens of pre-trained LLMs or train your own.
  • Switch conversational model on the fly.
  • Create your own custom system messages for highly predictable or formatted responses.


Screenshots

Chat Interface

Alpaca Bot

Main chat interface with model list, chat history and prompt input.

Chat interface with a conversation history

Chat interface with a conversation history.

Draft to post

Drafting a post from generated responses.

Custom Assistants

Custom assistant

Override system message for custom responses.

Assistant tab

Custom assistant settings.

Dynamic Content Generation

Shortcodes

Shortcode examples.

Requirements

  • Access to Ollama v0.1.24 or later.
  • PHP ^8.1
  • WordPress ^6.4
    • Permalinks enabled

Installation

  1. Download the latest release from the releases page.
  2. Upload the plugin to your WordPress site.
  3. Activate the plugin.

Setup

  1. Setup your Ollama instance in one of the following ways:
  2. Add your Ollama API URL to the settings page by navigating to Alpaca Bot > Settings in your WordPress admin dashboard.
  3. Enter your Ollama API URL.
    • Add your Alpaca Bot Username and API Application Password if you are using our hosted service.
  4. Click Save Changes.

Usage

Text Completion

You have two options to communicate with your AI models;

  1. Click Alpaca Bot found in the admin menu, below Dashboard and above Posts.
  2. Use the shortcode [alpacabot] to generate a response within any post or page.

Agents

Use the [alpacabot_agent] shortcode to execute tasks on your behalf. Agents are a powerful way to empower your AI models to perform tasks on your behalf.

For example, you can use the [alpacabot_agent] shortcode to retrieve content from a remote source. [alpacabot_agent]s can interact directly with your models and help summarize a webpage or rewrite content.

Example

Basic webpage summarization:

[alpacabot_agent name=summarize model=tinyllama url=https://example.com/]

Shortcodes

[alpacabot] - Chat with Alpaca Bot

Chat with Alpaca Bot from any post or page.

Attributes

  • model - The model to use for the text generation. (optional)
  • system - Specifies the system message that will be set in the template. (optional)

[alpacabot_agent] - Execute tasks on your behalf

Execute tasks via Agents.

Attributes

The following are core attributes that are supported by all agents.

  • name - The agent to execute.

Agent's communicating with Ollama support [alpacabot] attributes.

Caching

Requests can be cached by setting the cache attribute. cache supports short and long term options.

By default responses are cached to the current post or page.

Transient

Numeric values are treated as seconds and will cache the response for the specified duration.

  • cache=60 - Cache the response for 60 seconds.
  • cache=3600 - Cache the response for 1 hour.

Post Meta

This is useful for caching responses permanently and associating them with a specific post or page.

  • cache=postmeta - Cache to current post or page.

Option

Use WordPress option storage to cache permanently but not associated with a specific post or page.

This can be useful for sharing responses across multiple pages.

  • cache=option - Cache to WordPress options.

Disable

The following values can disable caching.

  • cache=0 - Disable caching.
  • cache=disable - Disable caching.
  • cache=false - Disable caching.

Core Agents

The following are core agents that are provided by the Alpaca Bot plugin.

get

Retrieve content from a remote source.

Attributes

  • url - The URL to retrieve content from.

summarize

Summarize remote content.

Attributes

  • url - The URL to summarize.
  • length - Describe the length of the summary.
  • content - The type of content we want to summarize.

Support

If you need help or have questions, please join our Discord community.

Premium support and video calls are available to our Patreon subscribers. We can help setup your Ollama instance, troubleshoot issues, demonstrate shortcode functionality and more.

Patreon's also receive;

  • Access to our hosted Ollama instances.
  • Priority feature requests.
  • Early access to new features and releases.
  • Video and community support.

Please consider becoming a Patreon today!

Funding

If you find this project useful or use it in a commercial environment please consider donating today with one of the following options.

  • Bitcoin bc1qhxu9yf9g5jkazy6h4ux6c2apakfr90g2rkwu45
  • Ethereum 0x9f5D6dd018758891668BF2AC547D38515140460f
  • Patreon patreon.com/carmelosantana

Made Possible By

License