diff --git a/README.md b/README.md index cf55000..37c522f 100644 --- a/README.md +++ b/README.md @@ -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. \ No newline at end of file +## 🌟 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 πŸ““ + +---