Building conversations

Working with Llama 3

Imtihan Ahmed

Machine Learning Engineer

Maintaining context

Maintaining context workflow - step 1

Working with Llama 3

Maintaining context

Maintaining context workflow - step 2

Working with Llama 3

Maintaining context

Maintaining context workflow - step 3

Working with Llama 3

Maintaining context

Maintaining context workflow - step 4

Working with Llama 3

Maintaining context

Maintaining context workflow - step 5

  • Track a chat history with a Conversation class
Working with Llama 3

Conversation class

  • Can store a history of prior messages
class Conversation:

def __init__(self, llm: Llama, system_prompt='', history=[]): self.llm = llm self.system_prompt = system_prompt
self.history = [{"role": "system", "content": self.system_prompt}] + history
Working with Llama 3

Conversation class

  • Can store a history of prior messages
class Conversation:
    def __init__(self, llm: Llama, system_prompt='', history=[]):
        self.llm = llm
        self.system_prompt = system_prompt
        self.history = [{"role": "system", "content": self.system_prompt}] + history

def create_completion(self, user_prompt=''):
self.history.append({"role": "user", "content": user_prompt}) # Append input
output = self.llm.create_chat_completion(messages=self.history)
conversation_result = output['choices'][0]['message'] self.history.append(conversation_result) # Append output return conversation_result['content'] # Return output
Working with Llama 3

Running a multi-turn conversation

conversation = Conversation(llm, system_prompt="You are a virtual travel assistant 
                                                helping with planning trips.")


response1 = conversation.create_completion("What are some destinations in France for a short weekend break?")
print(f"Response 1: {response1}")
response2 = conversation.create_completion("How about Spain?")
print(f"Response 2: {response2}")
Working with Llama 3

Running a multi-turn conversation

print(f"Response 1: {response1}")

print(f"Response 2: {response2}")

Output

Working with Llama 3

Running a multi-turn conversation

print(f"Response 1: {response1}")

print(f"Response 2: {response2}")

Output with highlighted parts

Working with Llama 3

Let's practice!

Working with Llama 3

Preparing Video For Download...