A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://api.python.langchain.com/en/stable/langchain_api_reference.html below:

langchain 0.1.4 — 🦜🔗 LangChain 0.1.4

langchain 0.1.4 langchain.agents

Agent is a class that uses an LLM to choose a sequence of actions to take.

In Chains, a sequence of actions is hardcoded. In Agents, a language model is used as a reasoning engine to determine which actions to take and in which order.

Agents select and use Tools and Toolkits for actions.

Class hierarchy:

BaseSingleActionAgent --> LLMSingleActionAgent
                          OpenAIFunctionsAgent
                          XMLAgent
                          Agent --> <name>Agent  # Examples: ZeroShotAgent, ChatAgent


BaseMultiActionAgent  --> OpenAIMultiFunctionsAgent

Main helpers:

AgentType, AgentExecutor, AgentOutputParser, AgentExecutorIterator,
AgentAction, AgentFinish
Classes Functions

agents.agent_toolkits.conversational_retrieval.openai_functions.create_conversational_retrieval_agent(...)

A convenience method for creating a conversational retrieval agent.

agents.agent_toolkits.vectorstore.base.create_vectorstore_agent(...)

Construct a VectorStore agent from an LLM and tools.

agents.agent_toolkits.vectorstore.base.create_vectorstore_router_agent(...)

Construct a VectorStore router agent from an LLM and tools.

agents.format_scratchpad.log.format_log_to_str(...)

Construct the scratchpad that lets the agent continue its thought process.

agents.format_scratchpad.log_to_messages.format_log_to_messages(...)

Construct the scratchpad that lets the agent continue its thought process.

agents.format_scratchpad.openai_functions.format_to_openai_function_messages(...)

Convert (AgentAction, tool output) tuples into FunctionMessages.

agents.format_scratchpad.openai_functions.format_to_openai_functions(...)

Convert (AgentAction, tool output) tuples into FunctionMessages.

agents.format_scratchpad.openai_tools.format_to_openai_tool_messages(...)

Convert (AgentAction, tool output) tuples into FunctionMessages.

agents.format_scratchpad.xml.format_xml(...)

Format the intermediate steps as XML.

agents.initialize.initialize_agent(tools, llm)

[Deprecated] Load an agent executor given tools and LLM.

agents.json_chat.base.create_json_chat_agent(...)

Create an agent that uses JSON to format its logic, build for Chat Models.

agents.load_tools.get_all_tool_names()

Get a list of all possible tool names.

agents.load_tools.load_huggingface_tool(...)

Loads a tool from the HuggingFace Hub.

agents.load_tools.load_tools(tool_names[, ...])

Load tools based on their name.

agents.loading.load_agent(path, **kwargs)

[Deprecated] Unified method for loading an agent from LangChainHub or local fs.

agents.loading.load_agent_from_config(config)

[Deprecated] Load agent from Config Dict.

agents.openai_functions_agent.base.create_openai_functions_agent(...)

Create an agent that uses OpenAI function calling.

agents.openai_tools.base.create_openai_tools_agent(...)

Create an agent that uses OpenAI tools.

agents.output_parsers.openai_tools.parse_ai_message_to_openai_tool_action(message)

Parse an AI message potentially containing tool_calls.

agents.react.agent.create_react_agent(llm, ...)

Create an agent that uses ReAct prompting.

agents.self_ask_with_search.base.create_self_ask_with_search_agent(...)

Create an agent that uses self-ask with search prompting.

agents.structured_chat.base.create_structured_chat_agent(...)

Create an agent aimed at supporting tools with multiple inputs.

agents.utils.validate_tools_single_input(...)

Validate tools for single input.

agents.xml.base.create_xml_agent(llm, tools, ...)

Create an agent that uses XML to format its logic.

langchain.callbacks

Callback handlers allow listening to events in LangChain.

Class hierarchy:

BaseCallbackHandler --> <name>CallbackHandler  # Example: AimCallbackHandler
Classes langchain.chains

Chains are easily reusable components linked together.

Chains encode a sequence of calls to components like models, document retrievers, other Chains, etc., and provide a simple interface to this sequence.

