diff --git a/components/icons/providers/index.ts b/components/icons/providers/index.ts index 5cc73e4ba..e287de290 100644 --- a/components/icons/providers/index.ts +++ b/components/icons/providers/index.ts @@ -21,6 +21,7 @@ export { default as GroqIcon } from './groq' export { default as HeliconeIcon } from './helicone' export { default as HuggingFaceIcon } from './huggingface' export { default as KeycloakIcon } from './keycloak' +export { default as LemonadeIcon } from './lemonade' export { default as LiteLLMIcon } from './litellm' export { default as MeilisearchIcon } from './meilisearch' export { default as MistralIcon } from './mistral' diff --git a/components/icons/providers/lemonade.tsx b/components/icons/providers/lemonade.tsx new file mode 100644 index 000000000..25a4326b6 --- /dev/null +++ b/components/icons/providers/lemonade.tsx @@ -0,0 +1,23 @@ +import React from 'react' + +// Monochrome silhouette from https://github.com/lemonade-sdk/lemonade/blob/main/src/app/assets/logo.svg +export default function LemonadeIcon({ className, ...props }: React.SVGProps) { + return ( + + ) +} diff --git a/content/docs/configuration/librechat_yaml/ai_endpoints/lemonade.mdx b/content/docs/configuration/librechat_yaml/ai_endpoints/lemonade.mdx new file mode 100644 index 000000000..74cfe49c9 --- /dev/null +++ b/content/docs/configuration/librechat_yaml/ai_endpoints/lemonade.mdx @@ -0,0 +1,31 @@ +--- +title: AMD Lemonade +icon: Lemonade +description: Configure AMD Lemonade as a custom endpoint in LibreChat. +--- + +AMD Lemonade runs models locally through an OpenAI-compatible API. Follow the [Lemonade documentation](https://lemonade-server.ai/docs/) to install and start the server, then download a chat model. + +## Configuration + +Lemonade requires no API key; the placeholder below satisfies the OpenAI client. Add the endpoint under `endpoints.custom` in your `librechat.yaml`: + +```yaml filename="librechat.yaml" + - name: 'lemonade' + apiKey: 'lemonade' + baseURL: 'http://localhost:13305/v1' + models: + default: ['Qwen3-0.6B-GGUF'] + fetch: true + titleConvo: true + titleModel: 'current_model' + modelDisplayLabel: 'AMD Lemonade' + iconURL: 'lemonade' +``` + +## Notes + +- Replace `Qwen3-0.6B-GGUF` with a locally installed chat model. With `fetch: true`, LibreChat retrieves the model list from Lemonade. `titleModel: 'current_model'` reuses the conversation's model for titles. +- For Docker, replace `localhost` with `host.docker.internal` or a reachable Lemonade hostname. +- For user-provided base URLs, add the local server's exact `host:port` (e.g. `host.docker.internal:13305`) to [`endpoints.allowedAddresses`](/docs/configuration/librechat_yaml/object_structure/config#endpoints). +- Built-in branding recognizes `lemonade`, `AMD Lemonade`, and `Lemonade Server`. Keep `iconURL: 'lemonade'` to preserve the logo when renaming the endpoint. diff --git a/content/docs/configuration/librechat_yaml/ai_endpoints/meta.json b/content/docs/configuration/librechat_yaml/ai_endpoints/meta.json index cfde5c3eb..c46fe3dfd 100644 --- a/content/docs/configuration/librechat_yaml/ai_endpoints/meta.json +++ b/content/docs/configuration/librechat_yaml/ai_endpoints/meta.json @@ -13,6 +13,7 @@ "groq", "helicone", "huggingface", + "lemonade", "litellm", "mistral", "mlx", diff --git a/lib/icons.tsx b/lib/icons.tsx index 3a5ce9dc7..71e187c54 100644 --- a/lib/icons.tsx +++ b/lib/icons.tsx @@ -23,6 +23,7 @@ import { HeliconeIcon, HuggingFaceIcon, KeycloakIcon, + LemonadeIcon, LiteLLMIcon, MeilisearchIcon, MistralIcon, @@ -256,6 +257,7 @@ const icons: Record = { Helicone: , HuggingFace: , Keycloak: , + Lemonade: , LiteLLM: , Meilisearch: , Mistral: ,