---
title: models
---
# **模块** `nonebot_plugin_marshoai.plugin.models`
### ***class*** `PluginMetadata(BaseModel)`
#### ***attr*** `name: str = NO_DEFAULT`
#### ***attr*** `description: str = ''`
#### ***attr*** `usage: str = ''`
#### ***attr*** `author: str = ''`
#### ***attr*** `homepage: str = ''`
#### ***attr*** `extra: dict[str, Any] = {}`
### ***class*** `Plugin(BaseModel)`
---
#### ***func*** `hash self => int`
源代码 或 在GitHub上查看
```python
def __hash__(self) -> int:
return hash(self.name)
```
---
#### ***func*** `self == other: Any => bool`
源代码 或 在GitHub上查看
```python
def __eq__(self, other: Any) -> bool:
return self.name == other.name
```
#### ***attr*** `name: str = NO_DEFAULT`
#### ***attr*** `module: ModuleType = NO_DEFAULT`
#### ***attr*** `module_name: str = NO_DEFAULT`
#### ***attr*** `metadata: PluginMetadata | None = None`
### ***class*** `FunctionCallArgument(BaseModel)`
---
#### ***func*** `data(self) -> dict[str, Any]`
源代码 或 在GitHub上查看
```python
def data(self) -> dict[str, Any]:
return {'type': self.type_, 'description': self.description}
```
#### ***attr*** `type_: str = NO_DEFAULT`
#### ***attr*** `description: str = NO_DEFAULT`
#### ***attr*** `default: Any = None`
### ***class*** `FunctionCall(BaseModel)`
---
#### ***func*** `hash self => int`
源代码 或 在GitHub上查看
```python
def __hash__(self) -> int:
return hash(self.name)
```
---
#### ***func*** `data(self) -> dict[str, Any]`
**说明**: 生成函数描述信息
**返回**: dict[str, Any]: 函数描述信息 字典
源代码 或 在GitHub上查看
```python
def data(self) -> dict[str, Any]:
return {'type': 'function', 'function': {'name': self.name, 'description': self.description, 'parameters': {'type': 'object', 'properties': {k: v.data() for k, v in self.arguments.items()}}, 'required': [k for k, v in self.arguments.items() if v.default is None]}}
```
#### ***attr*** `name: str = NO_DEFAULT`
#### ***attr*** `description: str = NO_DEFAULT`
#### ***attr*** `arguments: dict[str, FunctionCallArgument] = NO_DEFAULT`
#### ***attr*** `function: ASYNC_FUNCTION_CALL_FUNC = NO_DEFAULT`