0%
Building Virtual Assistants with ChatGPT

Virtual Assistants

Developing Custom AI Assistants

10-15 min

Building Virtual Assistants with ChatGPT

Introduction

The ChatGPT API lets you build custom virtual assistants for a wide range of use cases. In this tutorial, we will explore how to develop AI assistants tailored to your specific needs.

Types of Assistants

  1. Customer service assistant

    • Answering FAQs
    • Handling complaints
    • Technical support
  2. Personal assistant

    • Task management
    • Reminders and calendar
    • Information search
  3. Specialized assistant

    • Legal assistant
    • Medical assistant
    • Financial assistant

Implementation

1. Base Class for Assistants

import openai
from typing import List, Dict, Optional
import json

class VirtualAssistant:
    def __init__(self, api_key: str, system_prompt: str):
        self.api_key = api_key
        self.system_prompt = system_prompt
        self.conversation_history = []
        
    def add_to_history(self, role: str, content: str):
        """
        Adds a message to the conversation history
        """
        self.conversation_history.append({
            "role": role,
            "content": content
        })
        
    def get_response(self, user_input: str) -> str:
        """
        Gets a response from the assistant
        """
        # Add the user's message to the history
        self.add_to_history("user", user_input)
        
        try:
            response = openai.ChatCompletion.create(
                model="gpt-3.5-turbo",
                messages=[
                    {"role": "system", "content": self.system_prompt},
                    *self.conversation_history
                ],
                temperature=0.7
            )
            
            assistant_response = response.choices[0].message.content
            
            # Add the response to the history
            self.add_to_history("assistant", assistant_response)
            
            return assistant_response
        except Exception as e:
            print(f"Erreur lors de la génération de la réponse: {str(e)}")
            return "Désolé, une erreur est survenue."
            
    def clear_history(self):
        """
        Resets the conversation history
        """
        self.conversation_history = []

Comments

Comments are powered by GitHub Discussions

Sign in with GitHub to join the discussion

Link copied!