An open API service indexing awesome lists of open source software.

https://github.com/jstnmcbrd/delphi-ai

API wrapper for the Delphi AI
https://github.com/jstnmcbrd/delphi-ai

ai api delphi ethics morals

Last synced: 11 months ago
JSON representation

API wrapper for the Delphi AI

Awesome Lists containing this project

README

          

# delphi-ai

[![API Status](https://img.shields.io/github/actions/workflow/status/JstnMcBrd/delphi-ai/api-status.yml?logo=github&label=API%20Status)](https://github.com/JstnMcBrd/delphi-ai/actions/workflows/api-status.yml)
[![CI](https://img.shields.io/github/actions/workflow/status/JstnMcBrd/delphi-ai/ci.yml?logo=github&label=CI)](https://github.com/JstnMcBrd/delphi-ai/actions/workflows/ci.yml)


[![NPM Version](https://img.shields.io/npm/v/delphi-ai)](https://www.npmjs.com/package/delphi-ai)
[![NPM License](https://img.shields.io/npm/l/delphi-ai)](./LICENSE)
![NPM Type Definitions](https://img.shields.io/npm/types/delphi-ai)
![NPM Downloads](https://img.shields.io/npm/dt/delphi-ai)


![Node version](https://img.shields.io/node/v/delphi-ai)

> Warning
>
> This package is permanently broken and should not be used. Please read [#55](https://github.com/JstnMcBrd/delphi-ai/issues/55).

## About

**delphi-ai** is a simple package to interact with the API for the Delphi AI. It is developed in [TypeScript](https://www.typescriptlang.org/) and transpiles to JavaScript (ESM).

Delphi is an AI released in 2021 by the **Allen Institute for Artifical Intelligence**, who described it as *"a computational model for descriptive ethics, i.e., people's moral judgments on a variety of everyday situations."* Essentially, provide a prompt and the AI will judge whether it is ethical.

The [demo website](https://delphi.allenai.org/) uses an API to retrieve outputs from the computational model. This package acts as a wrapper for that API to allow you to integrate Delphi with your projects.

> Warning
>
> The copyright for Delphi belongs to the **Allen Institute for Artifical Intelligence**. This package is unofficial and not supported by them. The API could be turned off at any time. Please check the API status above before reporting issues.

## Prerequesites

This package has no production dependencies, and works with Node (`>=18`) or the browser.

## Installation

`npm install delphi-ai`

## Usage

If the API returns a non-200 response, an error will be thrown.
None of the examples below include error handling, but don't forget it!

### ES Modules

```js
import delphi from 'delphi-ai';

const response = await delphi('Building a rocket');
console.log(response); // "It's impressive"
```

### CommonJS

```js
const delphi = require('delphi-ai');

(async () => {
const response = await delphi('Fighting a mummy');
console.log(response); // "It's wrong"
})();

// or

delphi('Climbing up the Eiffel Tower').then((response) => {
console.log(response); // "It's normal"
});
```

## Development

When a merge request is created, the changes must pass linting, building, and unit tests. These checks are run automatically by GitHub. You can run them manually using `npm run lint`, `npm run build`, and `npm test`.

GitHub will also periodically run a test to confirm the API is still working. You can run this test manually with `npm run test-api`.

When a new [Release](https://github.com/JstnMcBrd/delphi-ai/releases) is created, GitHub will automatically deploy the new version to the [npm registry](https://npmjs.com/package/delphi-ai).

This project abides by [Semantic Versioning](https://semver.org/) and [Keep A Changelog](https://keepachangelog.com/). To see a list of changes for each update, check the description of [releases on GitHub](https://github.com/JstnMcBrd/delphi-ai/releases).