English
Week 1: Fundamentals
Weekend Project

Weekend Project: Personal Research Assistant

Notebook: week1_foundations/project_research_agent.ipynb

Project Overview

Build a research assistant that can:

  • 🔍 Search the web for information
  • 📊 Synthesize findings from multiple sources
  • 📝 Generate structured reports with citations
  • 💾 Export to JSON and Markdown

Architecture

Output Schema

The agent generates structured reports using Pydantic:

class ResearchReport(BaseModel):
    topic: str
    summary: str
    key_findings: List[str]
    sources: List[Source]
    generated_at: str

Project Goals

Information Gathering

Use Tavily to search the web for relevant information on any topic.

Multi-Source Synthesis

Combine information from multiple sources into coherent findings.

Structured Output

Generate reports in a consistent, parseable format with full citations.

Export Capabilities

Save reports as both JSON (for programmatic use) and Markdown (for reading).

Example Usage

# Create agent
agent = ResearchAgent(model="gpt-4o-mini")
 
# Research a topic
report = agent.research("Latest developments in AI agents 2024")
 
# Display formatted report
print(agent.format_report(report))
 
# Save to files
save_report(report, "ai_agents_research")

Sample Output

# Research Report: Latest developments in AI agents 2024
Generated: 2024-01-15T10:30:00
 
## Summary
AI agents have seen remarkable progress in 2024, with major
advances in multi-agent collaboration, tool use, and...
 
## Key Findings
1. Multi-agent systems are becoming standard for complex tasks
2. RAG integration significantly improves accuracy
3. Production deployment patterns are maturing
...
 
## Sources
- [AI Agents Survey 2024](https://example.com/survey)
  > "The landscape of AI agents has transformed..."
- [LangChain Blog](https://blog.langchain.dev/)
  > "New patterns for agent orchestration..."

Skills Applied

This project combines everything from Week 1:

ConceptApplication
ReAct PatternAgent reasoning loop
Function CallingStructured tool invocation
PydanticReport schema definition
TavilyReal web search

Challenges

Try extending the project with these challenges:

  1. Compare Topics - Research multiple topics and compare findings
  2. Add Caching - Don't re-search the same queries
  3. PDF Export - Generate PDF reports
  4. Interactive Mode - Allow follow-up questions

What's Next?

In Week 2, we'll enhance our agents with:

  • RAG for better context
  • Memory for conversation history
  • LangGraph for complex workflows

Continue to Week 2 →

Run the Project

conda activate sotaaz
jupyter notebook ../week1_foundations/project_research_agent.ipynb