Hi everyone
I am using the OpenAI Responses API with conversation id and store true for a multi turn chat app
My prompt is stored in the OpenAI platform as a prompt id
I send prompt id only on the first user message and then for later turns I call responses create with the same conversation id but without prompt id and without instructions
I notice the assistant drifts and does not follow the original rules as well.
Conversation creation
conversation = client.conversations.create(
items=[
{"role": "assistant", "content": "Initial greeting or setup message"}
]
)
conversation_id = conversation.id
First user message
response = client.responses.create(
conversation=conversation_id,
model=model,
prompt={"id": BASE_PROMPT_ID},
input=user_message,
store=True,
)
Next messages
response = client.responses.create(
conversation=conversation_id,
model=model,
input=user_message,
store=True,
)
-
When using conversation id does the content of a prompt id become part of the stored conversation automatically after the first call or is it applied only to that single request?
-
If prompt id does not persist do best practices recommend sending prompt id on every message to keep consistent system developer constraints?
-
If I want to avoid sending prompt id every time what is the correct pattern to persist the base rules across the conversation for example by adding a developer message at conversation creation?