Metadata-Version: 2.1
Name: langassist
Version: 0.0.2
Summary: The framework for language assistants
Author-email: Rajib Deb <rajib76.gcp@gmail.com>
Project-URL: Homepage, https://github.com/rajib76/assistants
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: openai
Requires-Dist: python-dotenv
Requires-Dist: requests
Requires-Dist: pymongo

# Assistants
Developing language assistants with LLMs in a low-code way.

## Quick Install

Install using pip:

```bash
pip install assistants
```
The framework requires a database to register the assistants. The default database used is MongoAtlas. Future versions of the framework will support additional database types. Currently, there is a MongoDB collection named assistants which registers each assistant as shown below:

```
_id : 6556db6cf114addad09420c6
assistant_name: "test_assist"
assistant_id: "asst_52TLl1OdJW6ulmLCEsDlizz8"
file_id: "file-lZUBJ3ZnxtkTfqsuE0WYMXDI"

```
## What are Assistants?
Assistants is a framework for developing language-based assistants using micro agents, akin to the microservices concept. Each micro agent, like a microservice, can be independently developed and deployed. The framework adheres to the Single Responsibility Principle (SRP), allowing these assistants to be combined to address complex business processes through workflows.

## Capabilities of the Framework
In time, the framework will include built-in assistants for immediate deployment within OpenAI environments. It will also support the development of custom assistants.

## Contribution
Contributions are welcome in any form, be it through new features or improved documentation.

## Example Usage
The repository includes various examples demonstrating framework usage.
```commandline

import os

from assistants.langassist.summarize_assistant import SummarizeAssistant
from dotenv import load_dotenv

load_dotenv()
OPENAI_API_KEY = os.environ.get('OPENAI_API_KEY')

if __name__ == "__main__":
    # deploy the summarization assistant
    file = "gen_ai.pdf"
    assistant_name = "summarize_assistant"
    # sc = SummarizeAssistant(file=file,
    #                         assistant_name=assistant_name)
    # sc.deploy_assistant()
    
    # Run the assistant
    sc = SummarizeAssistant(assistant_name=assistant_name)
    question = "Summarize the content in 300 words. Please ensure all points are covered"
    print(sc.run_assistant(question))

```
