A LangChain integration for HuggingChat models
Project description
langchain_huggy
langchain_huggy is a Python package that provides an easy-to-use interface for interacting with HuggingChat models through the LangChain framework. It allows you to leverage powerful language models in your applications with minimal setup.
Available Models
langchain_huggy comes with several pre-configured models:
- 'meta-llama/Meta-Llama-3.1-70B-Instruct'
- 'CohereForAI/c4ai-command-r-plus-08-2024'
- 'Qwen/Qwen2.5-72B-Instruct' (default)
- 'meta-llama/Llama-3.2-11B-Vision-Instruct'
- 'NousResearch/Hermes-3-Llama-3.1-8B'
- 'mistralai/Mistral-Nemo-Instruct-2407'
- 'microsoft/Phi-3.5-mini-instruct'
You can choose any of these models when initializing the HuggingChat instance.
Installation
Install the package using pip:
pip install langchain_huggy
Quick Start
Here's a simple example to get you started:
from langchain_huggy import HuggingChat
from langchain_core.messages import HumanMessage
# Initialize the HuggingChat model
llm = HuggingChat(
hf_email="your_huggingface_email@example.com",
hf_password="your_huggingface_password",
model="Qwen/Qwen2.5-72B-Instruct" # Optional: specify a model
)
# Generate a response
response = llm.invoke("hi!")
print(response.content)
# Stream a response
llm.stream("Tell me a short story about a robot.")
# Get web Search results set web_search = True
llm.invoke("latest climate news",web_search = True)
llm.stream("Tell me a short story about a robot.",web_search = True)
Features
- Easy integration with LangChain
- WebSearch Hurray!!!
- Support for multiple HuggingChat models
- Built-in error handling and type checking
Configuration
You can configure the HuggingChat instance with the following parameters:
hf_email
: Your HuggingFace account emailhf_password
: Your HuggingFace account passwordmodel
: (Optional) Specify a particular model to use from the available models list
Available Methods
invoke
: Generate a complete response for given inputgenerate
: Generate a ChatResult object (compatible with LangChain)stream
: Stream the response as an iterator of message chunkspstream
: Print the streamed response directly to console
Viewing Available Models
You can view the list of available models at any time using:
print(llm.get_available_models)
Error Handling
The package includes built-in error handling. If you encounter any issues during streaming or generation, informative error messages will be printed to the console.
Note on Credentials
Make sure to keep your HuggingFace credentials secure. You can set them as environment variables:
export HUGGINGFACE_EMAIL="your_email@example.com"
export HUGGINGFACE_PASSWD="your_password"
Never share your credentials in public repositories or include them directly in your code.
License
This project is licensed under the MIT License.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Support
If you encounter any problems or have any questions, please open an issue on the GitHub repository.
Happy chatting with langchain_huggy!
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
Built Distribution
File details
Details for the file langchain_huggy-0.1.6.tar.gz
.
File metadata
- Download URL: langchain_huggy-0.1.6.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7558e8a9c093251d0adca5a31bc5b7fb88ce5112264bd5126e9358ae74f309d |
|
MD5 | 72478690cab12a9ba9b0d70fe6acc7d9 |
|
BLAKE2b-256 | cd26258f936b1d0913c5ac5072e45c227e708c39e1e10887b9cef12fe9c88a48 |
File details
Details for the file langchain_huggy-0.1.6-py3-none-any.whl
.
File metadata
- Download URL: langchain_huggy-0.1.6-py3-none-any.whl
- Upload date:
- Size: 7.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6821d5b711ba6168b7e8f007216319c6f983b8db0607f21c4854395e6a1805e0 |
|
MD5 | f92ae7e3d45971c49882f23df4592a3e |
|
BLAKE2b-256 | f38b5d65802030fb5610d9da93a795b08bc07c2135935bde1a8d557e45e625fd |