Skip to content

Commit

Permalink
Add ToC & CI
Browse files Browse the repository at this point in the history
  • Loading branch information
Nicole White committed Oct 20, 2023
1 parent 4178754 commit a7a80be
Show file tree
Hide file tree
Showing 25 changed files with 309 additions and 237 deletions.
2 changes: 2 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
OPENAI_API_KEY=
AUTOBLOCKS_INGESTION_KEY=
134 changes: 134 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
name: CI

on:
push:
schedule:
# Every day at ~7:17am Chicago time.
#
# Using a non-zero minute offset since GitHub Actions suggests
# running jobs at a random minute to avoid overloading their
# servers.
#
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule
- cron: "17 12 * * *"

jobs:
test-table-of-contents-up-to-date:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 20

- name: Make table of contents
run: node tools/make-toc.js

- name: Ensure table of contents is up to date
run: |
if [[ -n $(git status --porcelain) ]]; then
echo "::error::The table of contents is out of date. Please run 'node tools/make-toc.js' and commit the changes."
else
echo "Table of contents is up to date!"
fi
test-python:
runs-on: ubuntu-latest

strategy:
matrix:
project:
- Python/langchain
- Python/openai-manual

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Create .env file
run: |
touch .env
echo "OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }}" >> .env
echo "AUTOBLOCKS_INGESTION_KEY=${{ secrets.AUTOBLOCKS_INGESTION_KEY }}" >> .env
- name: Setup Python
uses: actions/setup-python@v3
with:
python-version: 3.11

- name: Install poetry
run: curl -sSL https://install.python-poetry.org | python3 -

- name: Check pyproject.toml & poetry.lock are in sync
run: poetry lock --check
working-directory: ${{ matrix.project }}

- name: Install dependencies
run: poetry install
working-directory: ${{ matrix.project }}

- name: Run script
run: poetry run python main.py
working-directory: ${{ matrix.project }}

test-javascript:
runs-on: ubuntu-latest

strategy:
matrix:
project:
# - JavaScript/chatbot-nextjs
- JavaScript/langchain
# - JavaScript/novel-ai-text-editor
- JavaScript/openai-automated
- JavaScript/openai-manual

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Create .env file
run: |
touch .env
echo "OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }}" >> .env
echo "AUTOBLOCKS_INGESTION_KEY=${{ secrets.AUTOBLOCKS_INGESTION_KEY }}" >> .env
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 20

- name: Install dependencies
run: npm ci
working-directory: ${{ matrix.project }}

- name: Run script
run: npm run start
working-directory: ${{ matrix.project }}

notify:
needs:
- test-python
- test-javascript

if: always() && contains(needs.*.result, 'failure')
# if: always() && contains(needs.*.result, 'failure') && github.event_name == 'schedule'

runs-on: ubuntu-latest

