File size: 1,064 Bytes
742b2a5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class OutputFormatter:
    def format_response(self, analysis_result, search_results):
        """
        Format the final response with proper structure
        """
        if isinstance(analysis_result, tuple):
            analysis, citations = analysis_result
        else:
            analysis = analysis_result
            citations = {}
        
        # Format the response
        formatted_output = f"## Research Analysis\n\n{analysis}\n\n"
        
        # Add sources section
        if search_results:
            formatted_output += "## Sources\n"
            for i, result in enumerate(search_results):
                formatted_output += f"{i+1}. [{result.get('title', 'Untitled')}]({result.get('url', '')})\n"
        
        # Add citation details if available
        if citations:
            formatted_output += "\n## Detailed Citations\n"
            for cite_id, info in citations.items():
                formatted_output += f"- {cite_id} **{info['title']}** - {info['source']}: {info['url']}\n"
        
        return formatted_output