Skip to main content

The framework for language assistants

Project description

Assistants

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

Quick Install

Install using pip:

pip install langassist

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.

# This is an example that shows how to use and deploy the summarization agent
# Deploy the agent first
# and then run the assistant
import os

from assistants.langassist.summarize_assistant import SummarizeAssistant

from dotenv import load_dotenv

from assistants.langregister.mongo_db_atlas import MongoAtlas

load_dotenv()
OPENAI_API_KEY = os.environ.get('OPENAI_API_KEY')
MONGO_PASSWORD = os.getenv("MONGO_PASSWORD")

mongo_client = MongoAtlas()
mongo_client.uri = "mongodb+srv://rajib76:{MONGO_PASSWORD}@cluster0.cp3rxai.mongodb.net/?retryWrites=true&w=majority".format(
    MONGO_PASSWORD=MONGO_PASSWORD)

assistant_name = "summarize_assistant_03"
file = "gen_ai.pdf"
def deploy_assistant():
    sc = SummarizeAssistant(file=file,assistant_name=assistant_name)
    fileobj, assistantobj = sc.deploy_assistant(mongo_client)
    print(fileobj,assistantobj)

def run_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,client=mongo_client))



if __name__ == "__main__":
    # First deploy
    # deploy_assistant()

    #Then run
    run_assistant()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

langassist-0.0.9.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

langassist-0.0.9-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file langassist-0.0.9.tar.gz.

File metadata

  • Download URL: langassist-0.0.9.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for langassist-0.0.9.tar.gz
Algorithm Hash digest
SHA256 1b60f19fd1acfa6c9579783b6061a16785ff7b87520f31f0bc071bf4250e7767
MD5 0367a24d15772cb5358931d9cf01b807
BLAKE2b-256 0319aea8a605436cee4c90b8101f0538a7ed1e4d2910d638e202ffbe1197de3a

See more details on using hashes here.

File details

Details for the file langassist-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: langassist-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 13.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for langassist-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 d49404f9311b5db871498b0476b0f92eadf7c0943118ca4e63878bcf39689210
MD5 d5b57b50a531d681852010a545e578d5
BLAKE2b-256 a0c16c292c918f5ca5f6442041b4f01d48cb2f222303461d463f43b2ff99466c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page