I would really like to have a "pin chat" feature in the ChatGPT interface

i have decided to start learning something using ChatGPT
i will be checking-in every day at 8PM and will complete one lesson that ChatGPT gives me
i might create other chats throughout the day and my learning-path chat would get burried down, so I would really appreciate if there could be a “Pin Chat” feature so that a chat that we might use very regularly would be at the top

it might sound very specific, but i’m sure a lot of people would find good uses for it

cheers!

3 Likes

would like to add to this; pinned chats would be great, however also enabled via the api. Such that it can be changed on the fly programmatically. Persistence of certain messages and instructions that always remain in context would be fantastic. Also the ability to clear the context, as well clear all except for pinned messages and or Cust instructions.
:3

1 Like

well you can do this programmatically via the api on your side by keeping the chats as an array while connected to the chat completions endpoint. but it would def be nice to have a kind of workspace of sorts, esp with some server side memory and being able to select what files are to be active (thus pinned into context), and being able to modify them on the fly by either the ai or the user would be nice. Also regular people would prob only be able to use it if has an gui website interface.

chat_history =

Function to send prompt to ChatGPT

def send_prompt_to_chatgpt(prompt, image_path=None):
messages = [{“role”: “system”, “content”: “You are a helpful assistant.”}, {“role”: “user”, “content”: prompt}]

# append user message to chat history
chat_history.append({"role": "user", "content": prompt})


response = openai.ChatCompletion.create(
    model="gpt-4",
    messages=messages,
    max_tokens=100000,
    n=1,
    temperature=0.5,
)

# append ChatGPT's response to chat history
chat_history.append({"role": "system", "content": response.choices[0].message['content'].strip()})

return response.choices[0].message['content'].strip()

def handle_commands(user_input):
global chat_history

user_input = input("Type your message, 'recall' to read previous summaries, or 'terminate_instance' to end: "



if user_input.startswith('PIN'):
    exemption_context = user_input[4:]
    chat_history.append({'role': 'user', 'content': f'Exemption: {exemption_context}'})
    print(f"Exemption pinned: {exemption_context}")

To pin a chat session would be a great feature. A bookmark like feature would also benefit the application. :grinning: