pconerly / intelligent-tool-selector

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Intelligent Tool Selector

This is a webpage to find a tool that matches a description of a task the user wants to complete.

Installation instructions:

Backend

Use virtualenv to create a virtualenv. I recommend using virtualenvwrapper, and using python3.10.

mkvirtualenv tool-selector
pip install -r reqs.txt

Set up your secrets.json

cd backend
cp secrets.tmpl.json secrets.json
vim secrets.json # add your openai API key

To run the app:

cd backend/app
uvicorn main:app --reload

Frontend

The frontend is a create-react-app, so you can install and run it as usual.

npm install
npm start

Design Decisions:

I've made a small number of changes from the guidelines.

Backend:

  • I've added a database table for Tools. The Tools are still loaded from a fixtures, tool_fixtures.json, but I think it's potentially useful to have it in the database.
  • I added a ManyToMany table to join Prompt and Tools. This is currently unused, but would be useful if the prompt & tools selected were being saved.

Frontend:

  • I made the 300 character limit on the description a soft requirement.

About


Languages

Language:JavaScript 88.5%Language:Python 7.7%Language:HTML 2.1%Language:CSS 1.7%