Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
167 changes: 124 additions & 43 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,45 +1,126 @@
# OpenAI Assistants Template 🤖

## Introduction 🌟
Welcome to the OpenAI Assistants Template! This repository is a step-by-step tutorial 📚 for leveraging OpenAI's powerful Assistant API to build intelligent and conversational AI assistants. Whether you're a developer, a student, or just an AI enthusiast, this guide will help you harness the power of GPT models for your projects.

## Features 🚀
- Comprehensive guide on the Assistant API 🛠️.
- Interactive examples and use cases 📝.
- Modular code for quick learning and implementation 👩‍💻.
- Insights into best practices and advanced API features 🔍.

## Prerequisites ✅
To get the most out of this tutorial, you should have:
- Python knowledge (basic to intermediate) 🐍.
- An OpenAI API key 🔑.
- Python 3.6 or higher installed on your machine 💻.

## Setup and Installation 📈
1. Clone this repository to your local environment.
2. Rename `example.env` to `.env` and insert your OpenAI API key.
3. Run `pip install -r requirements.txt` to install dependencies.

## Usage 📖
Explore the `OpenAI-Assistant-Template.ipynb` for a hands-on experience that walks you through the capabilities of the Assistant API, enriched with practical examples.

## Modules Description 🧩
Dive into `modules.py` to find utility functions and classes that provide a cleaner and more maintainable codebase, making it easier to build upon.

## Utility Functions in `modules.py` 🧰
- `create_assistant(client, name, description, instructions, tools=[], model="")`: Create a new Assistant
- `get_assistant(client, assistant_id)`: Retrieve an existing assistant using an assistant ID.
- `start_new_chat(client)`: Start a new conversation with the AI assistant.
- `get_chat(client, thread_id)`: Retrieve an existing conversation using a thread ID.
- `add_message(client, thread, content)`: Send a new message to the Assistant within a conversation thread.
- `get_messages_in_chat(client, thread)`: Fetch all the previous messages within a conversation thread.
- `run_chat(client, thread, assistant)`: Process the conversation thread through the assistant for generating responses.

## Contributing 🤝
Your contributions make the open-source community an incredible arena for innovation. If you've got ideas on how to make this template even better, your pull requests are welcome! Let's make learning AI with OpenAI an exciting journey for everyone.

## License 📜
This project is open-sourced under the MIT License. Feel free to use it as you wish.

## Built With 💖 and:
- Python 🐍: The primary programming language used.
## 🌟 Introduction

Welcome to the **OpenAI Assistants Template**!

This repository is a beginner-friendly, step-by-step tutorial for building your own intelligent and conversational AI assistants using OpenAI's **Assistant API**.

Whether you're a developer, student, or just curious about AI, this guide will show you how to use powerful GPT models in real-world applications — all with minimal setup.

---

## 🚀 Features

✅ Beginner-focused walkthrough of the OpenAI Assistant API
✅ Ready-to-run Jupyter notebook with live code examples
✅ Modular, reusable Python code for building AI assistants
✅ Covers best practices and advanced tips to improve your assistant
✅ No prior experience with OpenAI tools needed — we explain everything

---

## ✅ Prerequisites

Before getting started, make sure you have:

* Basic knowledge of **Python** (functions, imports, etc.) 🐍
* A valid **OpenAI API key** – [Get one here](https://platform.openai.com/signup) 🔑
* **Python 3.6+** installed on your machine 💻
* A code editor or Jupyter notebook environment (e.g., VS Code, Anaconda, Google Colab)

---

## ⚙️ Setup & Installation

1. **Clone the repository**

```
git clone https://github.com/your-username/openai-assistants-template.git
cd openai-assistants-template
```

2. **Install the required packages**

```
pip install -r requirements.txt
```

3. **Configure your environment**

* Duplicate the file `example.env` and rename it to `.env`
* Open `.env` and paste your OpenAI API key like this:

```
OPENAI_API_KEY=your_api_key_here
```

---

## 📖 How to Use

### 🧪 Interactive Demo

Open the Jupyter notebook:

```
jupyter notebook OpenAI-Assistant-Template.ipynb
```

Inside, you'll find:

* Easy-to-follow examples
* Guided API calls to OpenAI's Assistant
* A mini chatbot you can talk to

> 📝 Tip: If you’ve never used Jupyter notebooks before, try [Google Colab](https://colab.research.google.com/) – it's free and requires no installation.

---

## 🧩 Module Overview

The `modules.py` file includes all the helper functions to keep your code organized and modular.

### 🔧 Utility Functions in `modules.py`

| Function | Description |
| --------------------------- | ------------------------------------------------------------------- |
| `create_assistant(...)` | Create a new Assistant with a name, description, and optional tools |
| `get_assistant(...)` | Retrieve an Assistant using its ID |
| `start_new_chat(...)` | Start a new chat thread |
| `get_chat(...)` | Fetch an existing chat thread using ID |
| `add_message(...)` | Add a user message to a chat |
| `get_messages_in_chat(...)` | Get the conversation history |
| `run_chat(...)` | Let the Assistant generate a response |

> 🧠 These functions simplify working with the API by hiding complex logic behind clean, reusable code.

---

## 🤝 Contributing

Want to help make this better? Great! Here's how:

1. Fork the repository
2. Create a new branch: `git checkout -b feature/your-feature-name`
3. Make your changes
4. Submit a pull request

All skill levels are welcome — let’s learn and build together!

---

## 📜 License

This project is licensed under the **MIT License**.
Feel free to use, modify, or share it however you like.

---

## 💖 Built With

* [OpenAI Python SDK](https://platform.openai.com/docs)
* Python 🐍
* Jupyter Notebook 📓

---