一、Pydantic 参数校验类(LangChain 最常见)
| 报错关键字样 | 含义 | 解决方法 |
|---|---|---|
Field required |
【必填参数缺失】类/函数规定必须传入的参数,你没写 | 补上报错提示的字段名参数 |
Extra inputs are not permitted |
【多余非法参数】传了类定义里不存在的参数,大概率是拼写错误 | 核对参数名拼写,删除多余参数 |
Input should be a valid X |
【数据类型错误】传的数据类型和要求不符,比如需要 PromptTemplate 却传了字符串 | 转换数据类型,严格匹配入参要求 |
二、参数/函数调用类(通用高频)
| 报错关键字样 | 含义 | 解决方法 |
|---|---|---|
missing N required positional argument |
函数少传了N个必填参数 | 补全函数声明里的必填参数 |
got an unexpected keyword argument |
传了函数不认识的关键字参数,拼写错误 | 核对参数名,修正拼写 |
TypeError: unsupported operand type |
数据类型不匹配,比如字符串和数字直接相加 | 用 int()/str() 做类型转换 |
三、变量/名称引用类
| 报错关键字样 | 含义 | 解决方法 |
|---|---|---|
NameError: name 'xxx' is not defined |
变量未定义、名字拼写错误、忘记导入 | 检查变量拼写,补充 import 导入语句 |
AttributeError: object has no attribute |
对象没有这个属性/方法,大概率拼写错误 | Ctrl+点击类名查看可用属性,修正拼写 |
KeyError: 'xxx' |
字典里没有这个键 | 检查字典key拼写,或用 dict.get() 避免报错 |
四、文件/路径类
| 报错关键字样 | 含义 | 解决方法 |
|---|---|---|
FileNotFoundError |
文件/路径不存在 | 核对文件路径,区分绝对路径和相对路径 |
PermissionError |
没有文件读写权限 | 更换文件存放位置,或修改文件夹权限 |
五、索引/循环类
| 报错关键字样 | 含义 | 解决方法 |
|---|---|---|
IndexError: list index out of range |
列表索引超出范围,比如空列表取值 | 先判断列表长度,再进行索引取值 |
ValueError: invalid literal for int() |
字符串无法转为数字,比如 int("abc") |
增加判断,确保传入合法数字字符串 |
万能排查固定流程(按顺序执行,1分钟定位问题)
1. 看底部报错文本 :优先抓 Field required / Extra inputs / NameError 这类核心关键词
2. 定位自己的代码 :往上翻找到自己项目目录下的 .py 文件+行号,锁定出错代码
3. 核对拼写 :90%的问题都是参数名/变量名拼写错误 ,比如 example_prompt 和 examples_prompt
4. 跳转源码核对:Ctrl+点击报错的类/函数,查看官方必填参数和数据类型要求