[Proposal] DOCit - Discord Document Bot

Proposal for docIT: A Discord Bot for Frax Documentation and Support

Introduction

We have developed docIT, a private Discord bot that enables users to “talk to your docs.” The bot is designed to support multiple document sites, integrating evolving Language Learning Models (LLMs). It aims to unify Frax’s essential GitHub repositories, documentation, related articles, and forum posts. This provides users with a conversational interface where they can ask questions and receive natural language responses, complete with supporting links. Our goal is to integrate docIT with the Frax ecosystem to lower educational barriers. To ensure transparent and accurate information, docIT is programmed to prevent hallucinations and provide responses with sourced material.

Objectives

Our primary objectives include:

  • Augmenting the Developer Relations (DevRel) and Community Support teams at Frax

  • Reducing the workload for support teams on Discord

  • Accelerating responses to frequently asked questions

Through these objectives, we aim to enhance both team and user experiences by facilitating more efficient and effective interactions.

Background

The success of technical Web3 projects is closely linked to an ecosystem of developers utilizing the protocols. Developers often rely on official documentation and GitHub repositories to understand various projects. However, no documentation can be entirely exhaustive, requiring a team to offer “frontline” support for those developing or using the protocol.

Developer Relations and Community Support teams serve as the initial human interface with these protocols. Their primary roles include fostering developer communities and gauging product-market fit. A common challenge these teams face is the lack of sufficient human resources to address the plethora of questions and inquiries received daily. Our solution aims to free up the Frax support teams to focus on their core strengths, which include resolving unique customer issues, establishing trust, and nurturing an engaged community.

Team

Nigel Alford

  • Role: Technologist and Entrepreneur

  • Expertise: Specializes in decentralized solutions. Previously developed a Frax NFT marketplace for book authors. Involved in various technical projects ranging from blockchains to digital maps.

  • Objective: To reduce technical friction and expedite project development.

  • GitHub: mrnigelalford

  • LinkedIn: Nigel Alford

Project Plan (4-Week Delivery)

Pre-Implementation

Collaborate with the DevRel, Customer Support, and Community Support teams to understand their needs, identify pain points, and decide where the bot can be most effective. The insights gathered will guide the selection of data sources for implementation.

Milestone 1: Implementation of Data Sources (2 Weeks)

  • Objective: Incorporate 3-4 high-value data sources into the bot.

  • Tasks: Crawl data, create OpenAI embeddings in our database to index and set up search functionalities.

  • End State: Have 3-4 data sources that can be queried.

  • Expected Bugs: Hallucinations, mismatches on query/documents.

Milestone 2: Testing and Optimization + Deploy to Production (2 Weeks)

  • Objective: Refine the bot and make it production-ready.

  • Tasks: Eliminate hallucinations, optimize prompt engineering, and ensure only relevant answers are provided, along with source material and links.

  • End State: A production-ready bot, approved by the Customer/Community Support teams for deployment on Frax’s Discord.

Technology Stack

  • OpenAI & LLAMA2 LLM

  • Digital Ocean (Hosting)

  • Supabase (Database)

  • Node.js (Backend)

Funding Requirements

We are requesting an $8,000 USD grant to build and maintain the bot, broken down as follows:

  • Infrastructure Costs ($2,000): 12-month provision, covering OpenAI token usage, Digital Ocean, and Supabase databases.

  • Development Costs ($6,000): Includes back-end code maintenance, LLM logic updates, and adding new bot commands as needed.

Additional Information

Success Metrics

  • Target Users: Developers and users of Frax

  • Metrics:

  • Number of questions answered

  • Number of new unanswered questions

  • Number of active rooms docIT is in

Long-Term Plans

  1. Migrate to private LLMs instead of relying on OpenAI.

  2. Expand to other chat systems like Telegram and Slack.

  3. Automate the data ingestion process to update data sources monthly.

  4. Continuously monitor output quality to improve answers over time.

  5. Add interactive features to enhance the bot’s functionality beyond pure Q&A.

GitHub Repository

Data Models/API Specifications

Details covered in the Technology Stack section.

1 Like

Happy to answer any questions about this proposal. Excited to fold DOCit into Frax :smile: :robot:

How does docIT handle versioning of Frax’s documentation to ensure that users are receiving the most up-to-date and relevant information?

TLDR; we timestamp every record and return results with newest timestamps. In case of a dupe or update, most recent wins.

Overall, we crawl document locations at a set intervals (we can adjust interval to your needs). New documents found are stored with timestamps and each call to retrieve an answer follows the logic above to pull most recent.

We’ll filter out the results to not show dupes, but it could be interesting to show version history with links. This question has been posed a few times internally, I’m happy to make an adjustment or special build if you have thoughts on this topic :slight_smile:

1 Like

following up. Can I answer any questions. Is there any interest in pursuing adding docit? We’re actively working with SUI and would love to extend the technology.