Skip to content

Conversation

@3rd-Son
Copy link
Contributor

@3rd-Son 3rd-Son commented Dec 17, 2025

πŸ”— Linked Issue

Closes #

βœ… Type of Change

  • [] ✨ New Project/Feature
  • 🐞 Bug Fix
  • πŸ“š Documentation Update
  • πŸ”¨ Refactor or Other

πŸ“ Summary

πŸ“– README Checklist

  • I have created a README.md file for my project.
  • My README.md follows the official .github/README_TEMPLATE.md.
  • I have included clear installation and usage instructions in my README.md.
  • I have added a GIF or screenshot to the assets folder and included it in my README.md.

βœ”οΈ Contributor Checklist

  • I have read the CONTRIBUTING.md document.
  • My code follows the project's coding standards.
  • I have placed my project in the correct directory (e.g., advance_ai_agents, rag_apps).
  • I have included a requirements.txt or pyproject.toml for dependencies.
  • I have added a .env.example file if environment variables are needed and ensured no secrets are committed.
  • My pull request is focused on a single project or change.

πŸ’¬ Additional Comments


EntelligenceAI PR Summary

This PR migrates the AI Consultant Agent from ExaAI to Tavily as the web research provider.

  • Replaced all ExaAI references with Tavily across README, app.py, and workflow.py
  • Updated environment variable from EXA_API_KEY to TAVILY_API_KEY throughout the codebase
  • Migrated API integration in workflow.py from Exa client to TavilyClient with updated method calls and response parsing
  • Renamed search_ai_case_studies_with_exa() to search_ai_case_studies_with_tavily()
  • Updated logo asset paths to local assets directory and changed Markdown emphasis from bold to italic
  • Added Memori_Logo.png and tavily_logo.png assets for updated branding

@entelligence-ai-pr-reviews
Copy link

Entelligence AI Vulnerability Scanner

Status: No security vulnerabilities found

Your code passed our comprehensive security analysis.

Analyzed 2 files in total

@entelligence-ai-pr-reviews
Copy link

Review Summary

🏷️ Draft Comments (1)

Skipped posting 1 draft comments that were valid but scored below your review threshold (>=13/15). Feel free to update them here.

memory_agents/ai_consultant_agent/workflow.py (1)

110-113: search_ai_case_studies_with_tavily does not handle the case where Tavily returns a non-dict or missing 'results' key, which can cause a crash if the API response format changes or is invalid.

πŸ“Š Impact Scores:

  • Production Impact: 4/5
  • Fix Specificity: 5/5
  • Urgency Impact: 3/5
  • Total Score: 12/15

πŸ€– AI Agent Prompt (Copy & Paste Ready):

In memory_agents/ai_consultant_agent/workflow.py, lines 110-113, the function `search_ai_case_studies_with_tavily` assumes the Tavily API response is always a dict with a 'results' key. If the API returns an unexpected format, this will cause a crash. Add a check before the loop to raise a RuntimeError if `results` is not a dict or does not contain 'results'.

@entelligence-ai-pr-reviews
Copy link

Walkthrough

This PR migrates the AI Consultant Agent from ExaAI to Tavily as the web research and search provider. The changes span documentation, application configuration, workflow logic, and assets. All references to ExaAI have been systematically replaced with Tavily equivalents, including environment variables (EXA_API_KEY β†’ TAVILY_API_KEY), function names, UI text, and API client implementations. The core functionality remains unchanged; this is purely a service provider swap. New logo assets for both Memori and Tavily have been added to support the updated branding. The API integration in the workflow has been updated to use Tavily's client interface and response structure.

Changes

File(s) Summary
memory_agents/ai_consultant_agent/README.md
memory_agents/ai_consultant_agent/app.py
memory_agents/ai_consultant_agent/workflow.py
Replaced all ExaAI references with Tavily throughout documentation, application code, and workflow logic. Updated environment variables from EXA_API_KEY to TAVILY_API_KEY, renamed functions and variables, and modified UI text and help messages to reference Tavily instead of ExaAI.
memory_agents/ai_consultant_agent/workflow.py Migrated web research API integration from Exa client to TavilyClient. Updated search_ai_case_studies_with_exa() function to use Tavily's search() method with parameters search_depth="advanced", max_results, and include_answer=False. Modified result parsing to use dictionary .get() methods for Tavily's response structure.
memory_agents/ai_consultant_agent/app.py Updated logo asset paths from relative job_search_agent paths to local assets directory. Changed Markdown emphasis formatting from bold (**) to italic (*) in user-facing strings.
memory_agents/ai_consultant_agent/assets/Memori_Logo.png
memory_agents/ai_consultant_agent/assets/tavily_logo.png
Added new binary image assets for Memori and Tavily branding to the assets directory.

