Source code for langchain.runnables.hub
from typing import Any, Optional
from langchain_core.runnables.base import RunnableBindingBase
from langchain_core.runnables.utils import Input, Output
[docs]
class HubRunnable(RunnableBindingBase[Input, Output]):
"""
An instance of a runnable stored in the LangChain Hub.
"""
owner_repo_commit: str
def __init__(
self,
owner_repo_commit: str,
*,
api_url: Optional[str] = None,
api_key: Optional[str] = None,
**kwargs: Any,
) -> None:
"""Initialize the HubRunnable.
Args:
owner_repo_commit: The full name of the prompt to pull from in the format of
`owner/prompt_name:commit_hash` or `owner/prompt_name`
or just `prompt_name` if it's your own prompt.
api_url: The URL of the LangChain Hub API.
Defaults to the hosted API service if you have an api key set,
or a localhost instance if not.
api_key: The API key to use to authenticate with the LangChain Hub API.
**kwargs: Additional keyword arguments to pass to the parent class.
"""
from langchain.hub import pull
pulled = pull(owner_repo_commit, api_url=api_url, api_key=api_key)
super_kwargs = {
"kwargs": {},
"config": {},
**kwargs,
"bound": pulled,
"owner_repo_commit": owner_repo_commit,
}
super().__init__(**super_kwargs)