Introduction
This tutorial teaches you how to build a fully functional chatbot using Python and the OpenAI API, including conversation memory and context management.
Prerequisites
pip install openai python-dotenv
Setup
import openai
import os
from dotenv import load_dotenv
load_dotenv()
client = openai.OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
Basic Chatbot
def chat(user_message):
response = client.chat.completions.create(
model="gpt-4",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": user_message}
]
)
return response.choices[0].message.content
Adding Conversation Memory
class ChatBot:
def __init__(self, system_prompt="You are a helpful assistant."):
self.messages = [{"role": "system", "content": system_prompt}]
def chat(self, user_message):
self.messages.append({"role": "user", "content": user_message})
response = client.chat.completions.create(
model="gpt-4",
messages=self.messages
)
assistant_message = response.choices[0].message.content
self.messages.append({"role": "assistant", "content": assistant_message})
return assistant_message
# Usage
bot = ChatBot("You are a Python expert.")
print(bot.chat("How do I read a file?"))
Resources
Source: JackAI Hub