(self, placeholder: DeltaGenerator | None = None)
| 114 | |
| 115 | # Display as a markdown block |
| 116 | def show(self, placeholder: DeltaGenerator | None = None) -> str: |
| 117 | if placeholder: |
| 118 | message = placeholder |
| 119 | else: |
| 120 | message = self.role.get_message() |
| 121 | |
| 122 | if self.image: |
| 123 | message.image(self.image, width=512) |
| 124 | |
| 125 | if self.role == Role.OBSERVATION: |
| 126 | metadata_str = f"from {self.metadata}" if self.metadata else "" |
| 127 | message = message.expander(f"Observation {metadata_str}") |
| 128 | |
| 129 | text = self.get_text() |
| 130 | if self.role != Role.USER: |
| 131 | show_text = text |
| 132 | else: |
| 133 | splitted = text.split("files uploaded.\n") |
| 134 | if len(splitted) == 1: |
| 135 | show_text = text |
| 136 | else: |
| 137 | # Show expander for document content |
| 138 | doc = splitted[0] |
| 139 | show_text = splitted[-1] |
| 140 | expander = message.expander("File Content") |
| 141 | expander.markdown(doc) |
| 142 | message.markdown(show_text) |
| 143 | |
| 144 | |
| 145 | def postprocess_text(text: str, replace_quote: bool) -> str: |
no test coverage detected