Production Ready LangChain
Project description
LongTrainer - Production-Ready LangChain
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
from longtrainer.trainer import LongTrainer
from langchain_community.llms import VertexAI
llm = VertexAI()
trainer = LongTrainer(mongo_endpoint='mongodb://localhost:27017/', llm=llm)
TogetherAI LLMs
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 🚀
pip install longtrainer
Here's a quick start guide on how to use LongTrainer:
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:
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:
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.
Citation
If you utilize this repository, please consider citing it with:
@misc{longtrainer,
author = {Endevsols},
title = {LongTrainer: Production-Ready LangChain},
year = {2023},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/ENDEVSOLS/Long-Trainer}},
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
longtrainer-0.2.4.tar.gz
(19.9 kB
view details)
Built Distribution
File details
Details for the file longtrainer-0.2.4.tar.gz
.
File metadata
- Download URL: longtrainer-0.2.4.tar.gz
- Upload date:
- Size: 19.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d683c9c8495307bd28c12269bed44325a0e60bf7f0392af91d3cc01b3ebdee9c |
|
MD5 | 36b6b27c5a81bbc22ab2a161fe50eaa4 |
|
BLAKE2b-256 | b851f62627c760f690cd1b99010e96e45afe5301b45bb1f3a100b4c0c69911c9 |
File details
Details for the file longtrainer-0.2.4-py3-none-any.whl
.
File metadata
- Download URL: longtrainer-0.2.4-py3-none-any.whl
- Upload date:
- Size: 20.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61dd82928463866dcded62e7b0e00afc5efafb711c688f68a30c58c90605a365 |
|
MD5 | 1d40d80fa392338ebade16f906a9163a |
|
BLAKE2b-256 | bd46fecf6cf91b5117c530ff13708a38c026707aaef0b7854911a7a140470ae2 |