Skip to main content

Metasearch engine aggregating and ranking results from multiple LlamaAI sources.

Project description

llama-metasearch

PyPI version License Python Version CI Status

Llama Metasearch (llama-metasearch) is a powerful metasearch engine within the LlamaSearch AI ecosystem. It aggregates results from multiple underlying search sources, ranks them, and presents a unified set of results to the user.

Key Features

  • Metasearch Engine: Core logic for querying multiple sources and combining results (metasearch.py).
  • Source Aggregation: Fetches results from various configured search engines or APIs.
  • Result Ranking: Implements algorithms to rank aggregated results effectively.
  • Unified API: Provides a single point of access for querying diverse sources.
  • Core Module: Manages the overall metasearch process (core.py).
  • Configurable: Allows defining search sources, ranking parameters, and other settings (config.py).

Installation

pip install llama-metasearch
# Or install directly from GitHub for the latest version:
# pip install git+https://github.com/llamasearchai/llama-metasearch.git

Usage

(Usage examples demonstrating how to perform metasearch queries will be added here.)

# Placeholder for Python client usage
# from llama_metasearch import MetasearchClient, SearchConfig

# config = SearchConfig.load("config.yaml")
# client = MetasearchClient(config)

# # Perform a metasearch query
# results = client.search("artificial intelligence trends", sources=["web", "news", "academic"])
# for result in results:
#     print(f"[{result.source}] {result.title} - {result.url}")

Architecture Overview

graph TD
    A[User Query] --> B{Core Orchestrator (core.py)};
    B --> C{Metasearch Engine (metasearch.py)};
    C -- Queries --> D[Source 1 Interface];
    C -- Queries --> E[Source 2 Interface];
    C -- Queries --> F[...];
    D --> G((Source 1 API / DB));
    E --> H((Source 2 API / DB));
    F --> I((...));
    G -- Results --> C;
    H -- Results --> C;
    I -- Results --> C;
    C --> J{Result Aggregation & Ranking};
    J --> K[Unified Search Results];

    L[Configuration (config.py)] -- Configures --> B;
    L -- Configures --> C;
    L -- Configures --> D;
    L -- Configures --> E;
    L -- Configures --> F;

    style C fill:#f9f,stroke:#333,stroke-width:2px
  1. Query Input: The user submits a search query.
  2. Core Orchestrator: Manages the request flow.
  3. Metasearch Engine: Receives the query and dispatches it to configured source interfaces.
  4. Source Interfaces: Interact with the actual underlying search sources (APIs, databases, etc.).
  5. Aggregation & Ranking: The engine gathers results from all sources, deduplicates, and ranks them.
  6. Output: Presents a unified list of ranked results.
  7. Configuration: Defines which sources to query, API keys, ranking strategies, etc.

Configuration

(Details on configuring search sources, API keys, ranking algorithms, result caching, etc., will be added here.)

Development

Setup

# Clone the repository
git clone https://github.com/llamasearchai/llama-metasearch.git
cd llama-metasearch

# Install in editable mode with development dependencies
pip install -e ".[dev]"

Testing

pytest tests/

Contributing

Contributions are welcome! Please refer to CONTRIBUTING.md and submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llama_metasearch-0.1.0.tar.gz (38.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

llama_metasearch-0.1.0-py3-none-any.whl (32.0 kB view details)

Uploaded Python 3

File details

Details for the file llama_metasearch-0.1.0.tar.gz.

File metadata

  • Download URL: llama_metasearch-0.1.0.tar.gz
  • Upload date:
  • Size: 38.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for llama_metasearch-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ffa6e88b5f8cacbbe8488de82e6f2de04cd3b89f675be3bb98e6f46542425e22
MD5 1b170cbcc035e3e0f91398314e267cdf
BLAKE2b-256 00d2600ce206fbef5b772b53cdabd57502607d9b446316acf86319b4efd39d61

See more details on using hashes here.

File details

Details for the file llama_metasearch-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for llama_metasearch-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7d7dbeb58dafa658115e83ef18813e9a51966068284b0133b536409a065af7da
MD5 6d186e05377f4a035cccd2a6f2b9acfd
BLAKE2b-256 c434c3eb2ea8308b49947071c0c9932cb79d70950374d02bbf535085808fc88a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page