steps:
- uses: slackapi/[email protected]
with:
payload: |
{
"text": ":warning: Workflow `${{ github.workflow }}` in repository `${{ github.repository }}` failed. <${{ env.run-url }}|Logs>"
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK

run-url: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
35 changes: 4 additions & 31 deletions JavaScript/chatbot-nextjs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,49 +2,22 @@
<img src="https://app.autoblocks.ai/images/logo.png" width="300px">
</p>

# Chatbot Autoblocks Example

## Quick Start

Example chatbot using [Autoblocks](https://www.autoblocks.ai).

View deployed app at https://chatbot-example.autoblocks.ai

### Install Dependencies
## Install dependencies

```
npm install
```

### Sign up for Autoblocks

Sign up for an Autoblocks account at https://app.autoblocks.ai and grab your ingestion key from [settings](https://app.autoblocks.ai/settings/api-keys).

### Set environment variables

Create a `.env` file in the `chatbot-nextjs` directory with the following environment variables:

```
OPENAI_API_KEY=<your-api-key>
AUTOBLOCKS_INGESTION_KEY=<your-ingestion-key>
```

### Run the app
## Run the app

```
npm run dev
```

Visit http://localhost:3000 to see the app.

### View logs in Autoblocks
## View logs in Autoblocks

As you interact with the app, you will see traces appear in the Autoblocks explore page.
As you interact with the app, you will see traces appear in the Autoblocks [explore page](https://app.autoblocks.ai/explore).

![Autoblocks Explore](https://github.com/autoblocksai/novel-autoblocks-example/blob/main/novel-autoblocks-example.png?raw=true)

## More Information

For more information on how to use Autoblocks, visit the [Autoblocks documentation](https://docs.autoblocks.ai/).

For more information on how to use Novel, visit the [Novel repository](https://github.com/steven-tey/novel).
5 changes: 3 additions & 2 deletions JavaScript/chatbot-nextjs/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "autoblocks-examples",
"version": "0.1.0",
"name": "chatbot-nextjs",
"description": "A Next.js app that uses openai and Autoblocks to power and monitor a chatbot",
"version": "0.0.0",
"private": true,
"scripts": {
"dev": "next dev",
Expand Down
29 changes: 3 additions & 26 deletions JavaScript/langchain/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,41 +2,18 @@
<img src="https://app.autoblocks.ai/images/logo.png" width="300px">
</p>

# Langchain Autoblocks Example

Example using [Autoblocks](https://www.autoblocks.ai) and [Langchain JS](https://js.langchain.com/docs/get_started/introduction).

## Quick Start

### Install Dependencies
## Install dependencies

```
npm install
```

### Sign up for Autoblocks

Sign up for an Autoblocks account at https://app.autoblocks.ai and grab your ingestion key from [settings](https://app.autoblocks.ai/settings/api-keys).

### Set environment variables

Create a `.env` file in this directory with the following environment variables:

```
OPENAI_API_KEY=<your-api-key>
AUTOBLOCKS_INGESTION_KEY=<your-ingestion-key>
```

### Run the script
## Run the script

```
npm run start
```

### View logs in Autoblocks
## View logs in Autoblocks

After you run the script, you can find the trace on the [explore page](https://app.autoblocks.ai/explore).

## More Information

For more information on how to use Autoblocks, visit the [Autoblocks documentation](https://docs.autoblocks.ai/).
5 changes: 3 additions & 2 deletions JavaScript/langchain/package.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
{
"name": "langchain-autoblocks-example",
"name": "langchain",
"description": "Automatic tracing of LangChain",
"version": "0.0.0",
"private": true,
"engines": {
"node": ">=18"
},
"type": "module",
"scripts": {
"start": "dotenv -e .env -- node ./src/index.js"
"start": "dotenv -e ../../.env -- node ./src/index.js"
},
"author": "",
"license": "MIT",
Expand Down
23 changes: 4 additions & 19 deletions JavaScript/novel-ai-text-editor/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,41 +10,26 @@ Based on [novella](https://github.com/steven-tey/novella).

## Quick Start

### Install Dependencies
## Install Dependencies

```
npm install
```

### Sign up for Autoblocks

Sign up for an Autoblocks account at https://app.autoblocks.ai and grab your ingestion key from [settings](https://app.autoblocks.ai/settings/api-keys).

### Set environment variables

Create a `.env.local` file in the root directory of the project with the following environment variables:

```
OPENAI_API_KEY=<your-api-key>
AUTOBLOCKS_INGESTION_KEY=<your-ingestion-key>
```

### Run the app
## Run the app

```
npm run dev
```

Visit http://localhost:3000 to see the app.

### View logs in Autoblocks
## View logs in Autoblocks

As you interact with the app, you will see traces appear in the Autoblocks explore page.
As you interact with the app, you will see traces appear in the Autoblocks [explore page](https://app.autoblocks.ai/explore).

![Autoblocks Explore](https://github.com/autoblocksai/novel-autoblocks-example/blob/main/novel-autoblocks-example.png?raw=true)

## More Information

For more information on how to use Autoblocks, visit the [Autoblocks documentation](https://docs.autoblocks.ai/).

For more information on how to use Novel, visit the [Novel repository](https://github.com/steven-tey/novel).
5 changes: 3 additions & 2 deletions JavaScript/novel-ai-text-editor/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "novel-autoblocks-example",
"version": "0.1.0",
"name": "novel-ai-text-editor",
"description": "A Next.js app that uses [Novel](https://github.com/steven-tey/novel) and Autoblocks to power an AI-enabled text editor",
"version": "0.0.0",
"private": true,
"scripts": {
"dev": "next dev",
Expand Down
7 changes: 4 additions & 3 deletions JavaScript/openai-automated/package.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
{
"name": "openai-automated-autoblocks-example",
"version": "1.0.0",
"name": "openai-automated",
"description": "Automatic tracing of openai calls",
"version": "0.0.0",
"private": true,
"type": "module",
"main": "src/index.js",
"scripts": {
"start": "dotenv -e .env -- node ./src/index.js"
"start": "dotenv -e ../../.env -- node ./src/index.js"
},
"license": "MIT",
"dependencies": {
Expand Down
29 changes: 3 additions & 26 deletions JavaScript/openai-automated/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,41 +2,18 @@
<img src="https://app.autoblocks.ai/images/logo.png" width="300px">
</p>

# Automated OpenAI Tracing

Automated OpenAI tracing using [Autoblocks](https://www.autoblocks.ai).

## Quick Start

### Sign up for Autoblocks

Sign up for an Autoblocks account at https://app.autoblocks.ai and grab your ingestion key from [settings](https://app.autoblocks.ai/settings/api-keys).

### Install Dependencies
## Install Dependencies

```
npm install
```

### Set environment variables

Create a `.env` file in this directory with the following environment variables:

```
OPENAI_API_KEY=<your-api-key>
AUTOBLOCKS_INGESTION_KEY=<your-ingestion-key>
```

### Run the script
## Run the script

```
npm run start
```

### View trace in Autoblocks
## View trace in Autoblocks

Go to the [explore page](https://app.autoblocks.ai/explore) to see the trace.

## More Information

For more information on how to use Autoblocks, visit the [Autoblocks documentation](https://docs.autoblocks.ai/).
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
{
"name": "openai-autoblocks-example",
"version": "1.0.0",
"description": "",
"name": "openai-manual",
"version": "0.0.0",
"description": "Manual tracing of openai calls",
"type": "module",
"main": "src/index.js",
"scripts": {
"start": "dotenv -e .env -- node ./src/index.js"
"start": "dotenv -e ../../.env -- node ./src/index.js"
},
"author": "Adam Nolte",
"license": "MIT",
"dependencies": {
"@autoblocks/client": "^0.0.14",
Expand Down
Loading

0 comments on commit a7a80be

Please sign in to comment.