Files
LangBot/pkg/provider/tools/entities.py
T
2024-11-22 23:29:12 +08:00

36 lines
906 B
Python

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