Feature Requests

Feature Request: Support for Direct Image Upload via S3 or Azure Blob Storage
Description: Currently, BetterGPT supports image uploads via base64 encoding. To enhance flexibility and scalability, we propose adding support for direct image uploads via Amazon S3 and Azure Blob Storage. This feature would allow users to automatically upload images to these cloud storage services and provide the URLs directly to the API, improving efficiency for large-scale applications. Proposed Solution: S3 Integration: - Allow users to configure their AWS credentials (API Key, Secret Key). - Provide functionality to upload images directly to an S3 bucket. - Generate and use the S3 URL for the image in API requests. Azure Blob Integration: - Allow users to configure their Azure Storage credentials (Account Name, Account Key). - Provide functionality to upload images directly to an Azure Blob container. - Generate and use the Azure Blob URL for the image in API requests. API Changes: - Modify the existing image upload (via blob64) to accept URLs from these cloud storage services. - Add config sections for configuring AWS and Azure credentials. Library Dependencies: - Add relevant libraries for AWS SDK for JavaScript: ```bash npm install @aws-sdk/client-s3 ``` - Add relevant libraries for Azure SDK for JavaScript: ```bash npm install @azure/storage-blob ``` Documentation Update: - Update the API documentation to include examples and guidelines for using S3 and Azure Blob URLs. - Provide instructions for setting up AWS and Azure credentials. Benefits: Scalability: Supports large-scale image processing without the need for base64 encoding. Efficiency: Reduces the overhead of encoding/decoding images. Flexibility: Allows users to leverage existing cloud storage solutions. Automation: Simplifies the process by automatically handling the upload and URL generation. Example Use Case: ```json { "model": "gpt-4o", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "What’s in this image?" }, { "type": "image_url", "url": " https://example.com/path-to-image.jpg " } ] } ], } ``` Configuration Endpoints: AWS S3 Configuration: ```json { "aws_access_key_id": "YOUR_AWS_ACCESS_KEY_ID", "aws_secret_access_key": "YOUR_AWS_SECRET_ACCESS_KEY", "s3_bucket_name": "YOUR_S3_BUCKET_NAME" } ``` Azure Blob Configuration: ```json { "azure_account_name": "YOUR_AZURE_ACCOUNT_NAME", "azure_account_key": "YOUR_AZURE_ACCOUNT_KEY", "azure_container_name": "YOUR_AZURE_CONTAINER_NAME" } ``` Additional Information: Ensure security measures are in place to handle S3 and Azure Blob URLs. Validate the URLs to prevent unauthorized access. Handle error cases where the upload to S3 or Azure Blob fails. Implementing this feature will significantly enhance the user experience and broaden the use cases for BetterGPT's vision capabilities.
0
Save System Prompt for Each Folder
Description: Currently, BetterChatGPT allows the creation of folders to organize different types of work. To enhance this functionality, I propose the ability to save a unique system prompt for each folder. This feature will allow for better separation and context-specific interactions. For example, a folder dedicated to UI/UX work will have a system prompt related to UI/UX, and when a new chat is created within this folder, it will automatically initialize with the relevant system prompt. Motivation: This feature will provide several benefits: Improved Organization: Users can maintain distinct contexts for different types of projects without manually setting the system prompt each time. Efficiency: Streamlines workflow by reducing the need to repetitively configure system prompts for new chats within a folder. Contextual Relevance: Ensures that all interactions within a specific folder are relevant and consistent with the folder's purpose. Proposed Implementation: Folder-Level Settings: Add an option in the folder settings to specify a system prompt. Default Initialization: When a new chat is created within a folder, it automatically initializes with the folder’s system prompt. Override Option: Allow users to override the default system prompt at the chat level if needed. Example Use Case: Create a folder named "UI/UX". Set the system prompt for the "UI/UX" folder to: "You are a helpful assistant specializing in user interface and user experience design." Any new chat initiated within the "UI/UX" folder will start with the specified system prompt, ensuring relevant assistance. Additional Context: This feature should be intuitive and seamlessly integrate into the existing folder management system. Consider adding an option to edit the system prompt directly from the folder view for quick adjustments. Potential Challenges: Ensuring backward compatibility with existing folders and chats. User interface adjustments to incorporate the new settings option. Priority: Medium
0