forestry_student
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.9%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: e-lab
- Language: Python
- Default Branch: main
- Size: 296 MB
Statistics
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 2
- Releases: 0
Metadata Files
README.md
FIRST: Forest Intellect Research & Technology System
Viktor Ciroski, Eugenio Culurciello , Pranav Jadhav, Sravani Ramishetty, Akshath Raghav R, Alexandre Sauquet, Shakti Wadekar
Introduction to FIRST: A Forestry Logic-Intensive Task Handling Framework
FIRST, an open-source software package, has been meticulously crafted to offer precise solutions for logic-intensive tasks within the field of forestry. Developed with the cutting-edge technology of Langchain, this framework harnesses a sophisticated suite of forestry tools. Among its capabilities, FIRST excels in predicting changes and distributions in forestry time series, particularly in regions where data may be limited or unknown. This academic-grade software aims to elevate the precision and efficiency of forestry-related analyses, providing a robust platform for addressing complex challenges in the domain.
⚠️ Note
Project Status: This project is currently in the developmental phase and actively undergoing enhancements. The Language Model (LLM) backend is presently powered by GPT-4, with imminent plans to transition towards a multi-modal approach, specifically leveraging the Llama2 Large World Model (LWM).
Tool Integration: The current iteration of the project features the integration of several tools designed to augment its capabilities: - Arxiv Search: Facilitating exploration and retrieval of scholarly articles. - Web Browser: Enabling web-based research and information gathering. - Calculator: Providing computational functionality within the environment. - Python Interpreter: Supporting the execution of Python code for enhanced scripting capabilities. - In-context QA: Offering question-answering functionality within the context of the project. - Data Chat: Enabling data visualization and analysis support of uploaded CSV files.
Modality Focus: It's important to note that the current implementation is tailored for a singular modality, specifically text. Future iterations aim to broaden the scope by incorporating a multi-modal approach, thereby enhancing the project's capacity to process and analyze diverse types of data.
Try it our FIRST DEMO

Forestry QA Dataset
We present the Forestry QA dataset, a comprehensive collection tailored for advancing the field of forestry-related question answering. This dataset encompasses a curated set of question-answer pairs derived from forestry examinations, providing real-world scenarios to test and enhance models in the domain. Additionally, the dataset incorporates question-answer pairs sourced from forestry textbooks, generated using the sophisticated language model GPT3.5. This amalgamation ensures a diverse and robust dataset, fostering the development and evaluation of question answering systems tailored specifically for forestry applications. Researchers and practitioners can utilize this dataset to benchmark their models, foster innovation, and contribute to the continuous improvement of question answering capabilities in the context of forestry.
⚠️ Future plans are to generate a multi-modal QA Dataset ⚠️
| Data File Name | File Size | Sample Size | |----------------|-----------|-------------| | TreeHuggerExamans.csv | 1 MB | 49 | | Multi-modal QA | TBD MB | TBH |
FIRST: Forestry Intellect Research & Technology System
At the present stage of development, our focus is not directed towards training the model; rather, we are leveraging the capabilities of GPT-4 within the ReACT framework to facilitate seamless interaction with various tools. Our approach involves utilizing GPT-4 as a proficient language model to enhance the functionality of the ReACT framework.
Future endeavors, however, will delve into more advanced training methodologies. Specifically, our roadmap includes exploring the training of Llama2 for multimodal capabilities within the ReACT framework. This strategic shift aims to further elevate the project's capacity to process and comprehend diverse data types, laying the groundwork for a more comprehensive and versatile system.
Performance
Forestry QA Data
)
Project Setup Guide
This guide provides detailed instructions on how to set up and run the Forestry_Student project. By following these steps, you'll be able to clone the repository, configure necessary environment variables, and start the application using Docker.

