Conversational memory and state with LlamaIndex
This example demonstrates how LlamaIndex facilitates conversational memory, allowing an LLM-powered chatbot to maintain context across multiple turns of a conversation. This is crucial for building engaging and coherent interactive AI applications, as it enables the LLM to remember past interactions and user preferences, thus influencing its future responses.
This example uses LlamaIndex's condense-question chat mode to combine the new user query with the chat history into a single query for retrieval and synthesis, effectively managing the conversational state.
Requirements
- Python 3.10+
- An OpenAI API key set as an environment variable (
OPENAI_API_KEY)
Steps for running this example in the shell
- Install dependencies:
python -m venv .venv
# macOS/Linux:
source .venv/bin/activate
# Windows Command Prompt:
.venv\Scripts\activate.bat
# Windows PowerShell:
.venv\Scripts\Activate.ps1
pip install -r requirements.txt- Export your API key as an environment variable:
export OPENAI_API_KEY="sk-..." # Windows cmd: set OPENAI_API_KEY="sk-..." # Windows PowerShell: $env:OPENAI_API_KEY="sk-..."- Run the script:
python conversational_memory.pyOutput
The script will simulate a conversation with a LlamaIndex-powered chatbot. You will observe how the chatbot remembers previous turns and uses that context to answer subsequent questions.