Skip to main content

LangChain components for Dartmouth-hosted models.

Project description

Dartmouth LangChain

LangChain components for Dartmouth-hosted models.

Getting started

  1. Install the package:
pip install langchain_dartmouth
  1. Obtain a Dartmouth API key from developer.dartmouth.edu
  2. Store the API key as an environment variable called DARTMOUTH_API_KEY:
export DARTMOUTH_API_KEY=<your_key_here>

What is this?

This library provides an integration of Darmouth-hosted generative AI resources with the LangChain framework.

There are three main components currently implemented:

  • Large Language Models
  • Embedding models
  • Reranking models

All of these components are based on corresponding LangChain base classes and can be used seamlessly wherever the corresponding LangChain objects can be used.

Using the library

Large Language Models

There are two kinds of Large Language Models (LLMs) hosted by Dartmouth:

  • Base models without instruction tuning (require no special prompt format)
  • Instruction-tuned models (also known as Chat models) requiring specific prompt formats

Using a Dartmouth-hosted base language model:

from langchain_dartmouth.llms import DartmouthLLM

llm = DartmouthLLM(model_name="codellama-13b-hf")

response = llm.invoke("Write a Python script to swap two variables.")
print(response)

Using a Dartmouth-hosted chat model:

from langchain_dartmouth.llms import ChatDartmouth


llm = ChatDartmouth(model_name="llama-3-8b-instruct")

response = llm.invoke("Hi there!")

print(response.content)

Note: The required prompt format is enforced automatically when you are using ChatDartmouth.

Embeddings model

Using a Dartmouth-hosted embeddings model:

from langchain_dartmouth.embeddings import DartmouthEmbeddingsModel


embeddings = DartmouthEmbeddingsModel()

embeddings.embed_query("Hello? Is there anybody in there?")

print(response)

Reranking

Using a Dartmouth-hosted reranking model:

from langchain_dartmouth.retrievers.document_compressors import DartmouthReranker
from langchain.docstore.document import Document


docs = [
    Document(page_content="Deep Learning is not..."),
    Document(page_content="Deep learning is..."),
    ]

query = "What is Deep Learning?"
reranker = DartmouthReranker(model_name="bge-reranker-v2-m3")
ranked_docs = reranker.compress_documents(query=query, documents=docs)

print(ranked_docs)

Available models

For a list of available models, check the documentation of the RESTful Dartmouth AI API.

License

Created by Simon Stone for Dartmouth College Libraries under Creative Commons CC BY-NC 4.0 License.
For questions, comments, or improvements, email Research Data Services.
Creative Commons License

Except where otherwise noted, the example programs are made available under the OSI-approved MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

langchain_dartmouth-0.2.10.tar.gz (125.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

langchain_dartmouth-0.2.10-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file langchain_dartmouth-0.2.10.tar.gz.

File metadata

  • Download URL: langchain_dartmouth-0.2.10.tar.gz
  • Upload date:
  • Size: 125.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for langchain_dartmouth-0.2.10.tar.gz
Algorithm Hash digest
SHA256 5bb8b943551df60dde6d26d0885c28be0c80da8c56af8b2411198f42fe020db2
MD5 66903fca2ac0248d5af5ce6ba524ebbf
BLAKE2b-256 d25572dcfaad95681a01d69ac860577a6f2ebf4de8a913cc0c9a303cc2444e2d

See more details on using hashes here.

File details

Details for the file langchain_dartmouth-0.2.10-py3-none-any.whl.

File metadata

File hashes

Hashes for langchain_dartmouth-0.2.10-py3-none-any.whl
Algorithm Hash digest
SHA256 20cde62756f78f6122dc8a78450df46e3971476d0bb8f342ffe6c482ed7560ee
MD5 a2de2f9aafd33674cb95be8b38879cd1
BLAKE2b-256 632f3eb58e4fcd33f7e726c09bd20adfdfe29c0db4578ce548c06bfae19fb104

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page