Giter VIP home page Giter VIP logo

betterchatgpt's Introduction

Hi there! 👋🏻

I am Jing Hua, an undergraduate student from NTU, Singapore.

  • 📚 Business and Computer Science junior
  • 💬 English(en) 中文(zh) 日本語(ja) ภาษาไทย(th) Svenska(sv)
  • 🧠 Research: NLP + Multimodal
  • 🌐 Full-stack web: React + Python/NodeJS
  • Arch Linux user
  • 💕 Opensource
  • 💜 Like Python, TypeScript, and React
  • 👩‍💻 5 internship experience
  • 🏆 2x hackathon champion + 1x most innovative

star3 Featured

  • ztjhz/BetterChatGPT: Play and chat smarter with Better ChatGPT - an amazing open-source web app with a better UI for exploring OpenAI's ChatGPT API!
  • xlang-ai/OSWorld: OSWorld: Benchmarking Multimodal Agents for Open-Ended Tasks in Real Computer Environments
  • xlang-ai/OpenAgents: OpenAgents: An Open Platform for Language Agents in the Wild
  • ztjhz/t5-jax: JAX implementation of the T5 model and a Comparative Study of T5 Model Variants for French-English Translation
  • ayaka14732/ByteVid: Say goodbye to long and boring videos - MLDA Deep Learning Week Hackathon 1st place 🥇
  • ayaka14732/TrAVis: TrAVis: Visualise BERT attention in-browser
  • huggingface/transformers: Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.

work Research Experience

work Work Experience

Publications

  • OSWorld: Benchmarking Multimodal Agents for Open-Ended Tasks in Real Computer Environments: Tianbao Xie, Danyang Zhang, Jixuan Chen, Xiaochuan Li, Siheng Zhao, Ruisheng Cao, Toh Jing Hua, Zhoujun Cheng, Dongchan Shin, Fangyu Lei, Yitao Liu, Yiheng Xu, Shuyan Zhou, Silvio Savarese, Caiming Xiong, Victor Zhong, Tao Yu
    [paper] | [code]
  • OpenAgents: An Open Platform for Language Agents in the Wild: Tianbao Xie*, Fan Zhou*, Zhoujun Cheng*, Peng Shi*, Luoxuan Weng*, Yitao Liu*, Toh Jing Hua, Junning Zhao, Qian Liu, Che Liu, Leo Z. Liu, Yiheng Xu, Hongjin Su, Dongchan Shin, Caiming Xiong, Tao Yu
    [paper] | [code]

BunnyStudyRead Projects

Open Source

Artificial Intelligence

Web3

  • work/zendodo: An NFT gaming web application built on the WAX blockchain
  • xJQx/zilkin: A Scilla Contracts Deployment Tool featuring an interactive code generator and automatic contract deployment

Full Stack Web

Front End Web

Back End

Other

stars Things I code with:

Python R C TypeScript React CSS3 Google Cloud Platform Firebase MongoDB NodeJS Express.js Django JavaScript Prettier AWS HTML5 Git PyTorch scikit-learn Sass Styled Componenets Flask Heroku Redux SQLite MySQL NumPy

mewheart Social

LinkedIn Twitter Email GitHub

betterchatgpt's People

Contributors

ahmed-ali avatar akira0245 avatar andriemc avatar ayaka14732 avatar beautyyuyanli avatar chenyuze519 avatar darrenchang avatar digitallytailored avatar fcakyon avatar george-adams1 avatar iicoderedemption avatar jackschedel avatar joshbla avatar junity233 avatar jupalaja avatar limour-dev avatar llegomark avatar maozdemir avatar mariodian avatar mazewebarchitect avatar mfjbiz avatar othmanelhoufi avatar peng1999 avatar peterdavehello avatar ranhiru avatar starland9 avatar tnga avatar xtrah avatar zhangt2333 avatar ztjhz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

betterchatgpt's Issues

Feature: Resubmitting historical dialogues

On ChatGPT, if you modify a historically sent message, you can resubmit it while deleting the subsequent conversation. However, in your ChatGPTFreeApp there is currently only the {Save} button for modifying historical dialogues and it will not do anything.

Would it be considered to make an additional resubmit button {Save & Submit} like the official ChatGPT? Thank you for your consideration!

[Suggestion] Longer memories + Laggy browser

  1. The website appears to be experiencing significant delays while generating an output. It is possible that this is due to the system checking for markdown, but I am not entirely certain. It would be greatly appreciated if this issue could be resolved.

  2. The website continues to encounter the "4090" token error, which I understand is a limitation of OpenAI. However, it would be beneficial if only the previous 2-3 messages were sent to the API to prevent exceeding the token limit, similar to how the official ChatGPT handles requests. Additionally, it would be helpful if there was an option to instruct the AI to remember a few key points to the conversation to avoid reaching the token limit while still retaining important information.

