自然语言SQL表
BaseQueryEngine #
Bases: PromptMixin, DispatcherSpanMixin
基础查询引擎。
workflows/handler.py 中的源代码llama_index/core/base/base_query_engine.py
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | |
自然语言SQL表查询引擎 #
基类:EventBaseSQLTableQueryEngine
自然语言SQL表查询引擎。
阅读 NLStructStoreQueryEngine 的文档字符串以获取关于自然语言 SQL 的更多信息。
注意:任何文本转SQL应用程序都应注意,执行任意SQL查询可能存在安全风险。建议根据需要采取预防措施,例如使用受限角色、只读数据库、沙盒环境等。
workflows/handler.py 中的源代码llama_index/core/indices/struct_store/sql_query.py
472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 | |
PGVectorSQL查询引擎 #
基类:EventBaseSQLTableQueryEngine
PGvector SQL 查询引擎。
普通文本到SQL查询引擎的修改版本,因为我们可以在SQL查询中推断嵌入向量。
注意:这是一个测试版功能
注意:任何文本转SQL应用程序都应注意,执行任意SQL查询可能存在安全风险。建议根据需要采取预防措施,例如使用受限角色、只读数据库、沙盒环境等。
workflows/handler.py 中的源代码llama_index/core/indices/struct_store/sql_query.py
539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 | |
SQL表检索查询引擎 #
基类:EventBaseSQLTableQueryEngine
SQL表检索器查询引擎。
workflows/handler.py 中的源代码llama_index/core/indices/struct_store/sql_query.py
598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 | |
引用查询引擎 #
基类:EventBaseQueryEngine
引文查询引擎。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
retriever
|
BaseRetriever
|
一个检索器对象。 |
required |
response_synthesizer
|
Optional[BaseSynthesizer]
|
一个 BaseSynthesizer 对象。 |
None
|
citation_chunk_size
|
int
|
引用块的大小,默认=512。用于控制来源的粒度。 |
DEFAULT_CITATION_CHUNK_SIZE
|
citation_chunk_overlap
|
int
|
引用节点的重叠数量,默认值=20。 |
DEFAULT_CITATION_CHUNK_OVERLAP
|
text_splitter
|
Optional[TextSplitter]
|
用于创建引用源节点的文本分割器。默认为 SentenceSplitter。 |
None
|
callback_manager
|
Optional[CallbackManager]
|
一个回调管理器。 |
None
|
metadata_mode
|
MetadataMode
|
一个控制元数据如何包含在引用提示中的 MetadataMode 对象。 |
NONE
|
workflows/handler.py 中的源代码llama_index/core/query_engine/citation_query_engine.py
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 | |
from_args
classmethod
#
from_args(index: BaseGPTIndex, llm: Optional[大语言模型] = None, response_synthesizer: Optional[BaseSynthesizer] = None, citation_chunk_size: int = DEFAULT_CITATION_CHUNK_SIZE, citation_chunk_overlap: int = DEFAULT_CITATION_CHUNK_OVERLAP, text_splitter: Optional[TextSplitter] = None, citation_qa_template: BasePromptTemplate = CITATION_QA_TEMPLATE, citation_refine_template: BasePromptTemplate = CITATION_REFINE_TEMPLATE, retriever: Optional[BaseRetriever] = None, node_postprocessors: Optional[List[BaseNodePostprocessor]] = None, response_mode: ResponseMode = 紧凑型, use_async: bool = False, streaming: bool = False, metadata_mode: MetadataMode = NONE, **kwargs: Any) -> CitationQueryEngine
初始化一个CitationQueryEngine对象。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
index
|
BaseGPTIndex
|
(BastGPTIndex): 用于查询的索引 |
required |
llm
|
Optional[大语言模型]
|
(可选[LLM]): 用于生成响应的LLM对象。 |
None
|
citation_chunk_size
|
int
|
引文块的大小,默认=512。用于控制来源的粒度。 |
DEFAULT_CITATION_CHUNK_SIZE
|
citation_chunk_overlap
|
int
|
引用节点的重叠数量,默认值=20。 |
DEFAULT_CITATION_CHUNK_OVERLAP
|
text_splitter
|
Optional[TextSplitter]
|
用于创建引用源节点的文本分割器。默认为 SentenceSplitter。 |
None
|
citation_qa_template
|
BasePromptTemplate
|
初始引证问答模板 |
CITATION_QA_TEMPLATE
|
citation_refine_template
|
BasePromptTemplate
|
引文优化模板。 |
CITATION_REFINE_TEMPLATE
|
retriever
|
BaseRetriever
|
一个检索器对象。 |
None
|
node_postprocessors
|
Optional[List[BaseNodePostprocessor]]
|
一个节点后处理器的列表。 |
None
|
verbose
|
bool
|
是否打印调试信息。 |
required |
response_mode
|
ResponseMode
|
一个 ResponseMode 对象。 |
紧凑型
|
use_async
|
bool
|
是否使用异步。 |
False
|
streaming
|
bool
|
是否使用流式传输。 |
False
|
optimizer
|
Optional[BaseTokenUsageOptimizer]
|
一个 BaseTokenUsageOptimizer 对象。 |
required |
workflows/handler.py 中的源代码llama_index/core/query_engine/citation_query_engine.py
142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 | |
Cogniswitch查询引擎 #
基类:EventBaseQueryEngine
workflows/handler.py 中的源代码llama_index/core/query_engine/cogniswitch_query_engine.py
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | |
query_knowledge #
query_knowledge(query: str) -> 响应
向 Cogniswitch 服务发送查询并获取响应。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
query
|
str
|
需要回答的查询。 |
required |
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
dict |
响应
|
Cogniswitch 服务的响应 JSON。 |
workflows/handler.py 中的源代码llama_index/core/query_engine/cogniswitch_query_engine.py
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | |
自定义查询引擎 #
Bases: BaseModel, BaseQueryEngine
自定义查询引擎。
子类可以定义额外的属性作为Pydantic字段。
子类必须实现custom_query方法,该方法接收查询字符串
并返回一个Response对象或字符串作为输出。
它们可以选择性地实现 acustom_query 方法以获得异步支持。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
callback_manager
|
CallbackManager
|
|
<llama_index.core.callbacks.base.CallbackManager object at 0x7f82e15e9f40>
|
workflows/handler.py 中的源代码llama_index/core/query_engine/custom.py
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | |
custom_query
abstractmethod
#
custom_query(query_str: str) -> STR_OR_RESPONSE_TYPE
运行自定义查询。
workflows/handler.py 中的源代码llama_index/core/query_engine/custom.py
64 65 66 | |
acustom_query
async
#
acustom_query(query_str: str) -> STR_OR_RESPONSE_TYPE
异步运行自定义查询。
workflows/handler.py 中的源代码llama_index/core/query_engine/custom.py
68 69 70 71 | |
FLARE指令查询引擎 #
基类:EventBaseQueryEngine
FLARE Instruct 查询引擎。
这是使用检索增强指令的FLARE版本。
注意:这是一个测试版功能。接口可能会更改,并且可能不总是给出正确答案。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
query_engine
|
BaseQueryEngine
|
要使用的查询引擎 |
required |
llm
|
Optional[大语言模型]
|
LLM模型。默认为None。 |
None
|
instruct_prompt
|
Optional[PromptTemplate]
|
指令提示。默认为空。 |
None
|
lookahead_answer_inserter
|
Optional[BaseLookaheadAnswerInserter]
|
前瞻答案插入器。默认为 None。 |
None
|
done_output_parser
|
Optional[IsDoneOutputParser]
|
完成输出解析器。 默认为空。 |
None
|
query_task_output_parser
|
Optional[QueryTaskOutputParser]
|
查询任务输出解析器。默认为 None。 |
None
|
max_iterations
|
int
|
最大迭代次数。默认为10。 |
10
|
max_lookahead_query_tasks
|
int
|
最大前瞻查询任务数。默认为1。 |
1
|
callback_manager
|
Optional[CallbackManager]
|
回调管理器。 默认为空。 |
None
|
verbose
|
bool
|
提供详细输出。默认为 False。 |
False
|
workflows/handler.py 中的源代码llama_index/core/query_engine/flare/base.py
98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 | |
可组合图查询引擎 #
基类:EventBaseQueryEngine
可组合图查询引擎。
该查询引擎可在组合图上运行。 它能够为其子索引接收自定义查询引擎。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
graph
|
ComposableGraph
|
一个可组合图对象。 |
required |
custom_query_engines
|
Optional[Dict[str, BaseQueryEngine]]
|
自定义查询引擎的字典。 |
None
|
recursive
|
bool
|
是否递归查询图。 |
True
|
**kwargs
|
Any
|
传递给底层索引查询引擎的额外参数。 |
{}
|
workflows/handler.py 中的源代码llama_index/core/query_engine/graph_query_engine.py
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | |
JSONalyze查询引擎 #
JSONalyze 查询引擎。
已弃用:请改用来自 llama-index-experimental 的 JSONalyzeQueryEngine。
workflows/handler.py 中的源代码llama_index/core/query_engine/jsonalyze/jsonalyze_query_engine.py
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |
知识图谱查询引擎 #
基类:EventBaseQueryEngine
知识图谱查询引擎。
用于调用知识图谱的查询引擎。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
storage_context
|
Optional[StorageContext]
|
要使用的存储上下文。 |
None
|
refresh_schema
|
bool
|
是否刷新架构。 |
False
|
verbose
|
bool
|
是否打印中间结果。 |
False
|
response_synthesizer
|
Optional[BaseSynthesizer]
|
一个 BaseSynthesizer 对象。 |
None
|
**kwargs
|
Any
|
额外的关键字参数。 |
{}
|
workflows/handler.py 中的源代码llama_index/core/query_engine/knowledge_graph_query_engine.py
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 | |
generate_query #
generate_query(query_str: str) -> str
根据查询包生成图存储查询。
workflows/handler.py 中的源代码llama_index/core/query_engine/knowledge_graph_query_engine.py
125 126 127 128 129 130 131 132 133 134 135 | |
agenerate_query
async
#
agenerate_query(query_str: str) -> str
根据查询包生成图存储查询。
workflows/handler.py 中的源代码llama_index/core/query_engine/knowledge_graph_query_engine.py
137 138 139 140 141 142 143 144 145 146 147 | |
简单多模态查询引擎 #
基类:EventBaseQueryEngine
简单的多模态检索器查询引擎。
假设检索到的文本上下文以及图像能够适配LLM的上下文窗口。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
retriever
|
MultiModalVectorIndexRetriever
|
一个检索器对象。 |
required |
multi_modal_llm
|
Optional[大语言模型]
|
一个大型语言模型。 |
None
|
text_qa_template
|
Optional[BasePromptTemplate]
|
文本问答提示模板。 |
None
|
image_qa_template
|
Optional[BasePromptTemplate]
|
图像问答提示模板。 |
None
|
node_postprocessors
|
Optional[List[BaseNodePostprocessor]]
|
节点后处理器。 |
None
|
callback_manager
|
Optional[CallbackManager]
|
一个回调管理器。 |
None
|
workflows/handler.py 中的源代码llama_index/core/query_engine/multi_modal.py
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 | |
image_query #
image_query(image_path: QueryType, prompt_str: str) -> RESPONSE_TYPE
回答一个图像查询。
workflows/handler.py 中的源代码llama_index/core/query_engine/multi_modal.py
225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 | |
多步查询引擎 #
基类:EventBaseQueryEngine
多步骤查询引擎。
该查询引擎可以在现有基础查询引擎之上运行,同时支持多步骤查询转换。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
query_engine
|
BaseQueryEngine
|
一个 BaseQueryEngine 对象。 |
required |
query_transform
|
StepDecomposeQueryTransform
|
一个 StepDecomposeQueryTransform 对象。 |
required |
response_synthesizer
|
Optional[BaseSynthesizer]
|
一个 BaseSynthesizer 对象。 |
None
|
num_steps
|
Optional[int]
|
运行多步查询的步骤数量。 |
3
|
early_stopping
|
bool
|
如果停止函数返回 True,是否提前停止。 |
True
|
index_summary
|
str
|
索引的字符串摘要。 |
'None'
|
stop_fn
|
Optional[Callable[[Dict], bool]]
|
一个停止函数,接收信息字典并返回布尔值。 |
None
|
workflows/handler.py 中的源代码llama_index/core/query_engine/multistep_query_engine.py
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | |
Pandas查询引擎 #
Pandas 查询引擎。
DEPRECATED: Use PandasQueryEngine from llama-index-experimental instead.
workflows/handler.py 中的源代码llama_index/core/query_engine/pandas/pandas_query_engine.py
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |
检索器查询引擎 #
基类:EventBaseQueryEngine
检索器查询引擎。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
retriever
|
BaseRetriever
|
一个检索器对象。 |
required |
response_synthesizer
|
Optional[BaseSynthesizer]
|
一个 BaseSynthesizer 对象。 |
None
|
callback_manager
|
Optional[CallbackManager]
|
一个回调管理器。 |
None
|
workflows/handler.py 中的源代码llama_index/core/query_engine/retriever_query_engine.py
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 | |
from_args
classmethod
#
from_args(retriever: BaseRetriever, llm: Optional[大语言模型] = None, response_synthesizer: Optional[BaseSynthesizer] = None, node_postprocessors: Optional[List[BaseNodePostprocessor]] = None, callback_manager: Optional[CallbackManager] = None, response_mode: ResponseMode = 紧凑型, text_qa_template: Optional[BasePromptTemplate] = None, refine_template: Optional[BasePromptTemplate] = None, summary_template: Optional[BasePromptTemplate] = None, simple_template: Optional[BasePromptTemplate] = None, output_cls: Optional[Type[BaseModel]] = None, use_async: bool = False, streaming: bool = False, verbose: bool = False, **kwargs: Any) -> RetrieverQueryEngine
初始化一个 RetrieverQueryEngine 对象。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
retriever
|
BaseRetriever
|
一个检索器对象。 |
required |
llm
|
Optional[大语言模型]
|
一个大型语言模型的实例。 |
None
|
response_synthesizer
|
Optional[BaseSynthesizer]
|
响应合成器的一个实例。 |
None
|
node_postprocessors
|
Optional[List[BaseNodePostprocessor]]
|
一个节点后处理器的列表。 |
None
|
callback_manager
|
Optional[CallbackManager]
|
一个回调管理器。 |
None
|
response_mode
|
ResponseMode
|
一个 ResponseMode 对象。 |
紧凑型
|
text_qa_template
|
Optional[BasePromptTemplate]
|
一个 BasePromptTemplate 对象。 |
None
|
refine_template
|
Optional[BasePromptTemplate]
|
一个BasePromptTemplate对象。 |
None
|
summary_template
|
Optional[BasePromptTemplate]
|
一个BasePromptTemplate对象。 |
None
|
simple_template
|
Optional[BasePromptTemplate]
|
一个BasePromptTemplate对象。 |
None
|
output_cls
|
Optional[Type[BaseModel]]
|
传递给响应合成器的pydantic模型。 |
None
|
use_async
|
bool
|
是否使用异步。 |
False
|
streaming
|
bool
|
是否使用流式传输。 |
False
|
verbose
|
bool
|
是否打印详细输出。 |
False
|
workflows/handler.py 中的源代码llama_index/core/query_engine/retriever_query_engine.py
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | |
重试指南查询引擎 #
基类:EventBaseQueryEngine
如果查询引擎评估失败,则使用评估器反馈进行重试。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
query_engine
|
BaseQueryEngine
|
一个查询引擎对象 |
required |
guideline_evaluator
|
GuidelineEvaluator
|
一个指南评估器对象 |
required |
resynthesize_query
|
bool
|
是否重新合成查询 |
False
|
max_retries
|
int
|
最大重试次数 |
3
|
callback_manager
|
Optional[CallbackManager]
|
一个回调管理器对象 |
None
|
workflows/handler.py 中的源代码llama_index/core/query_engine/retry_query_engine.py
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | |
重试查询引擎 #
基类:EventBaseQueryEngine
如果查询引擎评估失败,将进行重试。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
query_engine
|
BaseQueryEngine
|
一个查询引擎对象 |
required |
evaluator
|
BaseEvaluator
|
一个评估器对象 |
required |
max_retries
|
int
|
最大重试次数 |
3
|
callback_manager
|
Optional[CallbackManager]
|
一个回调管理器对象 |
None
|
workflows/handler.py 中的源代码llama_index/core/query_engine/retry_query_engine.py
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | |
重试源查询引擎 #
基类:EventBaseQueryEngine
使用不同的源节点重试。
workflows/handler.py 中的源代码llama_index/core/query_engine/retry_source_query_engine.py
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | |
检索器路由查询引擎 #
基类:EventBaseQueryEngine
基于检索器的路由查询引擎。
注意:此功能已弃用,请使用我们新的 ToolRetrieverRouterQueryEngine
使用检索器选择一组节点。每个节点将被转换为ToolMetadata对象,同时用于检索查询引擎,以形成QueryEngineTool。
注意:这是一个测试版功能。我们正在确定检索器与查询引擎之间的正确接口。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
selector
|
BaseSelector
|
一个根据每个候选者的元数据和查询从多个选项中选择其一的筛选器。 |
required |
query_engine_tools
|
Sequence[QueryEngineTool]
|
一系列候选查询引擎。它们必须被封装为工具,以便向选择器暴露元数据。 |
required |
callback_manager
|
Optional[CallbackManager]
|
一个回调管理器。 |
None
|
workflows/handler.py 中的源代码llama_index/core/query_engine/router_query_engine.py
264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 | |
路由查询引擎 #
基类:EventBaseQueryEngine
路由查询引擎。
从多个候选查询引擎中选择一个来执行查询。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
selector
|
BaseSelector
|
一个根据每个候选者的元数据和查询从多个选项中选择其一的筛选器。 |
required |
query_engine_tools
|
Sequence[QueryEngineTool]
|
一系列候选查询引擎。它们必须被封装为工具,以便向选择器暴露元数据。 |
required |
summarizer
|
Optional[TreeSummarize]
|
树状摘要器,用于汇总子结果。 |
None
|
workflows/handler.py 中的源代码llama_index/core/query_engine/router_query_engine.py
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 | |
工具检索路由查询引擎 #
基类:EventBaseQueryEngine
工具检索器路由查询引擎。
选择一组候选查询引擎来执行查询。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
retriever
|
ObjectRetriever
|
一个用于检索一组查询引擎工具的检索器。 |
required |
summarizer
|
Optional[TreeSummarize]
|
树状摘要器,用于汇总子结果。 |
None
|
workflows/handler.py 中的源代码llama_index/core/query_engine/router_query_engine.py
316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 | |
SQL连接查询引擎 #
基类:EventBaseQueryEngine
SQL 连接查询引擎。
该查询引擎能够将 SQL 数据库结果与另一个查询引擎进行"连接"。 它可以判断需要查询 SQL 数据库还是另一个查询引擎。 如果决定查询 SQL 数据库,它将首先查询 SQL 数据库, 并判断是否要用从另一个查询引擎检索到的结果来增强信息。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
sql_query_tool
|
QueryEngineTool
|
用于SQL数据库的查询引擎工具。 other_query_tool (QueryEngineTool): 其他查询引擎工具。 |
required |
selector
|
Optional[Union[LLMSingleSelector, PydanticSingleSelector]]
|
选择器使用。 |
None
|
sql_join_synthesis_prompt
|
Optional[BasePromptTemplate]
|
用于SQL连接合成的提示模板。 |
None
|
sql_augment_query_transform
|
Optional[SQLAugmentQueryTransform]
|
用于SQL增强的查询转换。 |
None
|
use_sql_join_synthesis
|
bool
|
是否使用SQL连接合成。 |
True
|
callback_manager
|
Optional[CallbackManager]
|
要使用的回调管理器。 |
None
|
verbose
|
bool
|
是否打印中间结果。 |
True
|
workflows/handler.py 中的源代码llama_index/core/query_engine/sql_join_query_engine.py
167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 | |
SQL自动向量查询引擎 #
基类:EventSQLJoinQueryEngine
SQL + 向量索引自动检索查询引擎。
该查询引擎可以同时查询SQL数据库和向量数据库。它会首先判断需要查询SQL数据库还是向量存储。如果决定查询SQL数据库,它还会判断是否需要用向量存储的检索结果来增强信息。我们使用VectorIndexAutoRetriever来检索结果。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
sql_query_tool
|
QueryEngineTool
|
用于SQL数据库的查询引擎工具。 |
required |
vector_query_tool
|
QueryEngineTool
|
向量数据库的查询引擎工具。 |
required |
selector
|
Optional[Union[LLMSingleSelector, PydanticSingleSelector]]
|
选择器使用。 |
None
|
sql_vector_synthesis_prompt
|
Optional[BasePromptTemplate]
|
用于SQL向量合成的提示词。 |
None
|
sql_augment_query_transform
|
Optional[SQLAugmentQueryTransform]
|
用于SQL增强的查询转换。 |
None
|
use_sql_vector_synthesis
|
bool
|
是否使用SQL向量合成。 |
True
|
callback_manager
|
Optional[CallbackManager]
|
要使用的回调管理器。 |
None
|
verbose
|
bool
|
是否打印中间结果。 |
True
|
workflows/handler.py 中的源代码llama_index/core/query_engine/sql_vector_query_engine.py
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 | |
from_sql_and_vector_query_engines
classmethod
#
from_sql_and_vector_query_engines(sql_query_engine: Union[BaseSQLTableQueryEngine, NLSQLTableQueryEngine], sql_tool_name: str, sql_tool_description: str, vector_auto_retriever: RetrieverQueryEngine, vector_tool_name: str, vector_tool_description: str, selector: Optional[Union[LLMSingleSelector, PydanticSingleSelector]] = None, **kwargs: Any) -> SQLAutoVectorQueryEngine
来自SQL和向量查询引擎。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
sql_query_engine
|
BaseSQLTableQueryEngine
|
SQL查询引擎。 |
required |
vector_query_engine
|
VectorIndexAutoRetriever
|
向量检索器。 |
required |
selector
|
Optional[Union[LLMSingleSelector, PydanticSingleSelector]]
|
选择器使用。 |
None
|
workflows/handler.py 中的源代码llama_index/core/query_engine/sql_vector_query_engine.py
145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 | |
子问题回答对 #
基类:EventBaseModel
子问题及其可选答案(如果已回答)的配对。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
sub_q
|
SubQuestion
|
|
required |
answer
|
str | None
|
|
None
|
sources
|
List[NodeWithScore]
|
内置可变序列。 如果未提供参数,构造函数将创建一个新的空列表。 如果指定了参数,则它必须是一个可迭代对象。 |
<dynamic>
|
workflows/handler.py 中的源代码llama_index/core/query_engine/sub_question_query_engine.py
27 28 29 30 31 32 33 34 | |
子问题查询引擎 #
基类:EventBaseQueryEngine
子问题查询引擎。
一种查询引擎,能够将复杂查询(例如比较与对比)分解为多个子问题及其对应的目标查询引擎以供执行。 在执行完所有子问题后,所有响应将被收集并发送至响应合成器以生成最终响应。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
question_gen
|
BaseQuestionGenerator
|
一个用于生成子问题的模块,给定一个复杂问题及工具。 |
required |
response_synthesizer
|
BaseSynthesizer
|
用于生成最终响应的响应合成器 |
required |
query_engine_tools
|
Sequence[QueryEngineTool]
|
用于回答子问题的工具。 |
required |
verbose
|
bool
|
是否打印中间的问题和答案。 默认为 True |
True
|
use_async
|
bool
|
是否使用异步方式执行子问题。 默认为 True |
False
|
workflows/handler.py 中的源代码llama_index/core/query_engine/sub_question_query_engine.py
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 | |
转换查询引擎 #
基类:EventBaseQueryEngine
转换查询引擎。
在将查询包传递给查询引擎之前,对其应用查询转换。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
query_engine
|
BaseQueryEngine
|
一个查询引擎对象。 |
required |
query_transform
|
BaseQueryTransform
|
一个查询转换对象。 |
required |
transform_metadata
|
Optional[dict]
|
传递给查询转换的元数据。 |
None
|
callback_manager
|
Optional[CallbackManager]
|
一个回调管理器。 |
None
|
workflows/handler.py 中的源代码llama_index/core/query_engine/transform_query_engine.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | |
选项: 成员:- NLSQLTableQueryEngine