changed app name
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
**Vassal: Product and technical vision**
|
||||
**Vaessl: Product and technical vision**
|
||||
|
||||
# Product vision
|
||||
Vassal is an AI-powered bridge designed to connect physical reality to digital management systems. It functions as an intelligent intermediary that performs image analysis and semantic search, enriching raw data before "serving" it to a primary application via REST API.
|
||||
Vaessl is an AI-powered bridge designed to connect physical reality to digital management systems. It functions as an intelligent intermediary that performs image analysis and semantic search, enriching raw data before "serving" it to a primary application via REST API.
|
||||
|
||||
# Technical requirements & stack
|
||||
|
||||
@@ -17,7 +17,7 @@ Vassal is an AI-powered bridge designed to connect physical reality to digital m
|
||||
|
||||
- AI Orchestration: Spring AI
|
||||
|
||||
- AI Gateway: LiteLLM (A proxy container that allows Vassal to communicate with various LLM providers—such as Gemini, Claude, or local models—using a unified protocol).
|
||||
- AI Gateway: LiteLLM (A proxy container that allows Vaessl to communicate with various LLM providers—such as Gemini, Claude, or local models—using a unified protocol).
|
||||
|
||||
- Core Task: Managing the lifecycle of an item from initial photo upload to final API export.
|
||||
|
||||
@@ -28,29 +28,29 @@ Vassal is an AI-powered bridge designed to connect physical reality to digital m
|
||||
|
||||
# Functionality
|
||||
## Intelligent search
|
||||
Vassal does not rely on exact word matching. Because it stores data in a vector-capable database, users can search via Natural Language Prompts.
|
||||
Vaessl does not rely on exact word matching. Because it stores data in a vector-capable database, users can search via Natural Language Prompts.
|
||||
|
||||
Example: Searching for "tool to tighten a bolt" will return a "Wrench," even if the word "bolt" or "tighten" isn't in the item's title.
|
||||
|
||||
Process: The search prompt is converted into a vector by the AI, and Postgres performs a "Cosine Similarity" check to find the closest matches in the staging or history tables.
|
||||
|
||||
## Image processing workflow (Start to Finish)
|
||||
The image processing is the heart of Vassal's "bridge" functionality. It ensures data quality before it reaches your primary app.
|
||||
The image processing is the heart of Vaessl's "bridge" functionality. It ensures data quality before it reaches your primary app.
|
||||
|
||||
- Ingestion: When a photo is uploaded, the raw image and its initial metadata are saved into a temporary staging table in Postgres.
|
||||
|
||||
- Analysis: Vassal sends the image to the AI (via LiteLLM). The AI identifies the items and returns structured data (names, categories, coordinates).
|
||||
- Analysis: Vaessl sends the image to the AI (via LiteLLM). The AI identifies the items and returns structured data (names, categories, coordinates).
|
||||
|
||||
- Expansion: The database creates individual records for every detected item, linking them to the original source photo. These records are marked with a STAGED status.
|
||||
|
||||
- Refinement: The user interacts with the UI to edit, delete, or confirm the AI's findings. At this point, Spring AI generates a vector embedding of the final description and stores it in the pgvector column for future searching.
|
||||
|
||||
- Execution: Once the user hits "Confirm," Vassal maps the staged data to the target application's format (e.g., Homebox JSON) and pushes it via REST API.
|
||||
- Execution: Once the user hits "Confirm," Vaessl maps the staged data to the target application's format (e.g., Homebox JSON) and pushes it via REST API.
|
||||
|
||||
- Cleanup: Upon successful export, the staged record is either archived or removed from the local database, keeping the bridge lean.
|
||||
|
||||
## Deployment
|
||||
Vassal is deployed via Docker Compose for high portability.
|
||||
Vaessl is deployed via Docker Compose for high portability.
|
||||
|
||||
- Container 1: Next.js (Web UI)
|
||||
- Container 2: Spring Boot
|
||||
|
||||
Reference in New Issue
Block a user