mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-01-07 11:08:52 +01:00
* feat: bare bones implementation of claude client (WIP) * feat: client implementation of Claude (WIP) * fix: add claude to store * feat: bare bones implementation of claude client (WIP) * switch eventsource * Try new method of calling claude with anthropic sdk * (WIP) Finish initial claude client implementation and api * debugging update * fix(ClaudeClient.js): fix prompt prefixes for HUMAN_PROMPT and AI_PROMPT fix(ClaudeClient.js): refactor buildMessages logic for correct handling of messages refactor(ClaudeClient.js): refactor buildPrompt method to buildMessages for use in BaseClient sendMessage method refactor(ClaudeClient.js): refactor getCompletion method to sendCompletion for use in BaseClient sendMessage method refactor(ClaudeClient.js): omit getMessageMapMethod method for future refactoring refactor(ClaudeClient.js): remove unused sendMessage method to prefer BaseClient message fix(askClaude.js): error in getIds method was causing a frontend crash, userMessage was not defined fix(askClaude.js): import abortMessage function from utils module feat(askClaude.js): add /abort route to handle message abort requests feat(askClaude.js): create abortControllers map to store abort controllers feat(askClaude.js): implement abortAsk function to handle message abort logic feat(askClaude.js): add onStart callback to handle message start logic feat(HoverButtons.jsx): add 'claude' as a supported endpoint for branching * fix(ClaudeClient.js): update defaultPrefix and promptPrefix messages includes 'Remember your instructions' as Claude is trained to recognize labels preceding colons as participants of a conversation * Change name from claude to anthropic * add settings to handleSubmit and models to endpoints * Implement Claude settings * use svg for anthropic icon * Implement abort * Implement reverse proxy * remove png icons * replace web browser plugin * remove default prefix * fix styling of claude icon * fix console error from svg properties * remove single quote requirement from eslintrc * fix(AnthropicClient.js): fix labels for HUMAN_PROMPT and AI_PROMPT feat(AnthropicClient.js): add support for custom userLabel and modelLabel options feat(AnthropicClient.js): add user_id metadata to requestOptions in getCompletion method feat(anthropic, AnthropicClient.js): add debug logging * refactor(AnthropicClient.js): change promptSuffix variable declaration from let to const * fix(EndpointOptionsDialog.jsx): remove unnecessary code that changes endpointName from 'anthropic' to 'Claude' fix(utils/index.jsx): fix alternateName value for 'anthropic' from 'Claude' to 'Anthropic' * fix(AnthropicIcon): fix sizing/rendering/name of anthropic icon * fix(AnthropicClient.js): change maxContextTokens default value to 99999 fix(AnthropicClient.js): change maxResponseTokens default value to 1500 fix(AnthropicClient.js): remove unnecessary code for setting maxContextTokens and maxResponseTokens based on modelOptions fix(AnthropicClient.js): change max_tokens_to_sample default value to 1500 fix(anthropic.js): pass endpointOption.token to AnthropicClient constructor * Update .env.example * fix(AnthropicClient.js): remove exceeding message when it puts us over the token limit fix(AnthropicClient.js): handle case when the first message exceeds the token limit fix(AnthropicClient.js): throw error when prompt is too long fix(AnthropicClient.js): adjust max tokens calculation to use maxOutputTokens fix(anthropic.js): remove console.log statement in ask route * feat(server/index): increase incoming json payload allowed size --------- Co-authored-by: Danny Avila <messagedaniel@protonmail.com>
106 lines
3.8 KiB
JSON
106 lines
3.8 KiB
JSON
[
|
|
{
|
|
"name": "Google",
|
|
"pluginKey": "google",
|
|
"description": "Use Google Search to find information about the weather, news, sports, and more.",
|
|
"icon": "https://i.imgur.com/SMmVkNB.png",
|
|
"authConfig": [
|
|
{
|
|
"authField": "GOOGLE_CSE_ID",
|
|
"label": "Google CSE ID",
|
|
"description": "This is your Google Custom Search Engine ID. For instructions on how to obtain this, see <a href='https://github.com/danny-avila/LibreChat/blob/main/docs/features/plugins/google_search.md'>Our Docs</a>."
|
|
},
|
|
{
|
|
"authField": "GOOGLE_API_KEY",
|
|
"label": "Google API Key",
|
|
"description": "This is your Google Custom Search API Key. For instructions on how to obtain this, see <a href='https://github.com/danny-avila/LibreChat/blob/main/docs/features/plugins/google_search.md'>Our Docs</a>."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Wolfram",
|
|
"pluginKey": "wolfram",
|
|
"description": "Access computation, math, curated knowledge & real-time data through Wolfram|Alpha and Wolfram Language.",
|
|
"icon": "https://www.wolframcdn.com/images/icons/Wolfram.png",
|
|
"authConfig": [
|
|
{
|
|
"authField": "WOLFRAM_APP_ID",
|
|
"label": "Wolfram App ID",
|
|
"description": "An AppID must be supplied in all calls to the Wolfram|Alpha API. You can get one by registering at <a href='http://products.wolframalpha.com/api/'>Wolfram|Alpha</a> and going to the <a href='https://developer.wolframalpha.com/portal/myapps/'>Developer Portal</a>."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Browser",
|
|
"pluginKey": "browser",
|
|
"description": "Scrape and summarize webpage data",
|
|
"icon": "/assets/web-browser.svg",
|
|
"authConfig": [
|
|
{
|
|
"authField": "OPENAI_API_KEY",
|
|
"label": "OpenAI API Key",
|
|
"description": "Browser makes use of OpenAI embeddings"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Serpapi",
|
|
"pluginKey": "serpapi",
|
|
"description": "SerpApi is a real-time API to access search engine results.",
|
|
"icon": "https://i.imgur.com/5yQHUz4.png",
|
|
"authConfig": [
|
|
{
|
|
"authField": "SERPAPI_API_KEY",
|
|
"label": "Serpapi Private API Key",
|
|
"description": "Private Key for Serpapi. Register at <a href='https://serpapi.com/'>Serpapi</a> to obtain a private key."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "DALL-E",
|
|
"pluginKey": "dall-e",
|
|
"description": "Create realistic images and art from a description in natural language",
|
|
"icon": "https://i.imgur.com/u2TzXzH.png",
|
|
"authConfig": [
|
|
{
|
|
"authField": "DALLE_API_KEY",
|
|
"label": "OpenAI API Key",
|
|
"description": "You can use DALL-E with your API Key from OpenAI."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Calculator",
|
|
"pluginKey": "calculator",
|
|
"description": "Perform simple and complex mathematical calculations.",
|
|
"icon": "https://i.imgur.com/RHsSG5h.png",
|
|
"isAuthRequired": "false",
|
|
"authConfig": []
|
|
},
|
|
{
|
|
"name": "Stable Diffusion",
|
|
"pluginKey": "stable-diffusion",
|
|
"description": "Generate photo-realistic images given any text input.",
|
|
"icon": "https://i.imgur.com/Yr466dp.png",
|
|
"authConfig": [
|
|
{
|
|
"authField": "SD_WEBUI_URL",
|
|
"label": "Your Stable Diffusion WebUI API URL",
|
|
"description": "You need to provide the URL of your Stable Diffusion WebUI API. For instructions on how to obtain this, see <a href='url'>Our Docs</a>."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Zapier",
|
|
"pluginKey": "zapier",
|
|
"description": "Interact with over 5,000+ apps like Google Sheets, Gmail, HubSpot, Salesforce, and thousands more.",
|
|
"icon": "https://cdn.zappy.app/8f853364f9b383d65b44e184e04689ed.png",
|
|
"authConfig": [
|
|
{
|
|
"authField": "ZAPIER_NLA_API_KEY",
|
|
"label": "Zapier API Key",
|
|
"description": "You can use Zapier with your API Key from Zapier."
|
|
}
|
|
]
|
|
}
|
|
]
|