Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

Dartmouth LangChain

LangChain components for Dartmouth-hosted models.

⚠️⚠️⚠️⚠️ Deprecation Notice ⚠️⚠️⚠️⚠️

The dartmouth_langchain package has been renamed to langchain_dartmouth, to conform with the existing third-party packages in the LangChain ecosystem. Versions higher than 0.2.7 will only be released under the new name.

Getting started

  1. Install the package:
pip install dartmouth-langchain
  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 implemened:

  • 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 dartmouth_langchain.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 dartmouth_langchain.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 dartmouth_langchain import DartmouthEmbeddingsModel


embeddings = DartmouthEmbeddingsModel()

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

Reranking

Using a Dartmouth-hosted reranking model:

from dartmouth_langchain.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.

Download files

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

Source Distribution

dartmouth_langchain-0.2.7.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

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

dartmouth_langchain-0.2.7-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

Details for the file dartmouth_langchain-0.2.7.tar.gz.

File metadata

  • Download URL: dartmouth_langchain-0.2.7.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for dartmouth_langchain-0.2.7.tar.gz
Algorithm Hash digest
SHA256 9b2ecf269982887ff142655a7f59a935ba2ac6f183ae5b865b9ab2fc4ea6a968
MD5 14010a94331791f22b8f6d49ae8d0e05
BLAKE2b-256 083acce4e7682a8a7373c6ac07bfbfc1f297d2ead156bb7b9a2d88d10f752b3d

See more details on using hashes here.

File details

Details for the file dartmouth_langchain-0.2.7-py3-none-any.whl.

File metadata

File hashes

Hashes for dartmouth_langchain-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 f93293726f5dcfc1f0727cac5c5717f198f2cab3ade589bfe0cba40698edfc99
MD5 5d74396a40b16e53ae979102ad9adc1f
BLAKE2b-256 50372d12ad348f3f399f39d48f6fc168de4dd37e9afdf6b77b836e5cb3a0e3d8

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.7 This release

2 files

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page