Sequence Diagram

This diagram shows the interactions between components:

sequenceDiagram
    actor User
    participant UI as Streamlit UI
    participant EnvVars as Environment Variables
    participant SessionState as Session State
    participant Memori as Memori Service
    participant Tavily as Tavily API
    participant OpenAI as OpenAI Client

    Note over UI,Tavily: API Key Configuration (Sidebar)
    User->>UI: Enter API Keys (OpenAI, Memori, Tavily)
    UI->>UI: Load logo assets (Memori, Tavily)
    User->>UI: Click "Save API Keys"
    
    alt All keys provided
        UI->>EnvVars: Set OPENAI_API_KEY
        UI->>EnvVars: Set MEMORI_API_KEY
        UI->>EnvVars: Set TAVILY_API_KEY
        UI-->>User: βœ… API keys saved
    else Missing keys
        UI-->>User: ⚠️ Please enter at least one API key
    end

    Note over UI,OpenAI: Service Initialization
    UI->>EnvVars: Get TAVILY_API_KEY
    UI->>EnvVars: Get OPENAI_API_KEY
    
    alt Tavily key missing
        UI-->>User: ⚠️ Please enter Tavily API key
    else Tavily key present
        UI->>SessionState: Initialize openai_client
        UI->>Memori: Initialize Memori v3
        Memori-->>SessionState: Store memori_client
    end

    Note over User,OpenAI: AI Assessment Flow
    User->>UI: Enter company profile (name, industry, etc.)
    User->>UI: Click "Run Assessment"
    
    UI->>Tavily: Search for case studies & research
    Tavily-->>UI: Return web search results
    
    UI->>OpenAI: Generate AI readiness assessment
    OpenAI-->>UI: Return assessment markdown
    
    UI->>Memori: Store assessment in memory
    UI->>SessionState: Store company_profile
    UI->>SessionState: Store assessment_markdown
    
    UI-->>User: Display assessment for company

    Note over User,Memori: Q&A with Memory
    User->>UI: Ask follow-up question
    UI->>Memori: Query with context (company profile)
    Memori->>OpenAI: Process with memory context
    OpenAI-->>Memori: Generate response
    Memori-->>UI: Return answer
    UI->>SessionState: Update memory_messages
    UI-->>User: Display answer
Loading

πŸ”— Cross-Repository Impact Analysis

Enable automatic detection of breaking changes across your dependent repositories. β†’ Set up now

Learn more about Cross-Repository Analysis

What It Does

  • Automatically identifies repositories that depend on this code
  • Analyzes potential breaking changes across your entire codebase
  • Provides risk assessment before merging to prevent cross-repo issues

How to Enable

  1. Visit Settings β†’ Code Management
  2. Configure repository dependencies
  3. Future PRs will automatically include cross-repo impact analysis!

Benefits

  • πŸ›‘οΈ Prevent breaking changes across repositories
  • πŸ” Catch integration issues before they reach production
  • πŸ“Š Better visibility into your multi-repo architecture

▢️ ⚑ AI Code Reviews for VS Code, Cursor, Windsurf
Install the extension

Note for Windsurf Please change the default marketplace provider to the following in the windsurf settings:

Marketplace Extension Gallery Service URL: https://marketplace.visualstudio.com/_apis/public/gallery

Marketplace Gallery Item URL: https://marketplace.visualstudio.com/items

Entelligence.ai can learn from your feedback. Simply add πŸ‘ / πŸ‘Ž emojis to teach it your preferences. More shortcuts below

Emoji Descriptions:

  • ⚠️ Potential Issue - May require further investigation.
  • πŸ”’ Security Vulnerability - Fix to ensure system safety.
  • πŸ’» Code Improvement - Suggestions to enhance code quality.
  • πŸ”¨ Refactor Suggestion - Recommendations for restructuring code.
  • ℹ️ Others - General comments and information.

Interact with the Bot:

  • Send a message or request using the format:
    @entelligenceai + *your message*
Example: @entelligenceai Can you suggest improvements for this code?
  • Help the Bot learn by providing feedback on its responses.
    @entelligenceai + *feedback*
Example: @entelligenceai Do not comment on `save_auth` function !

Also you can trigger various commands with the bot by doing
@entelligenceai command

The current supported commands are

  1. config - shows the current config
  2. retrigger_review - retriggers the review

More commands to be added soon.

@shivaylamba shivaylamba merged commit 83247c2 into Arindam200:main Dec 17, 2025
1 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants