TriPal is an AI service that proposes travel plans and provides reservation proposals for accommodation facilities in the form of conversations.
※ If using Docker as described in Usage②, only Step0 is necessary.
$ git clone https://github.com/KorRyu3/TriPal
$ cd TriPal
$ python3 -m venv .venv
# Activate the virtual environment
## Windows
> .\.venv\Scripts\activate
## MacOS or Linux
$ source .venv/bin/activate
$ deactivate
$ pip install -r requirements.txt
There are two ways to run the app: with a local Python environment and with Docker.
# Windows
> .\.venv\Scripts\activate
## MacOS or Linux
$ source .venv/bin/activate
$ python3 src/app.py
Open your browser and access to http://127.0.0.1:8000/
.
$ docker-compose up --build
Open your browser and access to http://127.0.0.1:8000/
.
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
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>"
You can see the contribution guide in CONTRIBUTING.md.