The Chain interface makes it easy to create apps that are:

Class hierarchy:

Chain --> <name>Chain  # Examples: LLMChain, MapReduceChain, RouterChain
Classes

chains.api.base.APIChain

Chain that makes API calls and summarizes the responses to answer a question.

chains.api.openapi.chain.OpenAPIEndpointChain

Chain interacts with an OpenAPI endpoint using natural language.

chains.api.openapi.requests_chain.APIRequesterChain

Get the request parser.

chains.api.openapi.requests_chain.APIRequesterOutputParser

Parse the request and error tags.

chains.api.openapi.response_chain.APIResponderChain

Get the response parser.

chains.api.openapi.response_chain.APIResponderOutputParser

Parse the response and error tags.

chains.base.Chain

Abstract base class for creating structured sequences of calls to components.

chains.combine_documents.base.AnalyzeDocumentChain

Chain that splits documents, then analyzes it in pieces.

chains.combine_documents.base.BaseCombineDocumentsChain

Base interface for chains combining documents.

chains.combine_documents.map_reduce.MapReduceDocumentsChain

Combining documents by mapping a chain over them, then combining results.

chains.combine_documents.map_rerank.MapRerankDocumentsChain

Combining documents by mapping a chain over them, then reranking results.

chains.combine_documents.reduce.AsyncCombineDocsProtocol(...)

Interface for the combine_docs method.

chains.combine_documents.reduce.CombineDocsProtocol(...)

Interface for the combine_docs method.

chains.combine_documents.reduce.ReduceDocumentsChain

Combine documents by recursively reducing them.

chains.combine_documents.refine.RefineDocumentsChain

Combine documents by doing a first pass and then refining on more documents.

chains.combine_documents.stuff.StuffDocumentsChain

Chain that combines documents by stuffing into context.

chains.constitutional_ai.base.ConstitutionalChain

Chain for applying constitutional principles.

chains.constitutional_ai.models.ConstitutionalPrinciple

Class for a constitutional principle.

chains.conversation.base.ConversationChain

Chain to have a conversation and load context from memory.

chains.conversational_retrieval.base.BaseConversationalRetrievalChain

Chain for chatting with an index.

chains.conversational_retrieval.base.ChatVectorDBChain

Chain for chatting with a vector database.

chains.conversational_retrieval.base.ConversationalRetrievalChain

Chain for having a conversation based on retrieved documents.

chains.conversational_retrieval.base.InputType

Input type for ConversationalRetrievalChain.

chains.elasticsearch_database.base.ElasticsearchDatabaseChain

Chain for interacting with Elasticsearch Database.

chains.flare.base.FlareChain

Chain that combines a retriever, a question generator, and a response generator.

chains.flare.base.QuestionGeneratorChain

Chain that generates questions from uncertain spans.

chains.flare.prompts.FinishedOutputParser

Output parser that checks if the output is finished.

chains.graph_qa.arangodb.ArangoGraphQAChain

Chain for question-answering against a graph by generating AQL statements.

chains.graph_qa.base.GraphQAChain

Chain for question-answering against a graph.

chains.graph_qa.cypher.GraphCypherQAChain

Chain for question-answering against a graph by generating Cypher statements.

chains.graph_qa.cypher_utils.CypherQueryCorrector(schemas)

Used to correct relationship direction in generated Cypher statements.

chains.graph_qa.cypher_utils.Schema(...)

Create new instance of Schema(left_node, relation, right_node)

chains.graph_qa.falkordb.FalkorDBQAChain

Chain for question-answering against a graph by generating Cypher statements.

chains.graph_qa.hugegraph.HugeGraphQAChain

Chain for question-answering against a graph by generating gremlin statements.

chains.graph_qa.kuzu.KuzuQAChain

Question-answering against a graph by generating Cypher statements for Kùzu.

chains.graph_qa.nebulagraph.NebulaGraphQAChain

Chain for question-answering against a graph by generating nGQL statements.

chains.graph_qa.neptune_cypher.NeptuneOpenCypherQAChain

Chain for question-answering against a Neptune graph by generating openCypher statements.

