Pandas
PandasQueryEngine #
基类: BaseQueryEngine
Pandas 查询引擎。
将自然语言转换为 Pandas Python 代码。
警告:此工具允许 Agent 访问 eval
函数。在运行此工具的机器上可能存在任意代码执行的风险。不建议在生产环境中使用此工具,或者需要严格的沙盒或虚拟机隔离。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
df
|
DataFrame
|
要使用的 Pandas 数据框。 |
必需 |
instruction_str
|
可选[str]
|
要使用的指令字符串。 |
无
|
instruction_parser
|
可选[PandasInstructionParser]
|
这是一个输出解析器,它接收 pandas 查询输出字符串并返回一个字符串。它默认为 PandasInstructionParser,并将 pandas DataFrame 和任何 output kwargs 作为参数。例如,kwargs["max_colwidth"] = [int] 用于设置在调用 str(df) 时每列可以显示的文本长度。如果数据框中可能包含长文本,请将其设置为更高的数字。 |
无
|
pandas_prompt
|
可选[BasePromptTemplate]
|
要使用的 Pandas 提示。 |
无
|
output_kwargs
|
dict
|
PandasInstructionParser 的额外输出处理器 kwargs。 |
无
|
head
|
int
|
在表格上下文中显示的行数。 |
5
|
verbose
|
bool
|
是否打印详细输出。 |
False
|
llm
|
可选[LLM]
|
要使用的大语言模型。 |
无
|
synthesize_response
|
bool
|
是否从查询结果合成响应。默认为 False。 |
False
|
response_synthesis_prompt
|
可选[BasePromptTemplate]
|
用于查询的 Response Synthesis BasePromptTemplate。默认为 DEFAULT_RESPONSE_SYNTHESIS_PROMPT。 |
无
|
示例
pip install llama-index-experimental
import pandas as pd
from llama_index.experimental.query_engine.pandas import PandasQueryEngine
df = pd.DataFrame(
{
"city": ["Toronto", "Tokyo", "Berlin"],
"population": [2930000, 13960000, 3645000]
}
)
query_engine = PandasQueryEngine(df=df, verbose=True)
response = query_engine.query("What is the population of Tokyo?")
源代码位于 llama-index-experimental/llama_index/experimental/query_engine/pandas/pandas_query_engine.py
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 |
|