GithubHelp home page GithubHelp logo

kaur3's Introduction

Copilot Starter Kit

Using this starter kit, you can create your custom Copilot in less than 30 minutes for your own use case (sales, product, marketing, HR, etc) that build upon the master RPM Copilot - it's like AIner making babies ๐Ÿ‘ถ

Screenshot 2023-07-11 at 21 17 25

Video Tutorial

See a 10 minute video tutorial on how to create your own Copilot.

Watch the video

Setup

1. Make a copilot config repository

On the top right of this page, click Use this template -> Create a new repository.

Fill in the required fields and click Create repository from template. We recommend keeping the repository private.

Your newly created repository will hold all the configuration and data (PDFs, documents, etc) that defines how your copilot works.

2. Deploy the copilot

For your custom copilot to show up at rpm.sidekik.ai, you need to deploy it. To do so, go to rpm.sidekik.ai, open the left sidebar, click "New copilot" on the top left, and fill in the fields. You can choose the name yourself; the Github link will be to the repository you just created.

When you've submitted the form, you will get back a public key -- copy this. In order to deploy your copilot, we need read-access to your copilot repository. For this, you will add a deploy key to the repository you just created.

To do so, follow the provided link or navigate to your Copilot repository > Settings > Deploy keys. Press "Add deploy key".

Add a title, e.g. "Copilot deployment", and press "Add key". Write access is not needed.

If you've successfully added a key, it should look like this:

Once done, we will automatically deploy your copilot. This may take 1-2 minutes.

3. Use your copilot

After successful deployment your copilot will show up at rpm.sidekik.ai. At the top left you can choose which copilot you chat with: the master RPM copilot or one of the custom copilots you created.

After switching to the custom copilot you can start chatting!

4. Make it yours

Alright, you now have deployed a copilot, but you haven't really made it yours. The next section will show you how to customize your copilot.

Customizing your copilot

There are three main ways you can customize your copilot: Knowledge base and Prompts that change the copilot's behaviour, and Front-end configuration that changes how it is presented. To see these in action, you can check out several examples in the examples/ directory -- to use one of the provided examples, just copy over the relevant files.

Knowledge base

The knowledge base is the set of documents that your copilot relies on when responding to you - you can think of it as the things you've taught it. The copilot has access to everything here when trying to answer your questions. To add things into the knowledge base, just drop files into data/ directory.

The following file formats are supported:

  • pdf files
  • csv, tsv and xls/xlsx (Excel) files
  • txt files

Many other file formats (e.g. Markdown, Powerpoint, ePub) also work but are not consistently tested -- they are parsed using the Python unstructured package.

Prompts

In the prompt you instruct your copilot about its goals, behaviour, style, etc. There aren't many hard rules to this; you can start from one of our provided examples and iterate to improve the copilot's behaviour. Prompt engineering is a deep topic; for a more in-depth overview, see OpenAI's list of prompting guides. But if you only have time for one tip: in addition to describing the desired behaviour, also give examples.

The prompt is not a static piece of text. It is a template that will be filled at runtime, after the user has messaged the copilot but before sending the request to the LLM. For this reason, you should always place three template variables into the prompt template file (ideally at the end), and they will be substituted as follows:

  • {context}: the most relevant documents retrieved from your knowledge base.
  • {history}: the conversation history between the user and the copilot.
  • {question}: the most recent input from the user -- the message they just sent.

Front-end configuration

You can change some aspects of how the copilot is presented to the user, by changing the configuration in configuration.json. This screenshot shows visually what each setting in that file controls:

Note that description is rendered as markdown, so you can add formatted text, images, and anything else that markdown supports.

Giving access to other users

By default, only you (the creator of the custom copilot) can chat with your created copilot. You can easily give access to your team members so they can chat with it. Just add their email which they used to sign up to master RPM Copilot to the allowed_emails list in configuration.json. The emails need to exactly match the email used to log into rpm.sidekik.ai. Adding the emails into this list will not send any notification.

Integration

REST API

You can use a REST API to integrate master RPM Copilot (AIner) anywhere you wish. It currently allows 10 concurrect requests. See this gist script on how to call the API, or the full API docs. Currently, the REST API is unauthenticated (but a measure of privacy is provided by the fact that you can only access a chat's history if you know its uuid).

If you wish to integrate your own newly created custom Copilot, then please ask us for an API key.

FAQ

Who can access my custom copilot?

By default, only the creator of the custom copilot has access to it.

How do I share my custom copilot with a friend?

  1. Open the configuration.json file.
  2. Locate the allowed_emails list in the configuration.json file.
  3. Add your friend's email to the allowed_emails list. Make sure the added email matches the email your friend uses to log into rpm.sidekik.ai.
  4. Save the changes to the configuration.json file and commit.
  5. Wait for the latest commit to be deployed.
  6. Your friend should now see the custom copilot in the left sidebar, and be able to chat with it.

Where is my data sent?

  • Everything you put into the Github repository is mirrored on our servers for ingestion and serving user messages.
  • Upon every user message, a subset of the files in the /data directory gets sent to OpenAI, along with the prompt template, conversation history, and user message.

If you have concerns about adding some sensitive data, please talk to us before adding it to your custom copilot.

kaur3's People

Contributors

korjusk avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.