chains.graph_qa.sparql.GraphSparqlQAChain

Question-answering against an RDF or OWL graph by generating SPARQL statements.

chains.hyde.base.HypotheticalDocumentEmbedder

Generate hypothetical document for query, and then embed that.

chains.llm.LLMChain

Chain to run queries against LLMs.

chains.llm_checker.base.LLMCheckerChain

Chain for question-answering with self-verification.

chains.llm_math.base.LLMMathChain

Chain that interprets a prompt and executes python code to do math.

chains.llm_requests.LLMRequestsChain

Chain that requests a URL and then uses an LLM to parse results.

chains.llm_summarization_checker.base.LLMSummarizationCheckerChain

Chain for question-answering with self-verification.

chains.mapreduce.MapReduceChain

Map-reduce chain.

chains.moderation.OpenAIModerationChain

Pass input through a moderation endpoint.

chains.natbot.base.NatBotChain

Implement an LLM driven browser.

chains.natbot.crawler.Crawler()

A crawler for web pages.

chains.natbot.crawler.ElementInViewPort

A typed dictionary containing information about elements in the viewport.

chains.openai_functions.citation_fuzzy_match.FactWithEvidence

Class representing a single statement.

chains.openai_functions.citation_fuzzy_match.QuestionAnswer

A question and its answer as a list of facts each one should have a source.

chains.openai_functions.openapi.SimpleRequestChain

Chain for making a simple request to an API endpoint.

chains.openai_functions.qa_with_structure.AnswerWithSources

An answer to the question, with sources.

chains.prompt_selector.BasePromptSelector

Base class for prompt selectors.

chains.prompt_selector.ConditionalPromptSelector

Prompt collection that goes through conditionals.

chains.qa_generation.base.QAGenerationChain

Base class for question-answer generation chains.

chains.qa_with_sources.base.BaseQAWithSourcesChain

Question answering chain with sources over documents.

chains.qa_with_sources.base.QAWithSourcesChain

Question answering with sources over documents.

chains.qa_with_sources.loading.LoadingCallable(...)

Interface for loading the combine documents chain.

chains.qa_with_sources.retrieval.RetrievalQAWithSourcesChain

Question-answering with sources over an index.

chains.qa_with_sources.vector_db.VectorDBQAWithSourcesChain

Question-answering with sources over a vector database.

chains.query_constructor.base.StructuredQueryOutputParser

Output parser that parses a structured query.

chains.query_constructor.ir.Comparator(value)

Enumerator of the comparison operators.

chains.query_constructor.ir.Comparison

A comparison to a value.

chains.query_constructor.ir.Expr

Base class for all expressions.

chains.query_constructor.ir.FilterDirective

A filtering expression.

chains.query_constructor.ir.Operation

A logical operation over other directives.

chains.query_constructor.ir.Operator(value)

Enumerator of the operations.

chains.query_constructor.ir.StructuredQuery

A structured query.

chains.query_constructor.ir.Visitor()

Defines interface for IR translation using visitor pattern.

chains.query_constructor.parser.ISO8601Date

A date in ISO 8601 format (YYYY-MM-DD).

chains.query_constructor.schema.AttributeInfo

Information about a data source attribute.

chains.retrieval_qa.base.BaseRetrievalQA

Base class for question-answering chains.

chains.retrieval_qa.base.RetrievalQA

Chain for question-answering against an index.

chains.retrieval_qa.base.VectorDBQA

Chain for question-answering against a vector database.

chains.router.base.MultiRouteChain

Use a single chain to route an input to one of multiple candidate chains.

chains.router.base.Route(destination, ...)

Create new instance of Route(destination, next_inputs)

chains.router.base.RouterChain

Chain that outputs the name of a destination chain and the inputs to it.

chains.router.embedding_router.EmbeddingRouterChain

Chain that uses embeddings to route between options.

chains.router.llm_router.LLMRouterChain

A router chain that uses an LLM chain to perform routing.

chains.router.llm_router.RouterOutputParser

Parser for output of router chain in the multi-prompt chain.

chains.router.multi_prompt.MultiPromptChain

A multi-route chain that uses an LLM router chain to choose amongst prompts.

