chains#

是易于重用的组件,它们被链接在一起。

链编码了一系列对组件(如模型、文档检索器、其他链等)的调用,并为这一系列调用提供了一个简单的接口。

Chain 接口使得创建以下类型的应用程序变得容易:

  • 有状态的: 向任何链添加内存以赋予其状态,

  • Observable: 将回调传递给链以执行额外的功能,例如在主组件调用序列之外进行日志记录,

  • 可组合性:将 Chains 与其他组件(包括其他 Chains)结合使用。

类层次结构:

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

chains.base.Chain

用于创建结构化调用序列的抽象基类。

chains.combine_documents.base.BaseCombineDocumentsChain

用于组合文档的链的基础接口。

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

用于combine_docs方法的接口。

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

用于combine_docs方法的接口。

chains.constitutional_ai.models.ConstitutionalPrinciple

宪法原则的类。

chains.conversational_retrieval.base.BaseConversationalRetrievalChain

用于与索引聊天的链。

chains.conversational_retrieval.base.ChatVectorDBChain

用于与向量数据库聊天的链。

chains.conversational_retrieval.base.InputType

ConversationalRetrievalChain 的输入类型。

chains.elasticsearch_database.base.ElasticsearchDatabaseChain

用于与Elasticsearch数据库交互的链。

chains.flare.base.FlareChain

结合了检索器、问题生成器和响应生成器的链。

chains.flare.base.QuestionGeneratorChain

从不确定的跨度生成问题的链。

chains.flare.prompts.FinishedOutputParser

检查输出是否完成的输出解析器。

chains.hyde.base.HypotheticalDocumentEmbedder

为查询生成假设文档,然后嵌入该文档。

chains.moderation.OpenAIModerationChain

通过审核端点传递输入。

chains.natbot.crawler.Crawler()

一个用于网页的爬虫。

chains.natbot.crawler.ElementInViewPort

一个包含视口中元素信息的类型化字典。

chains.openai_functions.citation_fuzzy_match.FactWithEvidence

表示单个语句的类。

chains.openai_functions.citation_fuzzy_match.QuestionAnswer

一个问题及其答案,答案是一系列事实,每个事实都应该有一个来源。

chains.openai_functions.openapi.SimpleRequestChain

用于向API端点发出简单请求的链。

chains.openai_functions.qa_with_structure.AnswerWithSources

问题的答案,包含来源。

chains.prompt_selector.BasePromptSelector

提示选择器的基类。

chains.prompt_selector.ConditionalPromptSelector

通过条件进行提示收集。

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

用于加载组合文档链的接口。

chains.qa_with_sources.retrieval.RetrievalQAWithSourcesChain

基于索引的带来源的问答。

chains.qa_with_sources.vector_db.VectorDBQAWithSourcesChain

在向量数据库上进行带来源的问答。

chains.query_constructor.base.StructuredQueryOutputParser

解析结构化查询的输出解析器。

chains.query_constructor.parser.ISO8601Date

ISO 8601格式的日期(YYYY-MM-DD)。

chains.query_constructor.parser.ISO8601DateTime

ISO 8601 格式的日期时间 (YYYY-MM-DDTHH:MM:SS)。

chains.query_constructor.schema.AttributeInfo

关于数据源属性的信息。

chains.question_answering.chain.LoadingCallable(...)

用于加载组合文档链的接口。

chains.router.base.MultiRouteChain

使用单个链将输入路由到多个候选链中的一个。

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

创建 Route(destination, next_inputs) 的新实例

chains.router.base.RouterChain

输出目标链名称及其输入的链。

chains.router.embedding_router.EmbeddingRouterChain

使用嵌入在选项之间进行路由的链。

chains.router.llm_router.RouterOutputParser

用于多提示链中路由器链输出的解析器。

chains.router.multi_retrieval_qa.MultiRetrievalQAChain

一个多路由链,使用LLM路由器链在检索问答链之间进行选择。

chains.sequential.SequentialChain

链式结构,其中一个链的输出直接作为下一个链的输入。

chains.sequential.SimpleSequentialChain

简单的链,其中一步的输出直接作为下一步的输入。

chains.sql_database.query.SQLInput

SQL链的输入。

chains.sql_database.query.SQLInputWithTables

SQL链的输入。

chains.summarize.chain.LoadingCallable(...)

用于加载合并文档链的接口。

chains.transform.TransformChain

用于转换链输出的链。

函数

chains.combine_documents.reduce.acollapse_docs(...)

在一组文档上执行折叠函数并合并它们的元数据。

chains.combine_documents.reduce.collapse_docs(...)

在一组文档上执行折叠函数并合并它们的元数据。

chains.combine_documents.reduce.split_list_of_docs(...)

将文档拆分为每个都满足累积长度约束的子集。

chains.combine_documents.stuff.create_stuff_documents_chain(...)

创建一个用于将文档列表传递给模型的链。

chains.example_generator.generate_example(...)

返回给定提示示例列表中的另一个示例。

chains.history_aware_retriever.create_history_aware_retriever(...)

创建一个链,该链接收对话历史并返回文档。

chains.openai_functions.citation_fuzzy_match.create_citation_fuzzy_match_runnable(llm)

创建一个引用模糊匹配的Runnable。

chains.openai_functions.openapi.openapi_spec_to_openai_fn(spec)

将有效的OpenAPI规范转换为OpenAI期望的JSON Schema格式

chains.openai_functions.utils.get_llm_kwargs(...)

返回LLMChain构造函数的kwargs。

chains.prompt_selector.is_chat_model(llm)

检查语言模型是否为聊天模型。

chains.prompt_selector.is_llm(llm)

检查语言模型是否为LLM。

chains.query_constructor.base.construct_examples(...)

从输入输出对中构建示例。

chains.query_constructor.base.fix_filter_directive(...)

修复无效的过滤指令。

chains.query_constructor.base.get_query_constructor_prompt(...)

创建查询构造提示。

chains.query_constructor.base.load_query_constructor_runnable(...)

加载一个查询构造函数可运行链。

chains.query_constructor.parser.get_parser([...])

返回查询语言的解析器。

chains.query_constructor.parser.v_args(...)

当lark未安装时的虚拟装饰器。

chains.retrieval.create_retrieval_chain(...)

创建检索链,检索文档并将其传递下去。

chains.sql_database.query.create_sql_query_chain(llm, db)

创建一个生成SQL查询的链。

chains.structured_output.base.get_openai_output_parser(...)

根据用户函数获取适当的函数输出解析器。

chains.summarize.chain.load_summarize_chain(llm)

加载摘要链。

已弃用的类

已弃用的函数