Metadata-Version: 2.1
Name: llm-assistant-framework
Version: 0.1.0
Summary: A flexible framework for building AI assistants using various LLMs
Home-page: https://github.com/lahfir/llm-assistant-framework
Author: Lahfir
Author-email: nmhlahfir2@gmail.com
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Python: >=3.7
Description-Content-Type: text/markdown

# LLM Assistant Framework

LLM Assistant Framework is a flexible and powerful Python library for building AI assistants using various Large Language Models (LLMs). Inspired by OpenAI's Assistants API, this framework allows you to create, manage, and interact with AI assistants using different LLM providers.

## Features

- 🚀 Easy-to-use API for creating and managing AI assistants
- 🔌 Flexible integration with multiple LLM providers
- 💬 Thread-based conversation management
- 🏃‍♂️ Asynchronous execution of assistant runs
- 🛠️ Customizable and extensible architecture

## Installation

You can install the LLM Assistant Framework using pip:

```bash
pip install llm-assistant-framework
```

## Usage

```python
from llm_assistant_framework import AssistantManager, ThreadManager, RunManager

# Initialize managers
assistant_manager = AssistantManager()
thread_manager = ThreadManager()
run_manager = RunManager(assistant_manager, thread_manager)

# Create an assistant with the custom LLM function
assistant = await assistant_manager.create_assistant(
    name="Sky Expert",
    instructions="You are an expert on atmospheric phenomena.",
    model="llama3",
    custom_llm_function=custom_llm_function,
    temperature=0.7,  # Additional parameter for the LLM
)
print(assistant)

# Create a thread
thread = await thread_manager.create_thread()
print(thread)
```

## Contributing

We welcome contributions to the LLM Assistant Framework! If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request.

## License

This project is licensed under the MIT License. See the LICENSE file for more details.
