/article-gpt

Primary LanguageTypeScript

article-gpt

RAG for article-gpt Spec

Project requirements

Pyenv and Python 3.11.7

  • Install pyenv to manage your Python versions and virtual environments:

    curl -sSL https://pyenv.run | bash
    • If you are on MacOS and experiencing errors on python install with pyenv, follow this comment
    • Add these lines to your ~/.bashrc or ~/.zshrc to be able to activate pyenv virtualenv:
      eval "$(pyenv init -)"
      eval "$(pyenv virtualenv-init -)"
      eval "$(pyenv init --path)"
    • Restart your shell
  • Install the right version of Python with pyenv:

    pyenv install 3.11.7

Poetry

  • Install Poetry to manage your dependencies and tooling configs:
    curl -sSL https://install.python-poetry.org | python - --version 1.5.1
    If you have not previously installed any Python version, you may need to set your global Python version before installing Poetry:
    pyenv global 3.11.7

Docker Engine

Install Docker Engine to build and run the API's Docker image locally.

Installation

Create a virtual environment

Create your virtual environment and link it to your project folder:

pyenv virtualenv 3.11.7 article-api-rag
pyenv local article-api-rag

Now, every time you are in your project directory your virtualenv will be activated thanks to pyenv!

Install Python dependencies through poetry

poetry install --no-root

API

The project includes an API built with FastAPI. Its code can be found at src/api.

The API is containerized using a Docker image, built from the Dockerfile and docker-compose.yml at the root.

Environment Variables

Copy .env_example to .env and fill in the values.

Build and start the API

To build and start the API, use the following Makefile command:

make start-api

For more details on the API routes, check the automatically generated swagger at the /docs url.