#нейрохрючево
системник
### No hasattr()
# ❌
if hasattr(obj, "model"):
model = obj.model
КОДИК:
def from_litellm(cls, response: Union[ModelResponse, ResponsesAPIResponse]) -> 'LLMResponse':
if isinstance(response, ResponsesAPIResponse):
model = response.model
content = ""
structured_data = None
# Extract content from output
if response.output:
for item in response.output:
if hasattr(item, 'type') and item.type == 'message':
# item is usually a ChatCompletionAssistantMessageParam-like object
# or a dict if it was dumped.
if hasattr(item, 'content'):
if isinstance(item.content, list):
for part in item.content:
if hasattr(part, 'type') and part.type == 'output_text':
content += part.text
elif isinstance(part, dict) and part.get('type') == 'output_text':
content += part.get('text', '')
elif isinstance(item.content, str):
content += item.content
elif isinstance(item, dict) and 'content' in item:
if isinstance(item['content'], list):
for part in item['content']:
if part.get('type') == 'output_text':
content += part.get('text', '')
elif isinstance(item['content'], str):
content += item['content']
системник
### No hasattr()
# ❌
if hasattr(obj, "model"):
model = obj.model
КОДИК:
def from_litellm(cls, response: Union[ModelResponse, ResponsesAPIResponse]) -> 'LLMResponse':
if isinstance(response, ResponsesAPIResponse):
model = response.model
content = ""
structured_data = None
# Extract content from output
if response.output:
for item in response.output:
if hasattr(item, 'type') and item.type == 'message':
# item is usually a ChatCompletionAssistantMessageParam-like object
# or a dict if it was dumped.
if hasattr(item, 'content'):
if isinstance(item.content, list):
for part in item.content:
if hasattr(part, 'type') and part.type == 'output_text':
content += part.text
elif isinstance(part, dict) and part.get('type') == 'output_text':
content += part.get('text', '')
elif isinstance(item.content, str):
content += item.content
elif isinstance(item, dict) and 'content' in item:
if isinstance(item['content'], list):
for part in item['content']:
if part.get('type') == 'output_text':
content += part.get('text', '')
elif isinstance(item['content'], str):
content += item['content']