feature: count number of tokens

It would be more intuitive for users if they can see how many tokens they have used.

To see how many tokens are in a text string without making an API call, use OpenAI’s tiktoken Python library. Example code can be found in the OpenAI Cookbook’s guide on how to count tokens with tiktoken.

These libraries can be used to calculate the number of tokens:

Remove: Temperature and Presence Penalty

Hello,

Considering that the aim of this web application is to encourage more non-technical individuals to utilize chat and witness the potential of AI, I suggest that we remove the Temperature and Presence Penalty configuration from the application. These settings are unlikely to be useful to non-technical users. Instead, we should stick to the default settings provided by OpenAI.

For reference, I have included a sample output (using Temperature 2) below.
Web capture_9-3-2023_194322_freechatgpt chat

bug: LaTeX equations are not properly aligned

-1 is higher than the normal postion

Test output:

Sure, here are a few examples of LaTeX equations related to group theory:

1. The group axioms:

$$
\begin{aligned}
&\textbf{Closure: } \forall a,b \in G, \quad ab \in G \\
&\textbf{Associativity: } \forall a,b,c \in G, \quad (ab)c = a(bc) \\
&\textbf{Identity: } \exists e \in G \text{ such that } \forall a \in G, \quad ae = ea = a \\
&\textbf{Inverse: } \forall a\in G, \text{ there exists }a^{-1} \in G \text{ such that } aa^{-1} = a^{-1}a = e
\end{aligned}
$$

2. The order of a group:

$$
|G| = \text{number of elements in } G
$$

3. The order of an element:

$$
\text{ord}(a) = \min\{n \in \mathbb{Z}^+ : a^n = e \}
$$

4. Lagrange's theorem:

$$
|H| \text{ divides } |G|
$$

where $H$ is a subgroup of $G$.

5. Normal subgroup:

$$
N \trianglelefteq G \iff \forall g \in G, \quad gNg^{-1} = N
$$

where $N$ is a subgroup of $G$.

These are just a few examples, but there are many more equations and concepts in group theory that can be expressed using LaTeX.

bug: background colour

The background colour can be changed to match the original ChatGPT's colour, giving users a coherent experience.

feature: plain text output switch

Sometimes I want it help me write some markdown without rendering.

Add a switch button so that the answer may be shown in plaintext directly.

help 404

404
I followed your steps and deploy this project to my github pages.

feature: add tooltip on second submit button

Could we include a tooltip for the second submit button to help users who are not technical understand its purpose and use it more effectively?

"The second submit button is intended for users who have only used the "save" function while editing or adding messages. This button is specifically for submitting the saved messages only when they have been set up. It separates the act of creating and configuring a message from the act of submitting it to ChatGPT."

Thank you :)

Reference:

#4

bug: Console Error Messages

react-dom.development.js:29840 Download the React DevTools for a better development experience: https://reactjs.org/link/react-devtools
react-jsx-dev-runtime.development.js:87

   Warning: Each child in a list should have a unique "key" prop.

