403Webshell
Server IP : 3.147.158.171  /  Your IP : 216.73.216.88
Web Server : Apache/2.4.67 (Amazon Linux) OpenSSL/3.5.5
System : Linux ip-172-31-2-178.us-east-2.compute.internal 6.1.172-216.329.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Wed May 20 06:31:34 UTC 2026 x86_64
User : ec2-user ( 1000)
PHP Version : 8.4.21
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /tsai/repo/api/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /tsai/repo/api/test_tavily_search.py
#!/usr/bin/env python
"""Test script for Tavily search integration"""

import sys
import os

# Add the project root to path
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))

from app.services.chat import ChatService

def test_search():
    """Test Tavily search functionality"""
    print("Testing Tavily Search Integration")
    print("=" * 50)

    cs = ChatService()

    # Test 1: Basic search
    print("\nTest 1: Searching for 'latest tech news'...")
    results = cs.search_current_events('latest tech news', max_results=3)
    print(f"Found {len(results)} results")

    if results:
        print("\nFirst result:")
        print(f"  Title: {results[0].get('title', 'N/A')}")
        print(f"  URL: {results[0].get('url', 'N/A')}")
        print(f"  Published: {results[0].get('published_date', 'N/A')}")
        print(f"  Score: {results[0].get('score', 'N/A')}")
        print(f"  Content (first 200 chars): {results[0].get('content', 'N/A')[:200]}...")

        # Check for enhanced fields
        if 'raw_content' in results[0]:
            raw_len = len(results[0].get('raw_content', ''))
            print(f"  Raw content length: {raw_len} characters")
        else:
            print("  Raw content: NOT AVAILABLE (enable include_raw_content)")

        if 'images' in results[0]:
            images = results[0].get('images', [])
            print(f"  Images found: {len(images)}")
            if images:
                print(f"  First image: {images[0]}")
        else:
            print("  Images: NOT AVAILABLE (enable include_images)")
    else:
        print("  No results found (check TAVILY_API_KEY in .env)")

    # Test 2: Sports news search
    print("\n\nTest 2: Searching for 'latest sports scores'...")
    results = cs.search_current_events('latest sports scores', max_results=3)
    print(f"Found {len(results)} results")

    if results:
        print("\nResults:")
        for i, result in enumerate(results, 1):
            print(f"  {i}. {result.get('title', 'N/A')}")

    # Test 3: Fact-checking with temporal context
    print("\n\nTest 3: Fact-checking with temporal context...")
    search_results = cs.search_current_events('Claude Code revenue 2025', max_results=3)

    if not search_results:
        print("  Skipped (no search results)")
    else:
        # Mock article about recent event
        article_title = "Claude Code Reaches $1B Revenue Milestone"
        article_body = """Claude Code, Anthropic's AI coding assistant, reached a $1 billion
run-rate revenue achievement just six months after its public launch in May 2025."""

        print(f"  Running fact-check with {len(search_results)} sources...")

        # Run fact-check
        try:
            fact_check, model, provider = cs.fact_check_article(
                article_title=article_title,
                article_body=article_body,
                images=[],
                original_model=None,
                search_results=search_results
            )

            print(f"  Model: {provider} {model}")
            print(f"  Fact-check length: {len(fact_check)} characters")
            print(f"  First 300 chars: {fact_check[:300]}...")

            # Check for temporal context markers
            has_temporal_markers = any(marker in fact_check for marker in ['CURRENT EVENT', 'RECENT', 'days ago', 'weeks ago'])
            print(f"  Contains temporal context: {has_temporal_markers}")

            if has_temporal_markers:
                print("  ✓ Temporal context successfully included in fact-check")
            else:
                print("  ⚠ Warning: No temporal context markers found in fact-check")

        except Exception as e:
            print(f"  Error during fact-check: {e}")

    print("\n" + "=" * 50)
    print("Test complete!")

if __name__ == "__main__":
    test_search()

Youez - 2016 - github.com/yon3zu
LinuXploit