Skip to main content

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.

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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

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