Skip to main content

Base search engine integration and utilities for the LlamaAI Ecosystem

Project description

llama-find

PyPI version License Python Version CI Status

Llama Find (llama-find) is a sophisticated search and information retrieval toolkit within the LlamaSearch AI ecosystem. It provides agents capable of querying multiple underlying search engines, processing results, and delivering synthesized information through a unified API. It includes support for MLX optimizations.

Key Features

  • Agent-Based Search: Utilizes intelligent agents to manage search queries.
  • Multi-Engine Support: Integrates with various search backends (defined in search_engines/).
  • API Access: Exposes functionality through a comprehensive API (api.py).
  • Web Interface (Optional): Includes components for a basic web server (web_server.py).
  • MLX Compatibility: Offers potential performance benefits on compatible hardware (mlx_compat.py).
  • Caching: Implements caching (cache/) to improve response times.
  • Configurable: Allows customization via configuration files (config.py, config/).

Installation

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

Usage

(Usage examples for the API client or web interface will be added here based on the final implementation.)

# Placeholder for Python client usage
# from llama_find import FinderClient

# client = FinderClient(config_path="path/to/config.yaml")
# results = client.search("your query here", engine="auto")
# print(results)

Architecture Overview

graph TD
    A[User / Client Application] --> B{API Layer (api.py / web_server.py)};
    B --> C{Search Agent (agents/)};
    C --> D[Core Processing (core.py)];
    D --> E{Search Engine Interface};
    E --> F[Search Engine 1];
    E --> G[Search Engine 2];
    E --> H[...];
    F --> I((External Search Service));
    G --> I;
    D --> J[Cache System (cache/)];
    D --> K[MLX Compatibility Layer (mlx_compat.py)];
    B --> L[Configuration (config.py, config/)];
    C --> L;
    D --> L;

    style D fill:#f9f,stroke:#333,stroke-width:2px
    style J fill:#ccf,stroke:#333,stroke-width:1px
  1. Entry Point: Users or client applications interact via the API or web server.
  2. API Layer: Handles incoming requests and routes them.
  3. Search Agent: Manages the query lifecycle and interacts with core components.
  4. Core Processing: Orchestrates the search, potentially leveraging MLX and caching.
  5. Search Engine Interface: Abstracts interactions with different backend search engines.
  6. Cache/Config: Caching improves speed; configuration allows customization.

Configuration

(Details on configuring search engines, API keys, caching, etc., will be added here.)

Development

Setup

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

# 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

llamafind-0.1.0.tar.gz (34.9 kB view details)

Uploaded Source

Built Distribution

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

llamafind-0.1.0-py3-none-any.whl (36.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for llamafind-0.1.0.tar.gz
Algorithm Hash digest
SHA256 608120b8e15bdd8a57d974102bf1854ba5c4e1754d15a4beb3f33d8cc3b88a5b
MD5 7d583f26dda912c54516e16016130193
BLAKE2b-256 25ba434568328ea29848765b6702bcf473990b03bc04eb42e9e465ef6474bed1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: llamafind-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 36.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for llamafind-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7dafdc9a80e5c2f814840aacbfa12757e9245dfde86b1ae00a1406626d797fdd
MD5 8d02e2de2505575719e4929f4e0500bd
BLAKE2b-256 c4e034e513a9a2eb8cf645ee4f20e57085fc089cca6a951e65815edef9a5563f

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