Check the render method of ChatContent. See https://reactjs.org/link/warning-keys for more information.
at ChatContent (http://localhost:5173/src/components/Chat/ChatContent/ChatContent.tsx:23:23)
at main
at div
at Chat
at div
at App (http://localhost:5173/src/App.tsx:18:31)
printWarning @ react-jsx-dev-runtime.development.js:87

feature: Devblog!

Having a development blog to keep us updated on your ongoing work would be highly appreciated! Particularly, I'm eager to hear about the progress made with embeddings, which was suggested in the Discord server and is expected to result in a significant performance increase for ChatGPTFreeApp.

Moreover, it would be great if you could share some of the challenges you've encountered during the development process and how you were able to overcome them. Whether it's technical roadblocks or design decisions, a glimpse behind the curtain of your work would offer valuable insights and motivation.

In essence, starting a blog would be an excellent way to keep us informed and engaged with the world of ChatGPTFreeApp. So, let's channel that excitement into a blog and keep the community in the loop! 📖

TL;DR:

A development blog that updates us on ongoing work, particularly on the progress made with embeddings, would be fantastic for ChatGPTFreeApp. Sharing the challenges faced during the development process would also be valuable.

[Suggestion] Adaptive memory

Typically, I rely on ChatGPT to handle large chunks of code or lengthy blocks of text, depending on my work process. Unfortunately, this frequently leads to hitting the 4090 token limit, requiring me to start the conversation anew from scratch, which can be quite frustrating.

It would be immensely helpful if this project incorporated a feature similar to ChatGPT's adaptive memory system. This approach would only retain the most pertinent recent messages in memory, enabling ChatGPT to comprehend the context of the conversation without having to store the entire conversation history. This would prevent the API from hitting the token limit, making the experience much smoother.

documentation: Github Pages

Hi!

Can you provide a documentation detailing the step-by-step guide on how to deploy this on Github Pages?

Thank you.

feature: Implement ESLint for Code Quality

As a user of the ChatGPTFreeApp, I suggest implementing ESLint for code quality. ESLint is a popular static code analysis tool that helps identify and report pattern and code style problems in JavaScript code. Implementing ESLint will ensure code consistency, making it easier for developers to maintain the codebase.

Benefits of implementing ESLint:

  • Improve code quality and readability
  • Reduce code review time and effort
  • Catch errors and potential bugs early on in the development process
  • Simplify the code review process through automated checks

The rules could include, but not limited to the following:

  • Enforce coding conventions (e.g., indentation, variable naming, etc.)
  • Detect syntax errors and suspicious constructs
  • Ensure consistent spacing around keywords and operators
  • Catch variables that are declared but not used
  • Enforce best practices for writing JavaScript/Typescript code
  • Verify that the codebase is adhering to the same style guide

I believe that implementing ESLint will enhance the quality and maintainability of the ChatGPTFreeApp repository. Thank you for considering this feature request.

feature: Change the default message when starting a new chat

Hi there! I'm absolutely loving ChatGPTFreeApp and the things it can do. But I was thinking -- wouldn't it be great if we could personalize our chats a bit more?

So, I was hoping to request a new feature that would allow us to customize the default message displayed when starting a chat. Instead of the standard model name and date, we could include a personal greeting or some specific instructions to set the tone for the conversation. It would be wonderful to have this option to make our chats more engaging and enjoyable for everyone involved.

I truly believe this new feature would make ChatGPTFreeApp even more useful and popular among users. Thank you for considering my request, and I hope to see this feature added soon!

Talking about this message, by the way:

image

[Delete] Editing prior prompts in chat doesn't refresh remaining chat?

I was wrong. ChatGPTFree does delete the remaining chat. I was clicking on Save instead of Save and Submit. Please delete this post.

When using the official ChatGPT web app from OpenAI, editing a prior prompt in a chat thread results in the remainder of the chat being deleted with the assistant responding to the edited prompt. However, in the ChatGPTfreeapp, editing a prior prompt or response does not refresh the chat from that point. Essentially, nothing happens. It would be helpful if the behavior of the official ChatGPT app could be mirrored in the free app so that users could restart chats earlier in a series. Thank you.

bug: Copy code functionality triggers for all blocks instead of just the clicked one

I discovered an issue with the "Copy code" functionality. I have multiple blocks of code, and I intend to copy only the code that I click on. However, when I click on the "Copy code" button within one block, the "Copied!" message displays on all other blocks as well.

Expected behavior:

The "Copied!" message should appear only in the block that I clicked on, not in all the other blocks.

Steps to reproduce:

Click on a "Copy code" button within one block.
Observe that the "Copied!" message displays in all other blocks as well.

Possible solution:

The implementation needs to be revised to isolate the state for each block. Currently, the copied state is shared all ContentView components, causing it to trigger a re-render in all of them whenever there is a change.

feature: customise free API endpoint

As our main free API endpoint has sadly reached the quota, we need to add an option for users to customise the free API endpoint, so that people can share their free API endpoint within a small group of users.

feature: Automatically Generates Conversation Summaries to Prevent Exceeding Token Usage Limits

  1. Sending chat history is a bit costly. We could use a separate ChatGPT instance to create a new completion request to summarize and shorten it after its size reaches a cutoff value. This context can come from the last few messages in the conversation. The GPT model can then use this context to generate a more accurate and relevant response.

Reference: https://platform.openai.com/docs/guides/chat/introduction

  1. We can also utilize OpenAI Embeddings, which can assist in storing conversation data as a means of enhancing long-term memory. Depending on the cost and purpose, this approach can be up to 5 to 9 times more economical compared to transmitting chat history.

Reference: https://github.com/LagPixelLOL/ChatGPTCLIBot

  1. Drop old messages

Originally posted by me at https://discord.com/channels/1082263386080940053/1082339009302376449/1082515550757998672

feature: Implement throttling for React scroll-to-bottom button component

Our application includes a scroll-to-bottom button component that is built using the useScrollToBottom and useAtBottom hooks from the react-scroll-to-bottom library. I have noticed that this component can cause unnecessary updates and potentially impact performance when the user rapidly scrolls and generating text. I believe this will also solve the abnormal jitter of the page.

Proposed Changes:

  • Install the Lodash library
  • Import the throttle function from Lodash on demand in the ScrollToBottomButton component
  • Throttle the scrollToBottom function using throttle
  • Replace the onClick event with the throttled version of scrollToBottom

feature: clear all chats

I wanted to reach out and suggest a new feature that I believe would greatly improve the user experience of this ChatGPT Web Clone. As a user of the actual ChatGPT platform, I've come to appreciate the convenience of having a button that clears all chats at once.

I believe that implementing a similar button on the ChatGPT Web Clone platform would make it easier for users to manage their chats and free up storage space, and promote a better overall experience with the application. To complement the button, a confirmation prompt should be added to avoid accidental deletions of important chat history.

As someone who regularly uses ChatGPT, I believe this feature would be a valuable addition to ChatGPT Web Clone and help to make it even more similar to the original platform. Thank you for taking the time to consider my suggestion.

[bug?] The white kiss of death in Firefox

I just had another incidence of the "white screen of death" in Catalina OS, Firefox, where after some time of interacting with the app, the whole interface disappears into the abyss of pure whiteness--a blank browser window. I am only able to restore my access to https://freechatgpt.chat/ through Firefox by clearing out the cache, which wipes out my conversations. I suspect it is an app bug--corruption of the thread? See #40 for my first report on this weird phenomenon.

[Feature Request] Add option to backup all chats

Recently, I lost all my chats with the ChatGptFree web app using my private API. It happened when the screen went white. To resolve the issue, I had to clear the cache in the Firefox browser, which wiped out all my previous conversations.

It would be great if there were an option to collect and download all the chats in a single file, such as in a Zip file format, so that users could either access these files offline with a text editor or upload the conversations into a new instance of ChatGptFree.

Thanks for all the hard work!

Feature Request: NextJS Integration and Chrome Extension Fork for ShareGPT, Prompt Library, Character Personas, and Avatar Customization

Have you considered incorporating or migrating the project to NextJS? Additionally, it would be beneficial to consider forking the ShareGPT Chrome Extension, modifying it, and releasing a new extension to expand the web app's user base.

Several users have suggested implementing these features on the web app:

  • A Prompt Library where users can save and reuse prompts multiple times, similar to the AIPRM feature of the ChatGPT Chrome Extension which currently has over 500k users.
  • Character Personas that can be integrated into the System Instructions and edited by frontend users.
  • The option to change avatars and save them in local storage.

For further inspiration, you might want to check out this web app: https://www.typingmind.com/.

Suggestion: Download Chat Button

Is it possible to align the Download Chat button with the Save & Submit and Save buttons for a more visually appealing layout?

feature: Enhance Error Messages to Indicate Max Request Tokens

Hey Team!

I noticed that when we reach the limit of 4,096 tokens, the error message displayed is not very descriptive, and just says "Failed to fetch". This could lead to confusion and it would be beneficial to enhance this error message to indicate that we have hit the maximum request tokens.

Thus, I suggest modifying the error message to something like "Request Token Limit Reached. Please reduce the number of tokens in your request." This would make it easier for developers and users to take action and resolve the issue.

Let me know what you think, and if there are any suggestions or concerns. Thanks!

[Feature Request] Increase ChatGPTFree adherence to user-defined system role

Is it possible to make ChatGPTFree adhere more strictly to the user-defined system role? Currently, ChatGPTFree seems to deviate from the assigned system role too easily, unlike other OpenAI's models. This appears to be a limitation of the API. OpenAI's documentation states the Gpt-3.5-turbo model does not always pay attention to system messages and advises placing important instructions in the user message instead (https://github.com/openai/openai-cookbook/blob/main/examples/How_to_format_inputs_to_ChatGPT_models.ipynb).

There were a couple of suggestions in this thread (https://community.openai.com/t/system-message-how-to-force-chatgpt-api-to-follow-it/82775/11) to improve adherence to the system role:

  1. set the temperature to a lower value (such as 0.1), which ChatGPTFree users can do through the interface.
  2. place the "system" as the last object in the messages array, even after the last user prompt (see the bottom message of the thread). This on the other hand would require changes to the code, which I would think would be minor.

Currently, does ChatGPTfree state the last user-defined system role in every API request?

bug: Api Config

Hello!

I've come across a bug wherein clicking on the API: Free button, selecting the "Use your own API key" option from the modal, and then clicking on the cancel button still results in the configuration being updated to "Use your own API key" from "Free".

To reproduce the bug: clicking on "cancel" button in the "Use your own API key" modal doesn't revert configuration to "Free"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.