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.2.tar.gz
(19.8 kB
view details)
Built Distribution
File details
Details for the file longtrainer-0.2.2.tar.gz
.
File metadata
- Download URL: longtrainer-0.2.2.tar.gz
- Upload date:
- Size: 19.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d42ca78256cd31708e1c18207ed5a47abc90f35b5d7f6ca09747e86b9c7ad20e |
|
MD5 | 35f880dad83137a50134ed472036e220 |
|
BLAKE2b-256 | 550eed0d96a09ba8e76c26d837df5f1a8eed238092263e07727ff350f1159b07 |
File details
Details for the file longtrainer-0.2.2-py3-none-any.whl
.
File metadata
- Download URL: longtrainer-0.2.2-py3-none-any.whl
- Upload date:
- Size: 20.0 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 | b0e38f2cd82e883342418a2b3911c67770e1700dcaee593cecff7f09fb274900 |
|
MD5 | 24b3bc11d3c1c1c5f1ecd5cc48a9618c |
|
BLAKE2b-256 | e95ea671d8854497af1d9e10331ad14f781bd673c143ee20c6e6914f1fed3dcd |