``langchain_dartmouth`` -- LangChain components for Dartmouth's on-premise models
=================================================================================
This package contains components to facilitate the use of models deployed in Dartmouth College's compute infrastructure or third-party models made accessible by Dartmouth. The components are fully compatible with `LangChain `_, allowing seamless integration and plug-and-play compatibility with the vast number of components in the ecosystem.
There are three main components currently implemented:
- Embedding models
- Used to generate embeddings for text documents.
- Large Language Models:
- Used to generate text in response to a text prompt.
- Reranking models
- Used to rerank retrieved documents based on their relevance to a query.
.. note::
These components provide access to the models deployed in Dartmouth's compute infrastructure using a RESTful API, and to third-party models made accessible by Dartmouth. To see which models are available, check the respective ``list()`` method of each class.
Installation
==================
You can install the latest release of the library from PyPI using pip:
.. code-block::
pip install langchain_dartmouth
Alternatively, you can clone the `library repository `_ from GitHub.
Getting Started
==================
Using Dartmouth's compute infrastructure or the third-party models paid for by Dartmouth requires authentication. The components in this library handle authentication "under-the-hood", but require valid Dartmouth API keys.
For the on-premise models, you can obtain a key from `Dartmouth's Developer Portal `_. For the third-party models, you can find instructions on how to obtain a key `here `_.`
Even though you can pass your key to each component using the ``dartmouth_api_key`` or ``dartmouth_chat_api_key`` parameter, it is good practice to not include the API key in your code directly. Instead, you should set the environment variable ``DARTMOUTH_API_KEY`` or ``DARTMOUTH_CHAT_API_KEY`` to your key. This will ensure that the key is not exposed in your code.
.. note::
We recommend using `python-dotenv `_ to manage your environment variables with an ``.env`` file.
.. toctree::
api
:maxdepth: 2
:caption: API Reference
User Guide
======================
While this documentation contains the technical API reference, you can find a collection of tutorials (or recipes) on how to use the components in this library in the `LangChain Dartmouth Cookbook `_.
Feedback and Comments
======================
For questions, comments, or improvements, email `Research Computing `_.
License
==================
Created by Simon Stone for Dartmouth College under `Creative Commons CC BY-NC 4.0 License `_
.. image:: _static/img/dartmouth-wordmark.png
:scale: 10%
:class: margin
.. image:: https://i.creativecommons.org/l/by/4.0/88x31.png
Except where otherwise noted, the example programs are made available under the OSI-approved MIT license.