(event_stream)
| 126 | |
| 127 | |
| 128 | def read_agent_response(event_stream): |
| 129 | ask_user = False |
| 130 | agent_answer = "" |
| 131 | try: |
| 132 | for event in event_stream: |
| 133 | if 'chunk' in event: |
| 134 | data = event['chunk']['bytes'] |
| 135 | agent_answer = data.decode('utf8') |
| 136 | elif 'trace' in event: |
| 137 | print(f"orchestration trace = {event['trace']['trace']['orchestrationTrace']}") |
| 138 | if 'observation' in event['trace']['trace']['orchestrationTrace']: |
| 139 | if event['trace']['trace']['orchestrationTrace']['observation']['type'] == "ASK_USER": |
| 140 | ask_user = True |
| 141 | else: |
| 142 | ask_user = False |
| 143 | else: |
| 144 | ask_user = False |
| 145 | else: |
| 146 | raise ValueError(f"Unexpected event: {event}") |
| 147 | except Exception as e: |
| 148 | raise ValueError(f"Unexpected Error:: {str(e)}") |
| 149 | return ask_user, agent_answer |
| 150 | |
| 151 | |
| 152 | def prompts_to_messages(prompts): |
no outgoing calls
no test coverage detected