Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/stanford-oval/noora-v1

[ARCHIVED] A platform utilizing conversational AI to improve the social skills of individuals with ASD.
https://github.com/stanford-oval/noora-v1

chatbot gpt-3 nextjs tailwindcss

Last synced: 2 months ago
JSON representation

[ARCHIVED] A platform utilizing conversational AI to improve the social skills of individuals with ASD.

Awesome Lists containing this project

README

        

> This is an archived repository. The new Noora code can be found [here](https://github.com/stanford-oval/noora).


Noora


Use AI to improve your social conversation.



A platform utilizing conversational AI to improve the social conversation of individuals with Autism Spectrum Disorder (ASD).




Stanford University




Powered by Vercel


## Overview

Noora is is a research project led by Prof. Monica Lam, from Stanford University, with the goal of improving the social conversation of people with Autism Spectrum Disorder (ASD). The project is a collaboration between Stanford's Open Virtual Assistant Lab and Dr. Lynn Koegel from Stanford's Dept. of Psychiatry and Behavioral Sciences.

This project built with Next.js, Tailwind CSS, OpenAI's GPT-3, and Microsoft Azure.

## Developer Setup

To run Noora locally for development, install the dependencies from your package manager and start the Next.js app.

```bash
yarn install
yarn run dev
```

Create a `.env.local` file for the following environment variables.

For the speech-to-text and text-to-speech functionality, create an Azure speech resource (and a corresponding resource group).

```
OPENAI_API_KEY=[your API key]
SPEECH_KEY=[your API key]
SPEECH_REGION=[your API key]
```

## Repo Structure

**`pages`**: all of the Next.js app's paths (e.g., `noora.tsx`, `_404.tsx`). These files simply return components, typically wrapped by the `` component.

**`components`**: the bulk of the website code. Folders under this directory reference the pages of the website, with the exception of `components/global` and `components/interfaces`.
- `components/interfaces` contains the code behind the Noora Chat feature and the Ask Noora feature.

**`data`**: all static or pre-written data, such as GPT-3 prompts, statement banks, routes.

**`scripts`**: code that is called by components.
- `/scripts/noora-chat` (and, more specifically, `get-reply.ts`) contains the logic and flow for Noora's replies, and is used in `MessageBox.tsx` (where users submit their message in the Noora Chat).

**`pages/api`**: the REST API endpoints. Rate limiting is in place for endpoints (implementation found in `scripts/rate-limit.ts`).
- `api/openai` calls OpenAI's Completion endpoint and returns the resulting `text` and `logprobs`.
- `api/get-speech-token.ts` retrieves an ephemeral authentication token for Microsoft Azure's speech service.

**`public`**: the public assets including images and static files.