Spaces:
Sleeping
Sleeping
feat(app): Update introduction message to include version and source information
Browse files- Modified the introduction message to display the current version of Eva and added a note about the demo app's creation using Adobe Research PsTuts data.
- Updated the version number in `version.py` from 0.9.9 to 1.0.0.
- TODO.md +2 -2
- app.py +3 -1
- docs/DEVELOPER.md +48 -0
- version.py +1 -1
TODO.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
# π TODOs in Codebase
|
2 |
|
3 |
-
- `./app.py:
|
4 |
-
- `./app.py:
|
5 |
- `./pstuts_rag/pstuts_rag/datastore.py:26:# TODO: Write MCP server that ingests `mp4` folder`
|
6 |
- `./pstuts_rag/pstuts_rag/datastore.py:66:# TODO: accumulate transcripts of videos when loading, summarize each, then summarize summaries to get a description of the dataset for the prompt`
|
7 |
- `./pstuts_rag/pstuts_rag/nodes.py:113:# TODO More robust generation of queries - multiquery launch`
|
|
|
1 |
# π TODOs in Codebase
|
2 |
|
3 |
+
- `./app.py:46:# TODO: Create an introduction message here that explains the purpose of the app`
|
4 |
+
- `./app.py:248: # TODO: Make the step label update instead of add`
|
5 |
- `./pstuts_rag/pstuts_rag/datastore.py:26:# TODO: Write MCP server that ingests `mp4` folder`
|
6 |
- `./pstuts_rag/pstuts_rag/datastore.py:66:# TODO: accumulate transcripts of videos when loading, summarize each, then summarize summaries to get a description of the dataset for the prompt`
|
7 |
- `./pstuts_rag/pstuts_rag/nodes.py:113:# TODO More robust generation of queries - multiquery launch`
|
app.py
CHANGED
@@ -27,6 +27,7 @@ from pstuts_rag.nodes import (
|
|
27 |
YesNoDecision,
|
28 |
)
|
29 |
from pstuts_rag.utils import get_unique
|
|
|
30 |
|
31 |
# Track the single active session
|
32 |
active_session = {"id": None, "timestamp": None}
|
@@ -97,8 +98,9 @@ async def on_chat_start():
|
|
97 |
# Eva introduction message
|
98 |
await cl.Message(
|
99 |
content=(
|
100 |
-
"π Hi there! I'm **Eva**, your friendly Photoshop expert AI.\n\n"
|
101 |
"---\n\n"
|
|
|
102 |
"I'm here to help you with all your Photoshop questions, using real answers from training video transcripts. π₯β¨\n\n"
|
103 |
"**How I work:**\n"
|
104 |
"- I answer using only what's in the official training videos and in Adobe Help website.\n"
|
|
|
27 |
YesNoDecision,
|
28 |
)
|
29 |
from pstuts_rag.utils import get_unique
|
30 |
+
from version import __version__
|
31 |
|
32 |
# Track the single active session
|
33 |
active_session = {"id": None, "timestamp": None}
|
|
|
98 |
# Eva introduction message
|
99 |
await cl.Message(
|
100 |
content=(
|
101 |
+
f"π Hi there! I'm **Eva v.{__version__}**, your friendly Photoshop expert AI.\n\n"
|
102 |
"---\n\n"
|
103 |
+
"I was created as the demo app for [AI Makerspace](aimakerspace.io) Cohort 6 using Adobe Research [PsTuts data](https://github.com/adobe-research/PsTuts-VQA-Dataset).\n"
|
104 |
"I'm here to help you with all your Photoshop questions, using real answers from training video transcripts. π₯β¨\n\n"
|
105 |
"**How I work:**\n"
|
106 |
"- I answer using only what's in the official training videos and in Adobe Help website.\n"
|
docs/DEVELOPER.md
CHANGED
@@ -268,6 +268,54 @@ ipdb # Available for interactive debugging
|
|
268 |
- `evaluate_rag.ipynb` for systematic evaluation
|
269 |
- Fine-tuning experiments in `Fine_Tuning_Embedding_for_PSTuts.ipynb`
|
270 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
271 |
## π Lazy Graph Initialization
|
272 |
|
273 |
The project uses a **lazy initialization pattern** for the LangGraph to avoid expensive compilation during module imports while maintaining compatibility with LangGraph Studio.
|
|
|
268 |
- `evaluate_rag.ipynb` for systematic evaluation
|
269 |
- Fine-tuning experiments in `Fine_Tuning_Embedding_for_PSTuts.ipynb`
|
270 |
|
271 |
+
## π·οΈ Versioning & Automated Tagging Workflow
|
272 |
+
|
273 |
+
This project uses **semantic versioning** and automated GitHub Actions to keep track of releases and make version management a breeze! π
|
274 |
+
|
275 |
+
### π¦ Where is the version stored?
|
276 |
+
- The current app version is stored in [`version.py`](../version.py) at the project root:
|
277 |
+
```python
|
278 |
+
__version__ = "1.0.0"
|
279 |
+
```
|
280 |
+
- This version is displayed to users in the app UI ("I'm Eva v.X.Y.Z...").
|
281 |
+
|
282 |
+
### πΌ How to bump the version
|
283 |
+
1. Edit `version.py` and update the `__version__` string (e.g., to `1.1.0`).
|
284 |
+
2. Commit the change to the `main` branch:
|
285 |
+
```bash
|
286 |
+
git add version.py
|
287 |
+
git commit -m "chore: Bump version to 1.1.0"
|
288 |
+
git push
|
289 |
+
```
|
290 |
+
|
291 |
+
### π€ What happens next? (GitHub Actions magic)
|
292 |
+
- On every push to `main` that changes `version.py`, a GitHub Actions workflow (`.github/workflows/tag-on-version.yml`) runs:
|
293 |
+
1. Extracts the version from `version.py`.
|
294 |
+
2. Checks if a tag `vX.Y.Z` already exists.
|
295 |
+
3. If not, creates and pushes a tag (e.g., `v1.1.0`) to the repo.
|
296 |
+
- The workflow uses the official [`actions/checkout`](https://github.com/actions/checkout) and is granted `contents: write` permission to push tags.
|
297 |
+
|
298 |
+
### π·οΈ Tags & Releases
|
299 |
+
- Tags are visible in the [GitHub Releases](../../releases) and [Tags](../../tags) pages.
|
300 |
+
- You can create a GitHub Release from any tag for changelogs, downloads, etc.
|
301 |
+
- The latest version is always shown in the README badge:
|
302 |
+

|
303 |
+
|
304 |
+
### π Example: Bumping the Version
|
305 |
+
```bash
|
306 |
+
# 1. Edit version.py to set __version__ = "1.2.0"
|
307 |
+
# 2. Commit and push to main
|
308 |
+
# 3. The workflow will create and push tag v1.2.0 automatically!
|
309 |
+
```
|
310 |
+
|
311 |
+
### π References
|
312 |
+
- [PEP 396 β Module Version Numbers](https://peps.python.org/pep-0396/)
|
313 |
+
- [GitHub Actions: Workflow syntax](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions)
|
314 |
+
- [GitHub Actions: GITHUB_TOKEN permissions](https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token)
|
315 |
+
- [shields.io: GitHub tag badge](https://shields.io/category/version)
|
316 |
+
|
317 |
+
---
|
318 |
+
|
319 |
## π Lazy Graph Initialization
|
320 |
|
321 |
The project uses a **lazy initialization pattern** for the LangGraph to avoid expensive compilation during module imports while maintaining compatibility with LangGraph Studio.
|
version.py
CHANGED
@@ -1 +1 @@
|
|
1 |
-
__version__ = "0.
|
|
|
1 |
+
__version__ = "1.0.0"
|