Metasearch engine aggregating and ranking results from multiple LlamaAI sources.
Project description
llama-metasearch
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
- Query Input: The user submits a search query.
- Core Orchestrator: Manages the request flow.
- Metasearch Engine: Receives the query and dispatches it to configured source interfaces.
- Source Interfaces: Interact with the actual underlying search sources (APIs, databases, etc.).
- Aggregation & Ranking: The engine gathers results from all sources, deduplicates, and ranks them.
- Output: Presents a unified list of ranked results.
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ffa6e88b5f8cacbbe8488de82e6f2de04cd3b89f675be3bb98e6f46542425e22
|
|
| MD5 |
1b170cbcc035e3e0f91398314e267cdf
|
|
| BLAKE2b-256 |
00d2600ce206fbef5b772b53cdabd57502607d9b446316acf86319b4efd39d61
|
File details
Details for the file llama_metasearch-0.1.0-py3-none-any.whl.
File metadata
- Download URL: llama_metasearch-0.1.0-py3-none-any.whl
- Upload date:
- Size: 32.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d7dbeb58dafa658115e83ef18813e9a51966068284b0133b536409a065af7da
|
|
| MD5 |
6d186e05377f4a035cccd2a6f2b9acfd
|
|
| BLAKE2b-256 |
c434c3eb2ea8308b49947071c0c9932cb79d70950374d02bbf535085808fc88a
|