mirror of
https://github.com/hoshikawa2/rfp_response_automation.git
synced 2026-03-06 10:11:08 +00:00
first commit
This commit is contained in:
37
README.md
37
README.md
@@ -64,15 +64,23 @@ Each question is parsed into a structured requirement:
|
||||
Facts are extracted **only when explicitly stated** in documentation and stored as graph triples:
|
||||
|
||||
```
|
||||
REQUIREMENT -[HAS_METRIC]-> messages per hour
|
||||
REQUIREMENT -[HAS_VALUE]-> < 1 hour
|
||||
REQUIREMENT -[SUPPORTED_BY]-> Document section
|
||||
SERVICE -[SUPPORTS_CAPABILITY]-> CAPABILITY
|
||||
SERVICE -[DOES_NOT_SUPPORT]-> CAPABILITY
|
||||
SERVICE -[HAS_LIMITATION]-> LIMITATION
|
||||
SERVICE -[HAS_SLA]-> SLA_VALUE
|
||||
```
|
||||
|
||||
There are three types of information:
|
||||
- What metric: HAS_METRIC
|
||||
- Value of metric: HAS_VALUE
|
||||
- Font of information: SUPPORTED_BY
|
||||
There are four types of structured relationships extracted explicitly from documentation:
|
||||
* Capability support: SERVICE -[SUPPORTS_CAPABILITY]-> CAPABILITY
|
||||
* Capability exclusion: SERVICE -[DOES_NOT_SUPPORT]-> CAPABILITY
|
||||
* Technical limitation: SERVICE -[HAS_LIMITATION]-> LIMITATION
|
||||
* Service level definition: SERVICE -[HAS_SLA]-> SLA_VALUE
|
||||
|
||||
Each relationship is:
|
||||
* Extracted strictly from explicit documentary evidence
|
||||
* Linked to a specific document chunk (CHUNK_HASH)
|
||||
* Associated with structured JSON node properties
|
||||
* Backed by an evidence table for full auditability
|
||||
|
||||
This ensures:
|
||||
- No hallucination
|
||||
@@ -178,7 +186,7 @@ POST /chat
|
||||
|
||||
This code implements a **GraphRAG-based pipeline focused on RFP (Request for Proposal) validation**, not generic Q&A.
|
||||
|
||||
>**Download** the code [graphrag_rerank.py](./files/graphrag_rerank.py)
|
||||
>**Download** here the [Source Code](./files/source_code.zip)
|
||||
|
||||
The main goal is to:
|
||||
- Extract **explicit, verifiable facts** from large PDF contracts and datasheets
|
||||
@@ -212,7 +220,7 @@ This represents a **strategic shift** from concept-based LLM answers to **compli
|
||||
- `REQUIREMENT -[HAS_VALUE]-> 1 hour`
|
||||
- Stored in Oracle Property Graph tables
|
||||
|
||||

|
||||

|
||||
|
||||
5. **RFP Requirement Parsing**
|
||||
- Each user question is converted into a structured requirement:
|
||||
@@ -294,8 +302,7 @@ FIrst of all, you need to run the code to prepare the Vector and Graph database.
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
After the execution, the code will chat with you to test. You can give some questions like:
|
||||
|
||||
@@ -368,13 +375,13 @@ root
|
||||
|
||||
Call the http://localhost:8100 in your browser.
|
||||
|
||||

|
||||

|
||||
|
||||
There is also a REST Service implemented in the code, so you can automatize a RFP list calling item by item and obtain the responses you want: YES/NO
|
||||
|
||||
curl -X POST http://localhost:8100/chat \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"question": "What is the RTO of Oracle Application?"}'
|
||||
curl -X POST http://demo-orcl-api-ai.hoshikawa.com.br:8100/rest/chat \
|
||||
-H "Content-Type: application/json" -u app_user:app_password \
|
||||
-d '{ "question": "Does Oracle Cloud Infrastructure (OCI) Compute support online resizing of memory for running virtual machine instances?" }'
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user