--- title: Personal AI Travel Assistant --- Create a personalized AI Travel Assistant using Mem0. This guide provides step-by-step instructions and the complete code to get you started. ## Overview The Personalized AI Travel Assistant uses Mem0 to store and retrieve information across interactions, enabling a tailored travel planning experience. It integrates with OpenAI's GPT-4 model to provide detailed and context-aware responses to user queries. ## Setup Install the required dependencies using pip: ```bash pip install openai mem0ai ``` ## Full Code Example Here's the complete code to create and interact with a Personalized AI Travel Assistant using Mem0: ```python import os from openai import OpenAI from mem0 import Memory # Set the OpenAI API key os.environ['OPENAI_API_KEY'] = 'sk-xxx' class PersonalTravelAssistant: def __init__(self): self.client = OpenAI() self.memory = Memory() self.messages = [{"role": "system", "content": "You are a personal AI Assistant."}] def ask_question(self, question, user_id): # Fetch previous related memories previous_memories = self.search_memories(question, user_id=user_id) prompt = question if previous_memories: prompt = f"User input: {question}\n Previous memories: {previous_memories}" self.messages.append({"role": "user", "content": prompt}) # Generate response using GPT-4o response = self.client.chat.completions.create( model="gpt-4o", messages=self.messages ) answer = response.choices[0].message.content self.messages.append({"role": "assistant", "content": answer}) # Store the question in memory self.memory.add(question, user_id=user_id) return answer def get_memories(self, user_id): memories = self.memory.get_all(user_id=user_id) return [m['text'] for m in memories] def search_memories(self, query, user_id): memories = self.memory.search(query, user_id=user_id) return [m['text'] for m in memories] # Usage example user_id = "traveler_123" ai_assistant = PersonalTravelAssistant() def main(): while True: question = input("Question: ") if question.lower() in ['q', 'exit']: print("Exiting...") break answer = ai_assistant.ask_question(question, user_id=user_id) print(f"Answer: {answer}") memories = ai_assistant.get_memories(user_id=user_id) print("Memories:") for memory in memories: print(f"- {memory}") print("-----") if __name__ == "__main__": main() ``` ## Key Components - **Initialization**: The `PersonalTravelAssistant` class is initialized with the OpenAI client and Mem0 memory setup. - **Asking Questions**: The `ask_question` method sends a question to the AI, incorporates previous memories, and stores new information. - **Memory Management**: The `get_memories` and search_memories methods handle retrieval and searching of stored memories. ## Usage 1. Set your OpenAI API key in the environment variable. 2. Instantiate the `PersonalTravelAssistant`. 3. Use the `main()` function to interact with the assistant in a loop. ## Conclusion This Personalized AI Travel Assistant leverages Mem0's memory capabilities to provide context-aware responses. As you interact with it, the assistant learns and improves, offering increasingly personalized travel advice and information.