123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- ---
- 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.
|