llama-find
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
- Entry Point: Users or client applications interact via the API or web server.
- API Layer: Handles incoming requests and routes them.
- Search Agent: Manages the query lifecycle and interacts with core components.
- Core Processing: Orchestrates the search, potentially leveraging MLX and caching.
- Search Engine Interface: Abstracts interactions with different backend search engines.
- 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.
Metadata
Release files for llamafind 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| llamafind-0.1.0.tar.gz | 34.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| llamafind-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 71.2 kB
Release files / llamafind-0.1.0.tar.gz
| Download URL | llamafind-0.1.0.tar.gz |
|---|---|
| Size | 34.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
608120b8e15bdd8a57d974102bf1854ba5c4e1754d15a4beb3f33d8cc3b88a5b
|
|
BLAKE2b-256 checksum How to use checksums |
25ba434568328ea29848765b6702bcf473990b03bc04eb42e9e465ef6474bed1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|
Release files / llamafind-0.1.0-py3-none-any.whl
| Download URL | llamafind-0.1.0-py3-none-any.whl |
|---|---|
| Size | 36.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7dafdc9a80e5c2f814840aacbfa12757e9245dfde86b1ae00a1406626d797fdd
|
|
BLAKE2b-256 checksum How to use checksums |
c4e034e513a9a2eb8cf645ee4f20e57085fc089cca6a951e65815edef9a5563f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|