🎉 DialogicAI
DialogicAI is a Python package designed to manage complex, threaded conversations with branching capabilities, much like version control systems manage code branches. Whether you're building an AI chatbot, a customer support system, or any application that requires structured conversations, DialogicAI provides the tools to seamlessly manage multiple conversation threads, switch between branches, and keep track of message history.
🚀 Installation
You can install DialogicAI directly from PyPI using pip:
pip install dialogic-ai
🏃♂️ Quick Start
Here’s a quick example to get you started with DialogicAI:
from dialogicai.core import DialogicAI
dialogicAI = DialogicAI()
dialogicAI.add_message({"content": "Hello, how are you?", "role": "user"})
dialogicAI.add_message({"content": "I'm doing well, thank you! How can I assist you today?", "role": "assistant"})
dialogicAI.add_message({
"content": "Can you tell me a joke?",
"role": "user",
"metadata": {"branches": ["joke"]}
})
conversation = dialogicAI.thread_to_list()
print(conversation)
🛠️ Main Methods
DialogicAI provides a set of powerful methods to help you manage conversation threads with ease. Here are some of the key methods:
➕ add_message(message)
This method adds a new message to the current conversation thread.
🔄 change_branch(branch)
Switches the current conversation to a different branch, allowing you to manage multiple threads seamlessly.
📩 get_last_message()
Retrieves the last message in the current branch, making it easy to continue a conversation or review the last interaction.
📝 thread_to_list()
Converts the entire conversation thread into a list of dictionaries, making it straightforward to serialize or inspect the conversation history.
🤝 Contributions
We welcome contributions from the community! If you have ideas for new features, find bugs, or want to enhance the code, feel free to get involved. Here’s how you can contribute:
- 🍴 Fork the repository: Create your own copy of the project.
- 🌿 Create a new branch: Use
git checkout -b feature-branch
to start working on a new feature or bug fix. - 💻 Commit your changes: Once your changes are ready, commit them with a meaningful message (
git commit -am 'Add new feature'
). - 📤 Push to the branch: Push your changes to your GitHub repository with
git push origin feature-branch
. - 🔄 Open a Pull Request: Submit your changes for review, and if approved, they’ll be merged into the project!
📐 Coding Standards
- We use Black for code formatting to ensure consistency across the codebase.
- All contributions should include relevant pytest tests to maintain code quality.
📬 Contact
I’m an AI Engineer with a passion for developing flawless products. Feel free to reach out if you have any questions, ideas, or just want to connect: