Welcome to the world's most comprehensive repository of Generative AI Agent tutorials and implementations! 🌟 We're thrilled you're interested in contributing to this dynamic knowledge base. Your expertise and creativity can help us push the boundaries of GenAI agent technology.
We have a vibrant Discord community where contributors can discuss ideas, ask questions, and collaborate on GenAI agent techniques. Join us at:
Don't hesitate to introduce yourself and share your thoughts!
We welcome contributions of all kinds! Here are some ways you can help:
- Add New GenAI Agents: Create new notebooks showcasing novel agent implementations.
- Improve Existing Notebooks: Enhance, update, or expand our current tutorials.
- Fix Bugs: Help us squash bugs in existing code or explanations.
- Enhance Documentation: Improve clarity, add examples, or fix typos in our docs.
- Share Creative Ideas: Have an innovative idea for a new agent? We're all ears!
- Engage in Discussions: Participate in our Discord community to help shape the future of GenAI agents.
Remember, no contribution is too small. Every improvement helps make this repository an even better resource for the community.
Found a problem or have a suggestion? Please create an issue on GitHub, providing as much detail as possible. You can also discuss issues in our Discord community.
- Fork and Branch: Fork the repository and create your branch from
main
. - Make Your Changes: Implement your contribution, following our best practices.
- Test: Ensure your changes work as expected.
- Follow the Style: Adhere to the coding and documentation conventions used throughout the project.
- Commit: Make your git commits informative and concise.
- Stay Updated: The main branch is frequently updated. Before opening a pull request, make sure your code is up-to-date with the current main branch and has no conflicts.
- Push and Pull Request: Push to your fork and submit a pull request.
- Discuss: Use the Discord community to discuss your contribution if you need feedback or have questions.
When adding a new GenAI agent to the repository, please follow these additional steps:
- Create your notebook in the
all_agents_tutorials
folder. - Update the README.md file:
- Add your new agent to the list of implementations in the README.
- Place it in the appropriate category based on complexity and type.
- Use the following format for the link:
### [Number]. [Your Agent Name 🏷️](https://github.com/NirDiamant/GenAI_Agents/blob/main/all_agents_tutorials/your_file_name.ipynb)
- Replace
[Number]
with the appropriate number,[Your Agent Name]
with your agent's name, andyour_file_name.ipynb
with the actual name of your notebook file. - Choose an appropriate emoji that represents your agent.
- After inserting your new agent, make sure to update the numbers of all subsequent agents to maintain the correct order.
For example:
### 🌱 Beginner-Friendly Agents
1. [Simple Conversational Agent 💬](https://github.com/NirDiamant/GenAI_Agents/blob/main/all_agents_tutorials/simple_conversational_agent.ipynb)
2. [Your New Agent 🆕](https://github.com/NirDiamant/GenAI_Agents/blob/main/all_agents_tutorials/your_new_agent.ipynb)
3. [Next Agent 🔜](https://github.com/NirDiamant/GenAI_Agents/blob/main/all_agents_tutorials/next_agent.ipynb)
Remember to increment the numbers of all agents that come after your newly inserted implementation.
For new notebooks or significant additions to existing ones, please follow this structure:
-
Title and Overview: Clear title and brief overview of the agent.
-
Detailed Explanation: Cover motivation, key components, agent architecture, and benefits.
-
Visual Representation: Include a diagram to visualize the agent's architecture. We recommend using Mermaid syntax for creating these diagrams. Here's how to do it:
• Create a graph using Mermaid's graph TD (top-down) syntax
• You can use Claude or other AI assistants to help you design the graph if needed
• Paste your Mermaid code into Mermaid Live Editor
• In the "Actions" tab of Mermaid Live Editor, download the SVG file of your diagram
• Store the SVG file in the images folder of the repository
• Use an appropriate, descriptive name for the file
• In your notebook, display the image using Markdown syntax:
![Your Agent Name](../images/your-agent-name.svg)
This process ensures consistency in our visual representations and makes it easy for others to understand and potentially modify the diagrams in the future.
-
Required Packages: Include all necessary package installations at the beginning of the implementation section using pip install commands. For example:
!pip install package1 !pip install package2
-
Implementation: Step-by-step Python implementation with clear comments and explanations.
-
Usage Example: Demonstrate the agent with a practical example.
-
Comparison: Compare with simpler agents, both qualitatively and quantitatively if possible.
-
Additional Considerations: Discuss limitations, potential improvements, or specific use cases.
-
References: Include relevant citations or resources if you have.
To ensure consistency and readability across all notebooks:
-
Code Cell Descriptions: Each code cell should be preceded by a markdown cell with a clear, concise title describing the cell's content or purpose.
-
Clear Unnecessary Outputs: Before committing your notebook, clear all unnecessary cell outputs. This helps reduce file size and avoids confusion from outdated results.
-
Consistent Formatting: Maintain consistent formatting throughout the notebook, including regular use of markdown headers, code comments, and proper indentation.
To ensure the highest quality and readability of our code:
- Write Clean Code: Follow best practices for clean, readable code, Document every function and Class.
- Use Comments: Add clear and concise comments to explain complex logic.
- Format Your Code: Use consistent formatting throughout your contribution.
- Language Model Review: After completing your code, consider passing it through a language model for additional formatting and readability improvements. This extra step can help make your code even more accessible and maintainable.
Clear documentation is crucial. Whether you're improving existing docs or adding new ones, follow the same process: fork, change, test, and submit a pull request.
We're grateful for all our contributors and excited to see how you'll help expand the world's most comprehensive GenAI agent resource. Don't hesitate to ask questions in our Discord community if you're unsure about anything.
Let's harness our collective knowledge and creativity to push the boundaries of GenAI agent technology together!
Happy contributing! 🚀