Prerequisites
Before you begin, ensure you have the following installed on your system: - Git - Docker - Docker Compose
Installation
Clone the Forestry_Student repository and navigate into the project directory:
bash
git clone https://github.com/e-lab/Forestry_Student.git
cd Forestry_Student
Configuration
Create a .env file in the root directory of the project. This file should contain the necessary API keys for the application to function properly. Replace <YOUR_GOOGLE_API_KEY>, <YOUR_GOOGLE_CSE_ID>, and <YOUR_OPENAI_API_KEY> with your actual API keys.
```plaintext
.env file
GOOGLEAPIKEY=
Obtaining API Keys
- Google API Key & CSE ID: Follow Google's documentation to create an API key and set up a Custom Search Engine (CSE).
- OpenAI API Key: Follow these instructions to get your OpenAI key. Instead, log in to your OpenAI account and navigate to the API section to find your key.
Startup
To build and start the application using Docker Compose, run the following command in the terminal:
bash
docker-compose up --build
This command builds the Docker images and starts the containers defined in your docker-compose.yaml file. If this is the first time you're running the command, it might take some time to download the necessary images and dependencies.
Accessing the Application
Once the application is running, you can access the web interface by opening your web browser and navigating to:
http://localhost:8501
Troubleshooting
- If you encounter any issues with Docker, ensure Docker is running on your system and try restarting it.
- For problems related to API keys, double-check that they are correctly entered in the
.envfile with no extra spaces or characters.
Acknowledgement
This project has been undertaken in the Eugenio Culurciello e-lab at Purdue University, in collaboration with the FACAI lab. We extend our sincere appreciation to both labs for their invaluable contributions and collaborative efforts. Furthermore, we acknowledge and express gratitude for the resources generously provided by the Purdue Institute of Physical AI, which have played a crucial role in supporting and advancing our research endeavors.
Citation
@software{FIRST,
author = {Ciroski, Viktor and Culurciello, Eugenio and Jadhav, Pranav and Ramishetty, Sravani and Ravikiran, Akshath Raghav and Sauquet, Alexandre and Wadekar, Shakti},
title = {{Forest Intellect Research & Technology System}},
url = {https://github.com/e-lab/Forestry_Student/tree/main},
version = {0.0.1}
}
Owner
- Name: e-Lab
- Login: e-lab
- Kind: organization
- Location: Purdue University
- Website: http://engineering.purdue.edu/elab
- Repositories: 44
- Profile: https://github.com/e-lab
GitHub Events
Total
Last Year
Committers
Last synced: about 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| AkshathRaghav | a****r@g****m | 24 |
| Viktor Ciroski | v****i@g****m | 21 |
| SauquetAlex | 5****x | 2 |
Issues and Pull Requests
Last synced: about 1 year ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- AkshathRaghav (2)
- viktor1223 (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- python 3.9-slim build
- Deprecated ==1.2.14
- GitPython ==3.1.41
- Jinja2 ==3.1.3
- MarkupSafe ==2.1.5
- PyMuPDF ==1.23.21
- PyMuPDFb ==1.23.9
- PyPika ==0.48.9
- PyYAML ==6.0.1
- Pygments ==2.17.2
- SQLAlchemy ==2.0.25
- aiofiles ==23.2.1
- aiohttp ==3.9.3
- aiosignal ==1.3.1
- altair ==5.2.0
- annotated-types ==0.6.0
- anyio ==4.2.0
- arxiv ==2.1.0
- asgiref ==3.7.2
- async-timeout ==4.0.3
- attrs ==23.2.0
- backoff ==2.2.1
- bcrypt ==4.1.2
- beautifulsoup4 ==4.12.3
- blinker ==1.7.0
- bs4 ==0.0.2
- cachetools ==5.3.2
- certifi ==2024.2.2
- charset-normalizer ==3.3.2
- chroma-hnswlib ==0.7.3
- chromadb ==0.4.18
- ci-info ==0.3.0
- click ==8.1.7
- coloredlogs ==15.0.1
- configobj ==5.0.8
- configparser ==6.0.0
- contourpy ==1.2.0
- cycler ==0.12.1
- dataclasses-json ==0.6.4
- distro ==1.9.0
- etelemetry ==0.3.1
- exceptiongroup ==1.2.0
- extra-streamlit-components ==0.1.60
- fastapi ==0.109.2
- feedparser ==6.0.10
- filelock ==3.13.1
- flatbuffers ==23.5.26
- fonttools ==4.48.1
- frontend ==0.0.3
- frozenlist ==1.4.1
- fsspec ==2024.2.0
- gitdb ==4.0.11
- google-api-core ==2.16.2
- google-api-python-client ==2.116.0
- google-auth ==2.27.0
- google-auth-httplib2 ==0.2.0
- googleapis-common-protos ==1.62.0
- greenlet ==3.0.3
- grpcio ==1.60.1
- h11 ==0.14.0
- htbuilder ==0.6.2
- html2text ==2020.1.16
- httpcore ==1.0.2
- httplib2 ==0.22.0
- httptools ==0.6.1
- httpx ==0.26.0
- huggingface-hub ==0.20.3
- humanfriendly ==10.0
- idna ==3.6
- importlib-metadata ==6.11.0
- importlib-resources ==6.1.1
- isodate ==0.6.1
- itsdangerous ==2.1.2
- jsonpatch ==1.33
- jsonpointer ==2.4
- jsonschema ==4.21.1
- jsonschema-specifications ==2023.12.1
- kiwisolver ==1.4.5
- kubernetes ==29.0.0
- langchain ==0.1.5
- langchain-community ==0.0.17
- langchain-core ==0.1.18
- langchain-experimental ==0.0.50
- langchain-openai ==0.0.5
- langchainhub ==0.1.14
- langsmith ==0.0.86
- looseversion ==1.3.0
- lxml ==5.1.0
- markdown-it-py ==3.0.0
- marshmallow ==3.20.2
- matplotlib ==3.8.2
- mdurl ==0.1.2
- mmh3 ==4.1.0
- monotonic ==1.6
- more-itertools ==10.2.0
- mpmath ==1.3.0
- multidict ==6.0.5
- mypy-extensions ==1.0.0
- networkx ==3.2.1
- nibabel ==5.2.0
- nipype ==1.8.6
- numexpr ==2.9.0
- numpy ==1.26.4
- oauthlib ==3.2.2
- onnxruntime ==1.17.0
- openai ==1.11.1
- opentelemetry-api ==1.22.0
- opentelemetry-exporter-otlp-proto-common ==1.22.0
- opentelemetry-exporter-otlp-proto-grpc ==1.22.0
- opentelemetry-instrumentation ==0.43b0
- opentelemetry-instrumentation-asgi ==0.43b0
- opentelemetry-instrumentation-fastapi ==0.43b0
- opentelemetry-proto ==1.22.0
- opentelemetry-sdk ==1.22.0
- opentelemetry-semantic-conventions ==0.43b0
- opentelemetry-util-http ==0.43b0
- overrides ==7.7.0
- packaging ==23.2
- pandas ==2.2.0
- pathlib ==1.0.1
- pillow ==10.2.0
- posthog ==3.4.0
- protobuf ==4.25.2
- prov ==2.0.0
- pulsar-client ==3.4.0
- pyarrow ==15.0.0
- pyasn1 ==0.5.1
- pyasn1-modules ==0.3.0
- pydantic ==2.6.1
- pydantic_core ==2.16.2
- pydeck ==0.8.1b0
- pydot ==2.0.0
- pyparsing ==3.1.1
- python-dateutil ==2.8.2
- python-dotenv ==1.0.1
- pytz ==2024.1
- pyxnat ==1.6.2
- rdflib ==7.0.0
- referencing ==0.33.0
- regex ==2023.12.25
- requests ==2.31.0
- requests-oauthlib ==1.3.1
- rich ==13.7.0
- rpds-py ==0.17.1
- rsa ==4.9
- scipy ==1.12.0
- sgmllib3k ==1.0.0
- simplejson ==3.19.2
- six ==1.16.0
- smmap ==5.0.1
- sniffio ==1.3.0
- soupsieve ==2.5
- st-annotated-text ==4.0.1
- starlette ==0.36.3
- streamlit ==1.30.0
- sympy ==1.12
- tabulate ==0.9.0
- tenacity ==8.2.3
- tiktoken ==0.5.2
- tokenizers ==0.15.1
- toml ==0.10.2
- toolz ==0.12.1
- tornado ==6.4
- tqdm ==4.66.1
- traits ==6.3.2
- typer ==0.9.0
- types-requests ==2.31.0.20240125
- typing-inspect ==0.9.0
- typing_extensions ==4.9.0
- tzdata ==2023.4
- tzlocal ==5.2
- uritemplate ==4.1.1
- urllib3 ==2.2.0
- uvicorn ==0.27.0.post1
- uvloop ==0.19.0
- validators ==0.22.0
- watchdog ==3.0.0
- watchfiles ==0.21.0
- websocket-client ==1.7.0
- websockets ==12.0
- wrapt ==1.16.0
- yarl ==1.9.4
- zipp ==3.17.0