Files
LangBot/pkg/provider/tools/entities.py
T
2024-01-29 21:22:27 +08:00

38 lines
933 B
Python

from __future__ import annotations
import abc
import typing
import asyncio
import pydantic
from ...core import entities as core_entities
class LLMFunction(pydantic.BaseModel):
"""函数"""
name: str
"""函数名"""
human_desc: str
description: str
"""给LLM识别的函数描述"""
enable: typing.Optional[bool] = True
parameters: dict
func: typing.Callable
"""供调用的python异步方法
此异步方法第一个参数接收当前请求的query对象,可以从其中取出session等信息。
query参数不在parameters中,但在调用时会自动传入。
但在当前版本中,插件提供的内容函数都是同步的,且均为请求无关的,故在此版本的实现(以及考虑了向后兼容性的版本)中,
对插件的内容函数进行封装并存到这里来。
"""
class Config:
arbitrary_types_allowed = True