Metadata-Version: 2.1
Name: longtrainer
Version: 0.2.0
Summary: Produciton Ready LangChain
Home-page: https://github.com/ENDEVSOLS/Long-Trainer
Author: Endevsols
Author-email: technology@endevsols.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: openai==1.11.0
Requires-Dist: faiss-cpu==1.7.4
Requires-Dist: tiktoken==0.5.2
Requires-Dist: rank_bm25==0.2.2
Requires-Dist: wikipedia==1.4.0
Requires-Dist: unstructured==0.11.2
Requires-Dist: langchain==0.1.11
Requires-Dist: youtube-transcript-api==0.6.1
Requires-Dist: pytube==15.0.0
Requires-Dist: pypdf==3.17.1
Requires-Dist: docx2txt==0.8
Requires-Dist: fastapi==0.109.1
Requires-Dist: uvicorn==0.23.2
Requires-Dist: pydantic==2.6.3
Requires-Dist: pandas==2.2.0
Requires-Dist: pymongo==4.6.2
Requires-Dist: python-docx==1.1.0
Requires-Dist: langchain-openai==0.0.8
Requires-Dist: langchain-community==0.0.27
Requires-Dist: cryptography==42.0.5
Requires-Dist: duckduckgo-search==5.0


# LongTrainer - Production-Ready LangChain
<img src="assets/longtrainer-logo.png" height=200px width=500px>


## Features 🌟

- ✅ **Long Memory:** Retains context effectively for extended interactions.
- ✅ **Unique Bots/Chat Management:** Sophisticated management of multiple chatbots.
- ✅ **Enhanced Customization:** Tailor the behavior to fit specific needs.
- ✅ **Memory Management:** Efficient handling of chat histories and contexts.
- ✅ **GPT Vision Support:** Integration Context Aware GPT-powered visual models.
- ✅ **Different Data Formats:** Supports various data input formats.
- ✅ **VectorStore Management:** Advanced management of vector storage for efficient retrieval.

## Works for All Langchain Supported LLM and Embeddings

- ✅ OpenAI (default)
- ✅ VertexAI
- ✅ HuggingFace

# Example

 VertexAI LLMs
```python
from longtrainer.trainer import LongTrainer
from langchain_community.llms import VertexAI

llm = VertexAI()

trainer = LongTrainer(mongo_endpoint='mongodb://localhost:27017/', llm=llm)
```
 TogetherAI LLMs
```python
from longtrainer.trainer import LongTrainer
from langchain_community.llms import Together

llm = Together(
    model="togethercomputer/RedPajama-INCITE-7B-Base",
    temperature=0.7,
    max_tokens=128,
    top_k=1,
    # together_api_key="..."
)

trainer = LongTrainer(mongo_endpoint='mongodb://localhost:27017/', llm=llm)

```

## Usage Example 🚀

```python
pip install longtrainer
```

Here's a quick start guide on how to use LongTrainer:

```python
from longtrainer.trainer import LongTrainer
import os
        
# Set your OpenAI API key
os.environ["OPENAI_API_KEY"] = "sk-"
        
# Initialize LongTrainer
trainer = LongTrainer(mongo_endpoint='mongodb://localhost:27017/', encrypt_chats=True)
bot_id = trainer.initialize_bot_id()
print('Bot ID: ', bot_id)
        
# Add Data
path = 'path/to/your/data'
trainer.add_document_from_path(path, bot_id)
        
# Initialize Bot
trainer.create_bot(bot_id)
        
# Start a New Chat
chat_id = trainer.new_chat(bot_id)
        
# Send a Query and Get a Response
query = 'Your query here'
response = trainer._get_response(query, bot_id, chat_id)
print('Response: ', response)
  ```

Here's a guide on how to use Vision Chat:

```python
chat_id = trainer.new_vision_chat(bot_id)

query = 'Your query here'
image_paths=['nvidia.jpg']
response = trainer._get_vision_response(query, image_paths, str(bot_id),str(vision_id))
print('Response: ', response)
```

List Chats and Display Chat History:

```python
trainer.list_chats(bot_id)

trainer.get_chat_by_id(chat_id=chat_id)
```

This project is still under active development. Community feedback and contributions are highly appreciated. 
