/TriPal

LLM service that offers travel plans

Primary LanguagePython

TriPal

TriPal is an AI service that proposes travel plans and provides reservation proposals for accommodation facilities in the form of conversations.

English | 日本語

Tech Stack

Installation

※ If using Docker as described in Usage②, only Step0 is necessary.

Step0: Clone this repository

$ git clone https://github.com/KorRyu3/TriPal
$ cd TriPal

Step1: Make Virtual Environment

$ python3 -m venv .venv

# Activate the virtual environment
## Windows
> .\.venv\Scripts\activate
## MacOS or Linux
$ source .venv/bin/activate

If you want to deactivate the virtual environment

$ deactivate

Step2: Install Requirements

$ pip install -r requirements.txt

Usage

There are two ways to run the app: with a local Python environment and with Docker.

Usage①: Run with Local Python Environment

Step0: Activate Environment

# Windows
> .\.venv\Scripts\activate
## MacOS or Linux
$ source .venv/bin/activate

Step1: Run App

$ python3 src/app.py

Step2: Access to the App

Open your browser and access to http://127.0.0.1:8000/.

Usage②: Run with Docker

Step0: Build and Run Docker Container

$ docker-compose up --build

Step1: Access to the App

Open your browser and access to http://127.0.0.1:8000/.

Directory Structure

TriPal
├── .dockerignore
├── .gitignore
├── CONTRIBUTING.md
├── docker-compose.yml
├── Dockerfile
├── README.md
├── README_jp.md
├── requirements.txt
├── .github
│   └── ...
├── .venv
│   └── ...
├── drawio
│   ├── architecture.drawio
│   ├── first_design.drawio
│   ├── log_ER.drawio
│   └── work-flow.drawio
└── src
    ├── __init__.py
    ├── .env
    ├── app.py
    ├── dalle3.py
    ├── llm_prompts.py
    ├── log_setup.py
    ├── tripalgpt.py
    ├── func_call_tools
    │   ├── reservations.py
    │   └── suggestions.py
    ├── logs
    │   ├── .gitingore
    │   └── ...
    ├── static
    │   ├── font
    │   │   └── ...
    │   ├── index.js
    │   └── style.css
    └── templates
        ├── index.html
        └── we-are-demo.html

Developers Information

About Environment Variables

The environment variables are managed by .env file. The file should be placed in src/ directory. Also, the contents of .env are as follows:

# .env

# Azure
# Azure OpenAI API
AZURE_OPENAI_API_DEPLOYMENT="<Deployment name>"
AZURE_OPENAI_API_KEY="<API key>"
AZURE_OPENAI_API_BASE="<Endpoint (base URL)>"
AZURE_OPENAI_API_VERSION="<Azure OpenAI's Version>"

# LangSmith
LANGCHAIN_API_KEY="<LangChain's API key>"
LANGCHAIN_TRACING_V2=true
LANGCHAIN_PROJECT="<Project name>"
LANGCHAIN_ENDPOINT="https://api.smith.langchain.com"

# TripAdvisor API
TRIPADVISOR_API_KEY="<Tripadvisor's API key>"

# Rakuten API
RAKUTEN_APPLICATION_ID="<Rakuten Developer's Application ID>"
RAKUTEN_AFFILIATE_ID="<Rakuten Developer's Affiliate ID>"

Contribution Guide

You can see the contribution guide in CONTRIBUTING.md.

Contributors