Weekly GitHub Report for LibreChat - 2024-07-15 12:00:31
Weekly GitHub Report for LibreChat
Thank you for subscribing to our weekly newsletter! Each week, we deliver a comprehensive summary of your GitHub project's latest activity right to your inbox, including an overview of your project's issues, pull requests, contributors, and commit activity.
I. Issues
1.1 Open Issues
Open Issues This Week: 5
Summarized Issues:
- Enhancing system for private and global assistants: This issue discusses the need to enhance the system to allow private assistants to work alongside supportedIds. It aims to provide global assistants to all users or introduce a new array for "global assistants". This would enable a more flexible and inclusive assistant provision system.
- Displaying percentage of maximum input context: This issue requests an enhancement to display the percentage of the maximum input context used in any conversation. It aims to help users be aware when the AI might not remember the initial prompt due to input limits. This feature would improve user experience by providing transparency about input constraints.
- Interchangeable Title Endpoint/Models: This issue is about enhancing the project to allow Title Endpoint/Models to be used interchangeably with different endpoints. It suggests setting a Google model for custom endpoints. This would provide more flexibility in configuring models and endpoints.
- Bug in filtering plugins with
includedTools
setting: This issue describes a bug where filtering plugins using theincludedTools
setting inlibrechat.yaml
results in only the calculator tool being available for assistants. The filtering is incorrectly based on the file name instead of the pluginKey. This bug limits the functionality of the assistant tools.
- Authentication failure with PostgreSQL password change: This issue is about a user encountering an authentication failure when changing the PostgreSQL password in the docker-compose file. The setup works fine when reverting to the original password. This indicates a problem with password change handling in the setup process.
1.2 Top 5 Active Issues:
We consider active issues to be issues that have generated much discussion in the issue's comments.
-
Enhancement: OpenAI Assistants API V2 support: This issue is about adding support for OpenAI Assistants API V2 to the LibreChat project, which includes addressing known issues such as the non-loading of attached files in the UI. The discussion also covers the progress made, challenges faced, and the integration of new features like file search and Azure support.
- The comments discuss the potential for handling more than 20 files, the priority of the enhancement due to breaking changes, and the progress on initial support. There are updates on Azure integration issues, the need for new UI and file management systems, and the excitement for the upcoming release. Users also share their experiences and troubleshooting steps for getting the new features to work, including issues with Docker and Azure settings.
- Number of comments: 16
-
Enhancement: Import/export from ChatGPT + backup (and restore) all conversations for LibreChat: This issue proposes adding features to LibreChat that allow users to import and export conversations, particularly from ChatGPT, to facilitate a smoother transition for users switching from ChatGPT to LibreChat. The request highlights the need for importing ChatGPT's JSON export files and the ability to back up and restore all conversations within LibreChat to enhance user experience and data privacy.
- The comments discuss the successful implementation of the import feature, user gratitude, and requests for an export feature. Users share their experiences with the import process, including issues with duplicate imports and suggestions for improvements. Some users provide temporary solutions for exporting conversations using MongoDB tools and scripts, while others suggest potential compatibility with existing export tools like ChatGPT Exporter.
- Number of comments: 13
-
Enhancement: Claude Artifacts: This issue is about a request to add a feature called "Claude Artifacts" to the LibreChat project, which involves creating an experimental interface with two windows. The user describes their positive experience with this feature and suggests its integration into the project.
- The comments section includes various suggestions and discussions about the implementation, potential improvements, and references to similar open-source projects and tools that could be used to achieve the desired functionality.
- Number of comments: 13
-
Enhancement: Show cost of conversation: This issue is about adding a feature to display the cost of API calls for the currently open conversation in the LibreChat project. The requester references another project that has this feature and provides detailed suggestions on how it could be implemented, including per message token usage, total conversation cost, and token usage per model.
- The comments discuss the feasibility and priority of implementing the feature, with several users expressing support. One user provides a detailed description of the desired functionality, while another offers a temporary solution using a script. There are also inquiries about how to contribute to the implementation.
- Number of comments: 10
-
Enhancement: Amazon Bedrock Support: This issue is about adding support for Amazon Bedrock to LibreChat, which would enable users to leverage Bedrock models for a ChatGPT-like experience. The request highlights the potential benefits for users and mentions that support for Amazon Bedrock and KB would be a valuable feature.
- The comments discuss the planned addition of native Bedrock support, suggest using LiteLLM as a temporary workaround, and mention issues with Anthropic accounts. A user from Cornell University expresses interest in contributing to the integration and discusses the current state and potential timeline for the enhancement. Further comments clarify the API differences and configuration needs for Bedrock models, and users share their experiences and challenges with using LiteLLM. The final comment confirms that native AWS setup is in progress and has been tested with Bedrock models.
- Number of comments: 9
1.3 Top 5 Quiet Issues:
We consider quiet issues to be issues that have been opened in this project for the longest time. The team should work together to get these issues resolved and closed as soon as possible.
-
Enhancement: Add Socks proxy support: This issue is a request for the addition of SOCKS proxy support, specifically SOCKS5/4, to the project, as the current implementation only accepts HTTP and HTTPS proxies. The user has encountered problems with Bing blocking VPS IP addresses and is seeking a workaround or enhancement to include support for SOCKS proxies.
- Open for 376 days, 17 hours, 04 minutes
-
Enhancement: Adding embedding and fine-tuning for training: This issue is about enhancing the project by adding embedding and fine-tuning capabilities for training, which involves implementing features for file uploading to OpenAI from both backend and frontend settings. It suggests enabling users to upload files through drag-and-drop and conventional input methods to facilitate the training process.
- Open for 310 days, 09 hours, 15 minutes
-
Enhancement: Chat rating button: This issue is about adding a chat rating button to LibreChat, similar to the one used by ChatGPT, which allows users to provide feedback on messages through a thumbs up or down system and an optional message. The feature aims to enhance moderation tools and feedback mechanisms for users, impacting components such as the general interface, UI, and endpoints.
- Open for 309 days, 15 hours, 31 minutes
-
[Enhancement]: if
user_provided
API KEY value is used, fetch models for user: This issue highlights a problem where the model list fails to load when a user-provided API key is used. The problem is resolved when a global key is set, indicating a discrepancy in how the system handles different types of API keys.- Open for 280 days, 08 hours, 09 minutes
-
Enhancement: Show cost of conversation: This issue is about adding a feature to display the cost of API calls for the currently open conversation in the project. The request suggests implementing a cost display similar to other UIs, which show the monetary expense of API interactions in real-time.
- Open for 233 days, 08 hours, 48 minutes
1.4 Closed Issues
Closed Issues This Week: 14
Average Issue Close Time (This Week): 2.25 days
Summarized Issues:
- Feature Request for Azure TTS Configuration: This issue is about requesting the addition of a feature to configure Text-to-Speech (TTS) with an Azure Endpoint in the project. The user was unsuccessful in their initial attempt and would like to use Azure OpenAI as the TTS Endpoint. This feature would enhance the flexibility and usability of the TTS functionality.
- Chat Interface Enhancement: This issue is about enhancing the chat interface by right-aligning the user's text to improve readability and distinction. The suggestion includes making this an optional setting for users. This would help in better visual separation of user and AI responses.
- Bug with OPENAI_API_KEY in .env File: This issue describes a bug where setting the
OPENAI_API_KEY
in the.env
file causes plugin functionality to fail with a 404 error. The model does not support functions when the key is set in the.env
file, but removing the key and entering it through the interface resolves the issue. This indicates a problem with how the API key is being processed.
- Prompt Library Bugs: These issues describe bugs in the Prompt Library related to filters and pagination. One issue is that the selected prompt fails to update after using and then removing filters, resulting in an error due to an undefined page number. Another issue is that pagination fails to work correctly when a filter is applied, particularly if the user is on a page number greater than one.
- Gemini Model Proxy Issue: This issue describes a bug where the Gemini model fails to work via a proxy, resulting in a 400 Bad Request error. The error is due to unsupported user location for the API use. This indicates a limitation in the model's geographic availability.
- User-Generated Photo Display Issue: This issue pertains to a user-generated photo not displaying on the site, potentially due to incorrect permissions. Despite the process working initially, the photo fails to display. This suggests a problem with how permissions are managed or updated.
- Switching Between OpenAI Assistants: This issue questions the feasibility and potential confusion of switching between OpenAI assistants within the same conversation. It seeks best practices or recommendations on whether to prompt users to start a new conversation when making such a switch. This would help in maintaining conversation context and user experience.
- BingAI Configuration Issue: This issue is about a user experiencing problems configuring bingAI with modelSpecs in a .yaml file. Selecting bingAI does not update the dropdown value, and it is noted that BingAI is no longer supported. This indicates a need for updating or removing deprecated features.
- Proxy Configuration Issues: This issue is about resolving a problem where setting a proxy in the .env file causes errors with llama. Disabling the proxy allows ollama to work but not openai, and the user seeks guidance on how to configure both openai and ollama to function correctly. This highlights the complexity of proxy configurations.
- API Logout Bug: This issue reports a bug where the API returns a 500 error upon attempting to log out. The error message indicates that the "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView, but received null instead. This suggests a problem with the data handling during the logout process.
- Security Vulnerabilities: This issue pertains to the AppSec team at REA Group identifying several security vulnerabilities in LibreChat through a penetration test. They seek to discuss the impact, remediation, and potential CVEs with the project's maintainer via email, as per the project's security policy. This is crucial for maintaining the security and integrity of the project.
- Image Display Issue with DALL-E: This issue describes a problem where LibreChat v0.7.4-rc1, running via Docker Compose on an Ubuntu 22.04.4 LTS VM, frequently fails to display images generated by DALL-E. The error logs indicate an issue with saving the image file, despite no apparent network or configuration issues. This suggests a problem with the image handling or storage process.
- AI Response Token Bug: This issue describes a bug where the first token of the AI's streaming response is dropped if it is identical to the user's prompt. This results in incomplete initial output. This indicates a problem with the token handling in the response generation.
1.5 Issue Discussion Insights
This section will analyze the tone and sentiment of discussions within this project's open issues within the past week to identify potentially heated exchanges and to maintain a constructive project environment.
Based on our analysis, there are no instances of toxic discussions in the project's open issues from the past week.
II. Pull Requests
2.1 Open Pull Requests
Open Pull Requests This Week: 5
Pull Requests:
- New Feature Enhancements: This topic covers the introduction of new features to improve user experience and system functionality. One pull request introduces a feature that allows users to send text using a slider, enhancing customization options. Another pull request disables the external engine if it is not configured, ensuring smoother operation. These features collectively aim to provide a more intuitive and efficient user interface.
- Retrieval Augmented Generation (RAG) System Enhancements: This topic includes several improvements to the RAG system. The pull request introduces contextual prompt modifications and a new endpoint for dynamically adjusting the RAG_K parameter. Additionally, it updates the user interface to control and display this parameter, enhancing the system's flexibility and user control.
- Tool Filtering and Compatibility: This topic addresses the modification of the
ToolService.loadAndFormatTools
function. The pull request ensures compatibility with the existing implementation and plugin filtering behavior by using bothfilename
andtool.name
for filtering tools. This change resolves issue #3324 and improves the tool filtering process.
- Security and Performance Improvements: This topic focuses on enhancing security and performance by replacing the use of
eval
withparseInt
for parsing environment variables. The pull request mitigates the risk of code injection attacks and improves execution speed. This change aims to provide a more secure and efficient codebase.
2.2 Closed Pull Requests
Closed Pull Requests This Week: 13
Summarized Pull Requests:
- Visibility Issue in Settings Modal: This pull request addresses a visibility issue in the settings modal by upgrading to Headless UI 2.0. The upgrade uses a portal feature to render dropdown elements outside their bounding container. This resolves the overflow problem that previously caused dropdown options to be obscured.
- Load Balancing for Google Vertex AI API: This pull request introduces load balancing for the Google Vertex AI API across US and CA regions. The aim is to mitigate request limit quotas and improve performance. This is particularly beneficial for users interacting with Gemini 1.5 Pro / Flash.
- Azure OpenAI Speech-to-Text and Text-to-Speech: This pull request introduces a new feature that fixes Azure OpenAI Speech-to-Text (STT) and adds Azure OpenAI Text-to-Speech (TTS) functionality. It ensures adherence to project style guidelines and includes comprehensive self-review. Documentation updates and successful local unit tests are also part of this pull request.
- Translation Updates: Multiple pull requests focus on updating translations in the LibreChat project. These updates ensure no new warnings are introduced and that all local unit tests pass. They also correct spelling and grammar errors, improve phrase clarity, and update outdated terminology to ensure accuracy and consistency.
- Avatar Zoom and Rotate Feature: This pull request introduces a new feature that allows users to zoom and rotate their avatars. This enhancement is aimed at improving user interaction with their avatars. It adds more flexibility and customization options for users.
- Bug Fixes and New Features: Several pull requests address bug fixes and introduce new features. These include fixing the
speechTab
configuration, ensuring user-selected variables are not overridden, resetting the prompt groups query when changing filters, and updating the API endpoint for fetching audio.
- Cloud-Based Browser Voices: This pull request introduces a feature that enables cloud-based browser voices. It specifically addresses the need for Google Chrome to support text-to-speech (TTS) functionality. A switch is added to allow the use of cloud-based TTS engines.
2.3 Pull Request Discussion Insights
This section will analyze the tone and sentiment of discussions within this project's open pull requests within the past week to identify potentially heated exchanges and to maintain a constructive project environment.
Based on our analysis, there are no instances of toxic discussions in the project's open pull requests from the past week.
III. Commits
3.1 Commits
Commits This Week: 12
Summarized Commits:
- Internationalization Enhancements: Recent commits have significantly improved the project's internationalization support by adding Finnish translations, updating Traditional Chinese translations, and enhancing French and Turkish translations. These updates ensure a broader reach and better user experience for non-English speakers.
- Settings Modal Improvements: Multiple commits have focused on refining the settings modal, addressing issues like dropdown overflow, enhancing mobile compatibility, upgrading to Headless UI 2.0, and optimizing dark mode. These changes collectively improve the usability and visual consistency of the settings interface.
- Voice Support Features: The project has introduced cloud-based browser voice support, including initial voice functionality, local voice features, and the ability to switch between cloud-based voices. Additionally, Azure OpenAI speech features such as speech-to-text (STT) and text-to-speech (TTS) have been integrated, along with code refactoring to use enums and fix related issues.
- Bug Fixes and Data Handling: Several commits have addressed bugs and data handling issues, such as resetting the prompt groups query when filters are changed and fixing object assignment problems with streaming response tokens. These fixes ensure that the application displays the correct data and functions as expected after modifications.
- User Interface Enhancements: New features have been introduced to enhance the user interface, such as allowing users to zoom and rotate their avatars. These improvements provide users with more interactive and customizable experiences.
- API and Configuration Updates: The project has seen updates to API endpoints, such as the one used for fetching audio in the StreamAudio feature, and fixes for issues related to frontend tests and incorrect key provider configuration. These updates ensure that the application remains functional and up-to-date with the latest API changes.
- Speech Configuration and Refactoring: A commit has focused on updating speechTab settings, retrieving speech configuration, and refactoring the code to consolidate everything into types and remove file types. This also includes a feature to prevent user-selected variables from being overridden, ensuring a more robust and maintainable codebase.
IV. Contributors
4.1 Contributors
Active Contributors:
We consider an active contributor in this project to be any contributor who has made at least 1 commit, opened at least 1 issue, or created at least 1 pull request in the past month.
Contributor | Commits | Pull Requests | Issues |
---|---|---|---|
GitHub | 64 | 0 | 0 |
danny-avila | 0 | 22 | 1 |
berry-13 | 0 | 17 | 0 |
prononext | 0 | 0 | 8 |
ohneda | 0 | 5 | 0 |
KiGamji | 0 | 1 | 3 |
13531446481 | 0 | 0 | 4 |
ZubikIT | 0 | 0 | 4 |
eniyiweb | 0 | 3 | 0 |
PeterDaveHello | 0 | 3 | 0 |
meroo36 | 0 | 1 | 2 |
leondape | 0 | 0 | 3 |
happyZYM | 0 | 0 | 3 |
rehas | 0 | 2 | 0 |
GaelMartins0 | 0 | 2 | 0 |
CakeCrusher | 0 | 1 | 1 |
ravi-katiyar | 0 | 1 | 1 |
bnord01 | 0 | 1 | 1 |
OverLordGoldDragon | 0 | 0 | 2 |
hofq | 0 | 0 | 2 |
wupengfei0904 | 0 | 0 | 2 |
MAFLIXD | 0 | 0 | 2 |
TonySimonovsky | 0 | 0 | 2 |
RedwindA | 0 | 0 | 2 |
jegraham-amplify | 0 | 0 | 2 |
kezzzsVS | 0 | 0 | 2 |
Riser01 | 0 | 0 | 2 |
ShaofeiShi | 0 | 1 | 0 |
eltociear | 0 | 1 | 0 |
kurtseifried | 0 | 1 | 0 |
PedroGruvhagen | 0 | 1 | 0 |
GhaithAlHallak8 | 0 | 1 | 0 |
arthurian | 0 | 1 | 0 |
krakenftw | 0 | 1 | 0 |
Cachiman | 0 | 1 | 0 |
normunds-wipo | 0 | 1 | 0 |
lkiesow | 0 | 1 | 0 |
ylioja | 0 | 1 | 0 |
abdalrohman | 0 | 1 | 0 |
mawburn | 0 | 1 | 0 |
Alex-Karmazin | 0 | 0 | 1 |
aoaim | 0 | 0 | 1 |
ccMatrix | 0 | 0 | 1 |
cshenrik | 0 | 0 | 1 |
awickham10 | 0 | 0 | 1 |
nbhadauria | 0 | 0 | 1 |
pxz2016 | 0 | 0 | 1 |
lurebat | 0 | 0 | 1 |
ervet | 0 | 0 | 1 |
meetpateltech | 0 | 0 | 1 |
sahilian | 0 | 0 | 1 |
devilsnare007 | 0 | 0 | 1 |
omueller54 | 0 | 0 | 1 |
tony-bpc | 0 | 0 | 1 |
3yteD | 0 | 0 | 1 |
hooking-software | 0 | 0 | 1 |
ReEnMikki | 0 | 0 | 1 |
JayDoubleu | 0 | 0 | 1 |
thienautran | 0 | 0 | 1 |
MarcelRei | 0 | 0 | 1 |
ranqiangjun | 0 | 0 | 1 |
Omaha2002 | 0 | 0 | 1 |
fiendus | 0 | 0 | 1 |
ctxtub | 0 | 0 | 1 |
walbercardoso | 0 | 0 | 1 |
hongkongkiwi | 0 | 0 | 1 |
leiguangyan | 0 | 0 | 1 |
beigaopingfan | 0 | 0 | 1 |
dcieslak19973 | 0 | 0 | 1 |
hjkcai | 0 | 0 | 1 |
vicevolf | 0 | 0 | 1 |
citric-gabriel | 0 | 0 | 1 |
javon27 | 0 | 0 | 1 |
rossaai | 0 | 0 | 1 |
Speedway1 | 0 | 0 | 1 |
tobiasmuehl | 0 | 0 | 1 |
batuozdemir | 0 | 0 | 1 |
MarvinCraesEM | 0 | 0 | 1 |
teun95 | 0 | 0 | 1 |
fret423 | 0 | 0 | 1 |
schnaker85 | 0 | 0 | 1 |
kneelesh48 | 0 | 0 | 1 |
jowin202 | 0 | 0 | 1 |
TyraVex | 0 | 0 | 1 |
parasshah10 | 0 | 0 | 1 |
archvalmiki | 0 | 0 | 1 |
acourter27 | 0 | 0 | 1 |
czert | 0 | 0 | 1 |
yoyooyooo | 0 | 0 | 1 |
yinheli | 0 | 0 | 1 |
trananhhh | 0 | 0 | 1 |
du-nong-0070 | 0 | 0 | 1 |
rio2dev | 0 | 0 | 1 |
DeenoB | 0 | 0 | 1 |
lindner-tj | 0 | 0 | 1 |
cg-dot | 0 | 0 | 1 |
kindlychung | 0 | 0 | 1 |