chains.router.multi_retrieval_qa.MultiRetrievalQAChain

A multi-route chain that uses an LLM router chain to choose amongst retrieval qa chains.

chains.sequential.SequentialChain

Chain where the outputs of one chain feed directly into next.

chains.sequential.SimpleSequentialChain

Simple chain where the outputs of one step feed directly into next.

chains.sql_database.query.SQLInput

Input for a SQL Chain.

chains.sql_database.query.SQLInputWithTables

Input for a SQL Chain.

chains.transform.TransformChain

Chain that transforms the chain output.

Functions langchain.embeddings

Embedding models are wrappers around embedding models from different APIs and services.

Embedding models can be LLMs or not.

Class hierarchy:

Embeddings --> <name>Embeddings  # Examples: OpenAIEmbeddings, HuggingFaceEmbeddings
Classes Functions langchain.evaluation

Evaluation chains for grading LLM and Chain outputs.

This module contains off-the-shelf evaluation chains for grading the output of LangChain primitives such as language models and chains.

Loading an evaluator

To load an evaluator, you can use the load_evaluators or load_evaluator functions with the names of the evaluators to load.

from langchain.evaluation import load_evaluator

evaluator = load_evaluator("qa")
evaluator.evaluate_strings(
    prediction="We sold more than 40,000 units last week",
    input="How many units did we sell last week?",
    reference="We sold 32,378 units",
)

The evaluator must be one of EvaluatorType.

Datasets

To load one of the LangChain HuggingFace datasets, you can use the load_dataset function with the name of the dataset to load.

from langchain.evaluation import load_dataset
ds = load_dataset("llm-math")

Some common use cases for evaluation include:

Low-level API

These evaluators implement one of the following interfaces:

These interfaces enable easier composability and usage within a higher level evaluation framework.

Classes Functions langchain.hub

Interface with the LangChain Hub.

Functions

hub.pull(owner_repo_commit, *[, api_url, ...])

Pulls an object from the hub and returns it as a LangChain object.

hub.push(repo_full_name, object, *[, ...])

Pushes an object to the hub and returns the URL it can be viewed at in a browser.

langchain.indexes

Code to support various indexing workflows.

Provides code to:

For indexing workflows, this code is used to avoid writing duplicated content into the vectostore and to avoid over-writing content if it’s unchanged.

Importantly, this keeps on working even if the content being written is derived via a set of transformations from some source content (e.g., indexing children documents that were derived from parent documents by chunking.)

Classes Functions langchain.memory

Memory maintains Chain state, incorporating context from past runs.

Class hierarchy for Memory:

BaseMemory --> BaseChatMemory --> <name>Memory  # Examples: ZepMemory, MotorheadMemory

Main helpers:

Chat Message History stores the chat message history in different stores.

Class hierarchy for ChatMessageHistory:

BaseChatMessageHistory --> <name>ChatMessageHistory  # Example: ZepChatMessageHistory

Main helpers:

AIMessage, BaseMessage, HumanMessage
Classes Functions langchain.model_laboratory

Experiment with different models.

Classes langchain.output_parsers

OutputParser classes parse the output of an LLM call.

Class hierarchy:

BaseLLMOutputParser --> BaseOutputParser --> <name>OutputParser  # ListOutputParser, PydanticOutputParser

Main helpers:

Serializable, Generation, PromptValue
Classes Functions langchain.prompts

Prompt is the input to the model.

Prompt is often constructed from multiple components. Prompt classes and functions make constructing

and working with prompts easy.

Class hierarchy:

BasePromptTemplate --> PipelinePromptTemplate
                       StringPromptTemplate --> PromptTemplate
                                                FewShotPromptTemplate
                                                FewShotPromptWithTemplates
                       BaseChatPromptTemplate --> AutoGPTPrompt
                                                  ChatPromptTemplate --> AgentScratchPadChatPromptTemplate



BaseMessagePromptTemplate --> MessagesPlaceholder
                              BaseStringMessagePromptTemplate --> ChatMessagePromptTemplate
                                                                  HumanMessagePromptTemplate
                                                                  AIMessagePromptTemplate
                                                                  SystemMessagePromptTemplate

