update embed
This commit is contained in:
parent
8e0b08ecad
commit
20cfb2f4c4
|
@ -1,3 +1,71 @@
|
|||
# AnythingLLM Embedded Mode
|
||||
# AnythingLLM Embedded Chat Widget
|
||||
|
||||
This folder of AnythingLLM contains the source code for how the embedded version of AnythingLLM works to provide a public facing interface of your workspace.
|
||||
> [!WARNING]
|
||||
> The core AnythingLLM team publishes a pre-built version of the script that is bundled
|
||||
> with the main application. You can find it at the frontend URL `/embed/anythingllm-chat-widget.min.js`.
|
||||
> You should only be working in this repo if you are wanting to build your own custom embed.
|
||||
|
||||
This folder of AnythingLLM contains the source code for how the embedded version of AnythingLLM works to provide a public facing interface of your workspace.
|
||||
|
||||
The AnythingLLM Embedded chat widget allows you to expose a workspace and its embedded knowledge base as a chat bubble via a `<script>` or `<iframe>` element that you can embed in a website or HTML.
|
||||
|
||||
### Security
|
||||
- Users will _not_ be able to view or read context snippets like they can in the core AnythingLLM application
|
||||
- Users are assigned a random session ID that they use to persist a chat session.
|
||||
- **Recommended** You can limit both the number of chats an embedding can process **and** per-session.
|
||||
|
||||
_by using the AnythingLLM embedded chat widget you are responsible for securing and configuration of the embed as to not allow excessive chat model abuse of your instance_
|
||||
|
||||
### Developer Setup
|
||||
- `cd embed` from the root of the repo
|
||||
- `yarn` to install all dev and script dependencies
|
||||
- `yarn dev` to boot up an example HTML page to use the chat embed widget.
|
||||
|
||||
While in development mode (`yarn dev`) the script will rebuild on any changes to files in the `src` directory. Ensure that the required keys for the development embed are accurate and set.
|
||||
|
||||
`yarn build` will compile and minify your build of the script. You can then host and link your built script wherever you like.
|
||||
|
||||
## Integrations & Embed Types
|
||||
|
||||
### `<script>` tag HTML embed
|
||||
|
||||
The primary way of embedding a workspace as a chat widget is via a simple `<script>`
|
||||
```html
|
||||
<!--
|
||||
An example of a script tag embed
|
||||
REQUIRED data attributes:
|
||||
data-embed-id // The unique id of your embed with its default settings
|
||||
data-base-api-url // The URL of your anythingLLM instance backend
|
||||
-->
|
||||
<script
|
||||
data-embed-id="5fc05aaf-2f2c-4c84-87a3-367a4692c1ee"
|
||||
data-base-api-url="http://localhost:3001/api/embed"
|
||||
src="http://localhost:3000/embed/anythingllm-chat-widget.min.js">
|
||||
</script>
|
||||
```
|
||||
|
||||
### `<script>` Customization Options
|
||||
|
||||
**LLM Overrides**
|
||||
- `data-prompt` — Override the chat window with a custom system prompt. This is not visible to the user. If undefined it will use the embeds attached workspace system prompt.
|
||||
|
||||
- `data-model` — Override the chat model used for responses. This must be a valid model string for your AnythingLLM LLM provider. If unset it will use the embeds attached workspace model selection or the system setting.
|
||||
|
||||
- `data-temperature` — Override the chat model temperature. This must be a valid value for your AnythingLLM LLM provider. If unset it will use the embeds attached workspace model temperature or the system setting.
|
||||
|
||||
**Style Overrides**
|
||||
- `data-chat-icon` — The chat bubble icon show when chat is closed. Options are `plus`, `chat-circle-dots`, `headset`, `binoculars`, `magnifying`, `magic`.
|
||||
|
||||
- `data-brand-image-url` — URL to image that will be show at the top of the chat when chat is open.
|
||||
|
||||
- `data-greeting` — Default text message to be shown when chat is opened and no previous message history is found.
|
||||
|
||||
**Behavior Overrides**
|
||||
- `data-open-on-load` — Once loaded, open the chat as default. It can still be closed by the user.
|
||||
|
||||
|
||||
### `<iframe>` tag HTML embed
|
||||
_work in progress_
|
||||
|
||||
### `<iframe>` Customization Options
|
||||
_work in progress_
|
Loading…
Reference in New Issue