ExCrawl4AI client

ExCrawl4AI exposes an HTTP REST API. The ex_crawl4ai library provides a convenient wrapper and some caches that simplifies working with the API.

Installation

The package can be installed by adding ex_crawl4ai to your list of dependencies in mix.exs:

def deps do
  [
      {:ex_crawl4ai, "0.1.0"}
  ]
end

after that just add the ExCrawl4AI child spec under your supervision tree

child_specs = ExCrawl4AI.child_specs()

# Start a supervisor to manage the cache processes
{:ok, _pid} = Supervisor.start_link(child_specs, strategy: :one_for_one)

Library maintainer guide

Running the tests

  1. Start associated dockers cd deployment && docker compose up --build

  2. Run the test suite mix test

Regenerate the chroma client based on open api specs (based on the Open API specs at http://localhost:11235/openapi.json)

mix crawl4ai.generate

Documentation

Documentation can be be found at https://hexdocs.pm/ex_crawl4ai.