PromptValue --> StringPromptValue
                ChatPromptValue
Classes Functions langchain.retrievers

Retriever class returns Documents given a text query.

It is more general than a vector store. A retriever does not need to be able to store documents, only to return (or retrieve) it. Vector stores can be used as the backbone of a retriever, but there are other types of retrievers as well.

Class hierarchy:

BaseRetriever --> <name>Retriever  # Examples: ArxivRetriever, MergerRetriever

Main helpers:

Document, Serializable, Callbacks,
CallbackManagerForRetrieverRun, AsyncCallbackManagerForRetrieverRun
Classes Functions langchain.runnables Classes langchain.smith

LangSmith utilities.

This module provides utilities for connecting to LangSmith. For more information on LangSmith, see the LangSmith documentation.

Evaluation

LangSmith helps you evaluate Chains and other language model application components using a number of LangChain evaluators. An example of this is shown below, assuming you’ve created a LangSmith dataset called <my_dataset_name>:

from langsmith import Client
from langchain_community.chat_models import ChatOpenAI
from langchain.chains import LLMChain
from langchain.smith import RunEvalConfig, run_on_dataset

# Chains may have memory. Passing in a constructor function lets the
# evaluation framework avoid cross-contamination between runs.
def construct_chain():
    llm = ChatOpenAI(temperature=0)
    chain = LLMChain.from_string(
        llm,
        "What's the answer to {your_input_key}"
    )
    return chain

# Load off-the-shelf evaluators via config or the EvaluatorType (string or enum)
evaluation_config = RunEvalConfig(
    evaluators=[
        "qa",  # "Correctness" against a reference answer
        "embedding_distance",
        RunEvalConfig.Criteria("helpfulness"),
        RunEvalConfig.Criteria({
            "fifth-grader-score": "Do you have to be smarter than a fifth grader to answer this question?"
        }),
    ]
)

client = Client()
run_on_dataset(
    client,
    "<my_dataset_name>",
    construct_chain,
    evaluation=evaluation_config,
)

You can also create custom evaluators by subclassing the StringEvaluator or LangSmith’s RunEvaluator classes.

from typing import Optional
from langchain.evaluation import StringEvaluator

class MyStringEvaluator(StringEvaluator):

    @property
    def requires_input(self) -> bool:
        return False

    @property
    def requires_reference(self) -> bool:
        return True

    @property
    def evaluation_name(self) -> str:
        return "exact_match"

    def _evaluate_strings(self, prediction, reference=None, input=None, **kwargs) -> dict:
        return {"score": prediction == reference}


evaluation_config = RunEvalConfig(
    custom_evaluators = [MyStringEvaluator()],
)

run_on_dataset(
    client,
    "<my_dataset_name>",
    construct_chain,
    evaluation=evaluation_config,
)

Primary Functions

Classes Functions langchain.storage

Implementations of key-value stores and storage helpers.

Module provides implementations of various key-value stores that conform to a simple key-value interface.

The primary goal of these storages is to support implementation of caching.

Classes langchain.text_splitter

Text Splitters are classes for splitting text.

Class hierarchy:

BaseDocumentTransformer --> TextSplitter --> <name>TextSplitter  # Example: CharacterTextSplitter
                                             RecursiveCharacterTextSplitter -->  <name>TextSplitter

Note: MarkdownHeaderTextSplitter and **HTMLHeaderTextSplitter do not derive from TextSplitter.

Main helpers:

Document, Tokenizer, Language, LineType, HeaderType
Classes Functions langchain.tools

Tools are classes that an Agent uses to interact with the world.

Each tool has a description. Agent uses the description to choose the right tool for the job.

Class hierarchy:

ToolMetaclass --> BaseTool --> <name>Tool  # Examples: AIPluginTool, BaseGraphQLTool
                               <name>      # Examples: BraveSearch, HumanInputRun

Main helpers:

CallbackManagerForToolRun, AsyncCallbackManagerForToolRun
Classes Functions langchain.utils

Utility functions for LangChain.

These functions do not depend on any other LangChain module.

Functions

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4