123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- from dataclasses import dataclass
- import json
- @dataclass
- class Message:
- role: str # system / user / assistant
- content: str
- def to_str(self) -> str:
- return f'{self.role}: {self.content}'
- def to_dict(self) -> dict:
- return {
- 'role': self.role,
- 'content': self.content
- }
- @dataclass
- class Record:
- url: str
- time: str
- type: str
- raw: list
- extract: str
- topic: str
- checked: bool
- session: list
- def to_dict(self) -> dict:
- return {
- 'url': self.url,
- 'time': self.time,
- 'type': self.type,
- 'raw': self.raw,
- 'extract': self.extract,
- 'topic': self.topic,
- 'checked': self.checked,
- 'session': self.session
- }
- @dataclass
- class RefMaterial:
- url: str
- text: list
- def to_dict(self) -> dict:
- return {
- 'url': self.url,
- 'text': self.text,
- }
- @dataclass
- class Observation:
- action:str
- observation:str
- def to_dict(self) -> dict:
- return {
- 'action': self.action,
- 'observation': self.observation,
- }
- @dataclass
- class DialogInfo:
- query_obs: list
- def to_string(self) -> str:
- result = []
- for q,o in self.query_obs:
- result.append(f"{q}:{json.dumps(o.to_dict())}\n")
|