Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bounty: Complete Tally + ChatGPT Integration - 1000 OP Reward #1

Open
3 of 6 tasks
kamescg opened this issue Apr 13, 2023 · 0 comments
Open
3 of 6 tasks

Bounty: Complete Tally + ChatGPT Integration - 1000 OP Reward #1

kamescg opened this issue Apr 13, 2023 · 0 comments

Comments

@kamescg
Copy link
Member

kamescg commented Apr 13, 2023

πŸ‘¨β€πŸ’» User Story

As a developer and participant in decentralized autonomous organization (DAOs) I want faster and better insights into important governance actions for critical Web3 protocols.

More specifically I want OpenAI artificial intelligence to summarize and highlight important information in governance proposals fetched from the Tally API and to allow me to share that information with others.

Have question?

Join the ⚑️TurboETH Discord channel

πŸ’° Bounty Reward

The bounty reward is 1000 OP tokens and TurboETH DevPass digital collectible.

Tally: 500 OP Tokens
District Labs: 500 OP Tokens

TurboETH is the recipient of 18,271.88 OP Tokens from Optimism Retroactive Public Goods Funding. The OP tokens earned from the PGF program are the primary funding source for TurboETH bounties.

Bonus: 50 OP will be awarded if flux.paradigm.xyz is used to help generate the template code in a meaningful way. Exported conversations must be made available to be eligible for the bonus reward.

🧱 Project

Complete the TurboETH Council template so it includes an OpenAI ChatGPT integration.

Required Functionality:

  1. Tally API
  2. ChatGPT API
  3. Passing digital organization governance proposals into the api/ask endpoint with pre-written prompts and display the response in a modal/dialog box.
  4. The user should have the ability to save the AI responses in the localStorage or indexedDB.

When passing the proposals into the ask API the prompt should include additional context and language to maximize the chances for an optimal response.

For example when streaming the proposal to the api/ask I might include a prefixed comment like...

Below is governance proposal from the [INSERT_PROJECT] decentralized autonomous organization. Summarize the proposal and include a tl;dr that highlights the essential proposal information.

How It Could Work:

  1. Home / - Search for organization entity i.e. PoolTogether
  2. Organization /organization/[address] - Displays a list of proposal and includes a button when clicked will automatically submit a request to the api/ask endpoint with a prewritten prompt.

NOTICE: The api/ask endpoint should the Vercel's Edge functions with streaming.

The normal functions can timeout and don't stream the text response. The following article explains how to integrate an OpenAIStream so the text streams and the function calls will cost less.

https://vercel.com/blog/gpt-3-app-next-js-vercel-edge-functions

Developer Tasks:

  • Create Client - -tally-client
  • Create Provider - -tally-provider
  • Create Component - <Governors />
  • Create Component - <Proposals />
  • Create Page - app/governor/[id]/page.tsx
  • Create API - pages/api/ai/ask

Potential File Structure

integrations/tally
β”œβ”€ components/
β”‚  β”œβ”€ governors.tsx
β”‚  β”œβ”€ proposals.tsx
β”‚  β”œβ”€ *.tsx
β”œβ”€ hooks/
β”‚  β”œβ”€ **/*.ts
β”œβ”€ utils/
β”‚  β”œβ”€ **/*.ts
β”œβ”€ tally-client.ts
β”œβ”€ tally-provider.ts
β”œβ”€ README.md

Notice

The final integration may not resemble the proposed integration - that's O.K - a natural part of software development.

During development you might discover an original hypothesis doesn't make sense. No problem. Make a comment and clearly explain why a new approach is better than old one. Get rewarded for thinking out of the box.

The final bounty reward can be increased to match new bounty tasks.

Resources

@kamescg kamescg added this to Bounties Apr 14, 2023
@kamescg kamescg moved this to Todo in Bounties Apr 14, 2023
@kamescg kamescg moved this from Todo to In Progress in Bounties Apr 18, 2023
@kamescg kamescg moved this from In Progress to Done in Bounties May 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Status: Done
Development

No branches or pull requests

1 participant