Doc: modify 2 examples to show OpenAIResponses API (#2525)
This commit is contained in:
@@ -20,6 +20,7 @@ pip install openai mem0ai
|
|||||||
Below is the complete code to create and interact with a Personalized AI Tutor using Mem0:
|
Below is the complete code to create and interact with a Personalized AI Tutor using Mem0:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
|
import os
|
||||||
from openai import OpenAI
|
from openai import OpenAI
|
||||||
from mem0 import Memory
|
from mem0 import Memory
|
||||||
|
|
||||||
@@ -54,22 +55,21 @@ class PersonalAITutor:
|
|||||||
:param question: The question to ask the AI.
|
:param question: The question to ask the AI.
|
||||||
:param user_id: Optional user ID to associate with the memory.
|
:param user_id: Optional user ID to associate with the memory.
|
||||||
"""
|
"""
|
||||||
# Start a streaming chat completion request to the AI
|
# Start a streaming response request to the AI
|
||||||
stream = self.client.chat.completions.create(
|
response = self.client.responses.create(
|
||||||
model="gpt-4",
|
model="gpt-4o",
|
||||||
stream=True,
|
instructions="You are a personal AI Tutor.",
|
||||||
messages=[
|
input=question,
|
||||||
{"role": "system", "content": "You are a personal AI Tutor."},
|
stream=True
|
||||||
{"role": "user", "content": question}
|
|
||||||
]
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# Store the question in memory
|
# Store the question in memory
|
||||||
self.memory.add(question, user_id=user_id, metadata={"app_id": self.app_id})
|
self.memory.add(question, user_id=user_id, metadata={"app_id": self.app_id})
|
||||||
|
|
||||||
# Print the response from the AI in real-time
|
# Print the response from the AI in real-time
|
||||||
for chunk in stream:
|
for event in response:
|
||||||
if chunk.choices[0].delta.content is not None:
|
if event.type == "response.output_text.delta":
|
||||||
print(chunk.choices[0].delta.content, end="")
|
print(event.delta, end="")
|
||||||
|
|
||||||
def get_memories(self, user_id=None):
|
def get_memories(self, user_id=None):
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -63,18 +63,23 @@ class PersonalTravelAssistant:
|
|||||||
def ask_question(self, question, user_id):
|
def ask_question(self, question, user_id):
|
||||||
# Fetch previous related memories
|
# Fetch previous related memories
|
||||||
previous_memories = self.search_memories(question, user_id=user_id)
|
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
|
# Build the prompt
|
||||||
response = self.client.chat.completions.create(
|
system_message = "You are a personal AI Assistant."
|
||||||
|
|
||||||
|
if previous_memories:
|
||||||
|
prompt = f"{system_message}\n\nUser input: {question}\nPrevious memories: {', '.join(previous_memories)}"
|
||||||
|
else:
|
||||||
|
prompt = f"{system_message}\n\nUser input: {question}"
|
||||||
|
|
||||||
|
# Generate response using Responses API
|
||||||
|
response = self.client.responses.create(
|
||||||
model="gpt-4o",
|
model="gpt-4o",
|
||||||
messages=self.messages
|
input=prompt
|
||||||
)
|
)
|
||||||
answer = response.choices[0].message.content
|
|
||||||
self.messages.append({"role": "assistant", "content": answer})
|
# Extract answer from the response
|
||||||
|
answer = response.output[0].content[0].text
|
||||||
|
|
||||||
# Store the question in memory
|
# Store the question in memory
|
||||||
self.memory.add(question, user_id=user_id)
|
self.memory.add(question, user_id=user_id)
|
||||||
|
|||||||
Reference in New Issue
Block a user