Skip to main content

Set up a modern REST API by running one command.

Project description

FastApi Gen

Create LLM-enabled FastAPI applications without build configuration.

Test Package version Supported Python versions

FastApi Gen works on macOS and Linux.
If something doesn’t work, please file an issue.

Quick Overview

pip3 install fastapi-gen
fastapi-gen my_app
cd my_app
make start-dev

or

pipx run fastapi-gen my_app
cd my_app
make start-dev

If you've previously installed fastapi-gen globally via pip3 install fastapi-gen, we recommend you reinstall the package using pip3 install --upgrade --force-reinstall fastapi-gen or pipx upgrade fastapi-gen to ensure that you use the latest version.

Then open http://localhost:8000/docs to see your app OpenAPI documentation.

Available templates:

  1. Default - basic template with GET/POST examples.
  2. NLP - natural language processing template with examples how to use local Hugginface models for summarization, named-entity recognition and text generation using LLM.
  3. Langchain - template with examples how to use LangChain with local Hugginface models (LLMs) for text generation and question answering.
  4. Llama - template with examples how to use llama.cpp and llama-cpp-python with local Llama 2 for question asnwering.

Important notes:

  • Langchain template requires hardware to run and will automatically download required models, be patient.
  • Llama template will download around 4GB model from Hugginface and >4GB of RAM.

Each template includes not only code, but also tests.

Get Started Immediately

You don’t need to install or configure depencendeices like FastApi or Pytest.
They are preconfigured and hidden so that you can focus on the code.

Create a project, and you’re good to go.

Creating an App

You’ll need to have Python 3.7+ or later version on your local development machine. We recommend using the latest LTS version. You can use pyenv (macOS/Linux) to switch Python versions between different projects.

Basic template

pip3 install fastapi-gen
fastapi-gen my_app

or

pip3 install fastapi-gen
fastapi-gen my_app --template hello_world

NLP template

pip install fastapi-gen
fastapi-gen my_app --template nlp

Langchain template

pip install fastapi-gen
fastapi-gen my_app --template Langchain

Llama template

pip install fastapi-gen
fastapi-gen my_app --template llama

Inside the newly created project, you can run some built-in commands:

make start

Runs the app in development mode.
Open http://localhost:8000/docs to view OpenAPI documentation in the browser.

The page will automatically reload if you make changes to the code.

make test

Runs tests.
By default, runs tests related to files changed since the last commit.

License

fastapi-gen is distributed under the terms of the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastapi_gen-0.4.0.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

fastapi_gen-0.4.0-py3-none-any.whl (27.1 kB view details)

Uploaded Python 3

File details

Details for the file fastapi_gen-0.4.0.tar.gz.

File metadata

  • Download URL: fastapi_gen-0.4.0.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for fastapi_gen-0.4.0.tar.gz
Algorithm Hash digest
SHA256 7cdbcf7468cda9d17eb5a3d04b54b238ee0e7ad0d096d978739c0ba996b57691
MD5 8897f84e052cb27a1d52a126ac3206ca
BLAKE2b-256 d6005240fc9af20d79398a6348b0dd9d6400f13bf85494450e44dd5959e4028b

See more details on using hashes here.

File details

Details for the file fastapi_gen-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: fastapi_gen-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 27.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for fastapi_gen-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c3ba03257e1956c1de7aafdd00b8b5c4fd4668bcb7e4820132ca097415bdb31e
MD5 c455c6a2e15baffd2a4e8ebeb7ca14f8
BLAKE2b-256 6b0754dd2927e385276c9c191fdcdf1d6d7fa7fc26d1d9cfd4fab2c8be939d04

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page