Skip to main content

CLI tool for creating Search APIs.

Project description

Oracle of Ammon

PyPI version shield Python version shield MIT License

A simple CLI tool for creating Search APIs.

Installation

Creating a virtual environment is highly recommended. To do so, run:

python3 -m venv .venv
source .venv/bin/activate

Once your environment is active, simply install the package with:

pip install oracle-of-ammon

Usage

To get started, checkout the help menu:

oracle-of-ammon --help

Image of oracle-of-ammon cli help documentaiton

Here, you will see we currently have two options: summon and locust.

Summon

By default, Summon is configured to initialize an empty search service on port 8000. The API framework used is FastAPI and the underlying search engine is built on Haystack. If you would like to initialize the search service with documents upon startup, provide a filepath with the --path option. Once the service has been initialized, you can view the API docs at http://127.0.0.1:8000/docs. A static version of the swagger documentation can also be found here.

Option Type Default Description
--path TEXT None Filepath used to pre-index document store.
--sheet-name TEXT None If using an excel file, select which sheet(s) to load. If none provided, all sheets will be loaded. Expects a comma-separated list.
--title TEXT Oracle of Ammon API documentation title.
--index TEXT document Default index name.
--faq BOOL TRUE Selector for content preloaded into document store.

Supported Filetypes:

  • FAQ: CSV, TSV, JSON, XLSX, TXT
  • Semantic: TXT

See the data directory for examples of accepted files.

Oracle of Ammon CLI - Summon

Locust

Locust is an open source tool for load testing. You're able to swarm your system with millions of simultaneous users -- recording service performance and other metrics. By default, Locust will start on port 8089. To start a new load test, simply enter the number of users you want to simulate, their spawn rate, and the host address to swarm.

Image of locust config]

Coming Eventually 👀

  • Semantic search
  • Document search
  • Document summarization
  • Document ranking
  • Multiple index support
  • Annotations/Feedback
  • Fine tuning
  • Additional locust endpoints
  • Dynamic Locust config
  • Custom pipelines
  • Dedicated docs wiki

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

oracle_of_ammon-0.3.2.tar.gz (34.5 kB view details)

Uploaded Source

Built Distribution

oracle_of_ammon-0.3.2-py3-none-any.whl (40.0 kB view details)

Uploaded Python 3

File details

Details for the file oracle_of_ammon-0.3.2.tar.gz.

File metadata

  • Download URL: oracle_of_ammon-0.3.2.tar.gz
  • Upload date:
  • Size: 34.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.10.9 Linux/5.15.0-1031-azure

File hashes

Hashes for oracle_of_ammon-0.3.2.tar.gz
Algorithm Hash digest
SHA256 d0bc7554b84c41d60f865a8f52bc467fb97f24b10cff68d2138a60361f5ac6a8
MD5 199345cec0f365f04bc003ee200604a6
BLAKE2b-256 3bcfd4b04d4cf989dd0209e4496f4d71c71c45f8bd60bd3c5a6e1413ee1762d5

See more details on using hashes here.

File details

Details for the file oracle_of_ammon-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: oracle_of_ammon-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 40.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.10.9 Linux/5.15.0-1031-azure

File hashes

Hashes for oracle_of_ammon-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2c2f97a6b1481e45390278d47080d37dff30dc8c1bfacaedf54acf2586cbf3c1
MD5 ed89615f31b4183237e769773dd13eee
BLAKE2b-256 c8bca45a6532f6469c35f89dde571c1705c04c73ef8ec070e7b95d08a8ffbe42

See more details on using hashes here.

Supported by

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