函数模式
FuncSchema dataclass
捕获 Python 函数的模式,为将其发送到 LLM 作为工具做准备。
源代码位于 src/agents/function_schema.py
params_pydantic_model instance-attribute
一个 Pydantic 模型,表示函数的参数。
params_json_schema instance-attribute
函数的参数的 JSON 模式,从 Pydantic 模型派生而来。
takes_context class-attribute instance-attribute
函数是否接受 RunContextWrapper 参数(必须是第一个参数)。
strict_json_schema 类属性 实例属性
JSON 模式是否处于严格模式。我们强烈建议将其设置为 True,因为它会增加生成正确 JSON 输入的可能性。
to_call_args
将 Pydantic 模型中验证后的数据转换为 (args, kwargs),以便调用原始函数。
源代码位于 src/agents/function_schema.py
FuncDocumentation dataclass
包含有关 Python 函数的元数据,从其文档字符串中提取。
源代码位于 src/agents/function_schema.py
generate_func_documentation
generate_func_documentation(
func: Callable[..., Any],
style: DocstringStyle | None = None,
) -> FuncDocumentation
从函数文档字符串中提取元数据,为将其发送到 LLM 作为工具做准备。
参数
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
func
|
Callable[..., Any]
|
要提取文档的函数。 |
required |
style
|
DocstringStyle | None
|
用于解析的文档字符串的风格。如果未提供,我们将尝试自动检测风格。 |
None
|
返回值
| 类型 | 描述 |
|---|---|
FuncDocumentation
|
一个 FuncDocumentation 对象,包含函数名称、描述和参数 |
FuncDocumentation
|
描述。 |
源代码位于 src/agents/function_schema.py
function_schema
function_schema(
func: Callable[..., Any],
docstring_style: DocstringStyle | None = None,
name_override: str | None = None,
description_override: str | None = None,
use_docstring_info: bool = True,
strict_json_schema: bool = True,
) -> FuncSchema
给定一个 Python 函数,从中提取一个 FuncSchema,捕获名称、描述、参数描述和其他元数据。
参数
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
func
|
Callable[..., Any]
|
要提取模式的函数。 |
required |
docstring_style
|
DocstringStyle | None
|
用于解析的文档字符串的风格。如果未提供,我们将尝试自动检测风格。 |
None
|
name_override
|
str | None
|
如果提供,则使用此名称代替函数的 |
None
|
description_override
|
str | None
|
如果提供,则使用此描述代替从文档字符串派生出的描述。 |
None
|
use_docstring_info
|
bool
|
如果为 True,则使用文档字符串生成描述和参数描述。 |
True
|
strict_json_schema
|
bool
|
JSON 模式是否处于严格模式。如果为 True,我们将确保模式符合 OpenAI API 期望的“严格”标准。我们强烈建议将其设置为 True,因为它会增加 LLM 生成正确 JSON 输入的可能性。 |
True
|
返回值
| 类型 | 描述 |
|---|---|
FuncSchema
|
一个 |
FuncSchema
|
和其他元数据。 |
源代码位于 src/agents/function_schema.py
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 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 398 | |