Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev to staging #930

Merged
merged 347 commits into from
Dec 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
347 commits
Select commit Hold shift + click to select a range
d1eda2b
added database
vasanthasaikalluri Sep 13, 2024
3c0a5df
modified is_entity
vasanthasaikalluri Sep 13, 2024
9e34919
modifies chunk entities
vasanthasaikalluri Sep 16, 2024
fa1ca36
Added secweb to fix security issues
praveshkumar1988 Sep 16, 2024
62f454d
removed QA integration
vasanthasaikalluri Sep 16, 2024
4c7821e
created neo4j from existing index
vasanthasaikalluri Sep 16, 2024
4206ec0
modified script
abhishekkumar-27 Sep 16, 2024
801745e
Integrate local search to chat details (#746)
prakriti-solankey Sep 16, 2024
596cdb7
Merge branch 'STAGING' into DEV
prakriti-solankey Sep 16, 2024
107f065
removal of unused code
prakriti-solankey Sep 16, 2024
8f0a706
removed entity label
vasanthasaikalluri Sep 16, 2024
bc09b86
Added Description to chat mode menu (#743)
prakriti-solankey Sep 16, 2024
337cd25
Update log_struct method to add severity
praveshkumar1988 Sep 16, 2024
dd89e0b
community check
prakriti-solankey Sep 16, 2024
6ed968d
Entity Empty Label fix and Icon
kartikpersistent Sep 17, 2024
9237847
Update Utils.ts
prakriti-solankey Sep 17, 2024
5f2290b
Retry processing - node and rels count update condition for start fro…
aashipandya Sep 17, 2024
fec0d1e
uncommented the Retry Processing
kartikpersistent Sep 17, 2024
dff7535
removed __Entity__ labels
vasanthasaikalluri Sep 17, 2024
e3bcf2b
spell fix
kartikpersistent Sep 17, 2024
a86dd12
fixed postprocessing method invoking issue for odd no files
kartikpersistent Sep 18, 2024
ba0957e
lint fix
kartikpersistent Sep 18, 2024
3fecf70
Added filesource and name in chunks
kartikpersistent Sep 18, 2024
d6b2e6a
Merge branch 'DEV' into communities
kartikpersistent Sep 18, 2024
57550b7
Preload=True remove from HSTS
praveshkumar1988 Sep 18, 2024
1695f19
Graph communities (#748)
prakriti-solankey Sep 18, 2024
f0810c7
aria label addition
prakriti-solankey Sep 18, 2024
a1dce53
Merge branch 'DEV' of https://github.com/neo4j-labs/llm-graph-builder…
prakriti-solankey Sep 18, 2024
869c87e
code improvements used URL class for host url check
kartikpersistent Sep 19, 2024
b2097e5
host level check
kartikpersistent Sep 19, 2024
3819118
Update Security header
praveshkumar1988 Sep 19, 2024
1246b41
encryption of localstorage values
kartikpersistent Sep 19, 2024
0ec6846
Merge branch 'communities' of https://github.com/neo4j-labs/llm-graph…
prakriti-solankey Sep 19, 2024
1709a16
'mode-selection-changes'
prakriti-solankey Sep 19, 2024
f84e5c3
Merge branch 'communities' of https://github.com/neo4j-labs/llm-graph…
prakriti-solankey Sep 19, 2024
389fa7f
added local chat history
vasanthasaikalluri Sep 19, 2024
4756647
Merge branch 'DEV' into communities
kartikpersistent Sep 19, 2024
9210bf8
added neo4j from existing index to entity vector mode
vasanthasaikalluri Sep 19, 2024
2711b0c
Merge branch 'communities' of https://github.com/neo4j-labs/llm-graph…
vasanthasaikalluri Sep 19, 2024
b5b8545
label changes
prakriti-solankey Sep 19, 2024
6d9ae8a
Merge branch 'communities' of https://github.com/neo4j-labs/llm-graph…
prakriti-solankey Sep 19, 2024
adf4106
commented security header
praveshkumar1988 Sep 19, 2024
8b6b930
Merge branch 'DEV' into communities
kartikpersistent Sep 20, 2024
060fd2d
Communities (#721)
prakriti-solankey Sep 20, 2024
cc62f50
added global env for communities
vasanthasaikalluri Sep 20, 2024
92450eb
Merge branch 'communities' of https://github.com/neo4j-labs/llm-graph…
prakriti-solankey Sep 20, 2024
3732c38
comment all security header
praveshkumar1988 Sep 20, 2024
763dedf
added threading to chat summarization to improve chat response time (…
vasanthasaikalluri Sep 20, 2024
27272f4
formatted the queries and added logic for empty label (#752)
vasanthasaikalluri Sep 20, 2024
00730d3
Commented youtube google api code
praveshkumar1988 Sep 20, 2024
8d210f6
Merge branch 'DEV' of https://github.com/neo4j-labs/llm-graph-builder…
praveshkumar1988 Sep 20, 2024
48c9f20
added the error handling for passowrd decrypt error
kartikpersistent Sep 23, 2024
9d89cb2
wordings changes
kartikpersistent Sep 24, 2024
69109f9
Exclude default labels from get_labels_and_relationtypes
praveshkumar1988 Sep 24, 2024
d41a920
Post-Processing-Alerts (#758)
kartikpersistent Sep 24, 2024
5303f5c
added write access check
vasanthasaikalluri Sep 25, 2024
91a4d30
added write access param
vasanthasaikalluri Sep 25, 2024
2ab06d6
added fulltext creation
vasanthasaikalluri Sep 25, 2024
9414f31
disabled the write and delete actions for read only user mode
kartikpersistent Sep 26, 2024
85112a9
Merge branch 'DEV' of https://github.com/neo4j-labs/llm-graph-builder…
kartikpersistent Sep 26, 2024
f116300
modified query
vasanthasaikalluri Sep 26, 2024
dbb77d6
test updates
abhishekkumar-27 Sep 23, 2024
6d0e18b
test uupdated
abhishekkumar-27 Sep 26, 2024
db02bfa
Read Only User Support (#766)
kartikpersistent Sep 26, 2024
c7460de
storing the gds status and write access on refresh
kartikpersistent Sep 26, 2024
501ece4
Merge branch 'local_chat_history' of https://github.com/neo4j-labs/ll…
kartikpersistent Sep 26, 2024
ba6a9d2
Langchain libs update (#769)
aashipandya Sep 27, 2024
3c2e344
fixed the rerendering of the table while file status is processing
kartikpersistent Sep 27, 2024
292ae9e
Merge branch 'DEV' of https://github.com/neo4j-labs/llm-graph-builder…
kartikpersistent Sep 27, 2024
0d93f57
fix: Read Only User Fix
kartikpersistent Sep 27, 2024
dc994a2
Global search fulltext (#767)
prakriti-solankey Sep 27, 2024
1180406
Added elapsed time for extarction on each breakdown function
praveshkumar1988 Sep 27, 2024
9206fc8
lint and format fixes
prakriti-solankey Sep 27, 2024
34537f7
Merge branch 'DEV' of https://github.com/neo4j-labs/llm-graph-builder…
prakriti-solankey Sep 27, 2024
0405816
removed dev logs
kartikpersistent Sep 27, 2024
c9844b7
communities fix
prakriti-solankey Sep 27, 2024
e4c3349
Merge branch 'DEV' of https://github.com/neo4j-labs/llm-graph-builder…
prakriti-solankey Sep 27, 2024
085a0e4
disabled the generate graph for read only user
kartikpersistent Sep 27, 2024
7813750
format fixes
kartikpersistent Sep 27, 2024
7cb7957
graph labels change
prakriti-solankey Sep 27, 2024
b7559ac
Merge branch 'DEV' of https://github.com/neo4j-labs/llm-graph-builder…
prakriti-solankey Sep 27, 2024
e0e97fb
added the readonly check for already added waiting files
kartikpersistent Sep 27, 2024
42f4c82
Retriever evaluation using RAGAS
kaustubh-darekar Sep 27, 2024
c8e8387
Merge branch 'DEV' of https://github.com/neo4j-labs/llm-graph-builder…
kaustubh-darekar Sep 27, 2024
e189ccd
Merge branch 'DEV' of https://github.com/neo4j-labs/llm-graph-builder…
kartikpersistent Sep 27, 2024
b663ff4
deleted unused file
kartikpersistent Sep 30, 2024
7c65344
code optimization using memo
kartikpersistent Sep 30, 2024
c69b708
Added elapsed_time on each api and getiing time per_entity
praveshkumar1988 Sep 30, 2024
393c53c
Added the post processing Alert showcasing the ongoing post processin…
kartikpersistent Oct 1, 2024
0dec005
fix: readonly user retry option disable
kartikpersistent Oct 1, 2024
ac3d88a
update script to get details of extarcted doc
abhishekkumar-27 Oct 3, 2024
83351ac
Issue fixed, Latency count per entity
praveshkumar1988 Oct 3, 2024
178dacb
Multiple chat modes selection (#780)
kartikpersistent Oct 4, 2024
1a33f0d
Fix: ChatModes DeSelection on FIle Selection
kartikpersistent Oct 7, 2024
e576055
Fix: Order of the chatmodes accordoing to selected chatmodes
kartikpersistent Oct 7, 2024
d1a56ca
Community optimization (#790)
vasanthasaikalluri Oct 9, 2024
7f255ee
Async way to create entities from multiple chunks (#788)
aashipandya Oct 9, 2024
943f539
fixed graph mode error (#792)
vasanthasaikalluri Oct 10, 2024
126dd48
Raga's Evaluation Metrics (#787)
kartikpersistent Oct 10, 2024
b8296e9
Openai gemini config (#794)
aashipandya Oct 10, 2024
b04f382
Added the user action for metrics table
kartikpersistent Oct 10, 2024
6aa84c7
Merge branch 'DEV' of https://github.com/neo4j-labs/llm-graph-builder…
kartikpersistent Oct 10, 2024
f97806c
Graph enhancements (#795)
prakriti-solankey Oct 10, 2024
ba95afd
format changes
prakriti-solankey Oct 10, 2024
0cc118d
Communities Bug fixes (#775)
prakriti-solankey Oct 10, 2024
fcb9ab5
llm name changes
kartikpersistent Oct 11, 2024
f505488
build fix
kartikpersistent Oct 11, 2024
37de220
default mode fix
kartikpersistent Oct 11, 2024
a538226
ragas model names update
kaustubh-darekar Oct 11, 2024
784caa6
lint fixes
kartikpersistent Oct 11, 2024
b814f71
Chunk Entities API condition
kartikpersistent Oct 11, 2024
69793a6
added the tooltip for unsupported lllms for ragas metric loading
kartikpersistent Oct 11, 2024
c5a3dbf
removed unused imports
kartikpersistent Oct 11, 2024
acdc886
multimode fix when we get error response
kartikpersistent Oct 11, 2024
2734c4a
mode changes for score display
prakriti-solankey Oct 11, 2024
cbd3f25
Merge branch 'DEV' of https://github.com/neo4j-labs/llm-graph-builder…
prakriti-solankey Oct 11, 2024
a12a6ab
fix: Fixed the details state handling between multiple chats
kartikpersistent Oct 15, 2024
ba091a0
Fix: Entity Mode Width Fix
kartikpersistent Oct 15, 2024
93c3dd3
diffbot fix for async (#797)
aashipandya Oct 15, 2024
821b0f4
Minor changes (#798)
vasanthasaikalluri Oct 15, 2024
702ebf7
New: Added the supported llm models for ragas evaluation
kartikpersistent Oct 15, 2024
3f1633c
Merge branch 'DEV' of https://github.com/neo4j-labs/llm-graph-builder…
kartikpersistent Oct 15, 2024
dcb3975
Fix: Communitites Tab is displayed based communitites length
kartikpersistent Oct 15, 2024
d3e5365
added the conversation download button (#800)
kartikpersistent Oct 15, 2024
0ff8bd1
model name correction
prakriti-solankey Oct 15, 2024
441908b
Merge branch 'STAGING' into DEV
prakriti-solankey Oct 15, 2024
09ea071
chatmode switch mode fix
kartikpersistent Oct 17, 2024
99dc052
Add API payload GCP logging (#805)
praveshkumar1988 Oct 18, 2024
a8f821a
Adding Links to get neighboring nodes (#796)
prakriti-solankey Oct 18, 2024
6c6da26
added error message for doc retriver (#807)
vasanthasaikalluri Oct 18, 2024
3d587f0
copy row (#803)
prakriti-solankey Oct 18, 2024
845bfb7
Raga's Evaluation For Multi Modes (#806)
kartikpersistent Oct 18, 2024
952291d
lint fixes
kartikpersistent Oct 18, 2024
f5a5edd
fix: multimode metrics state handling
kartikpersistent Oct 21, 2024
b3f1dd0
fix: Multimode metrics mode change state issue
kartikpersistent Oct 21, 2024
fb5e000
fix: list style fix
kartikpersistent Oct 21, 2024
fd224a1
Correct TYPO mistake
praveshkumar1988 Oct 21, 2024
cb77c18
added new env for ragas embedding model
vasanthasaikalluri Oct 21, 2024
986ae29
Merge branch 'DEV' of https://github.com/neo4j-labs/llm-graph-builder…
vasanthasaikalluri Oct 21, 2024
30d6ea8
Merge branch 'STAGING' into DEV
praveshkumar1988 Oct 21, 2024
5c0081e
Props name changes (#811)
kartikpersistent Oct 22, 2024
ee71002
test
prakriti-solankey Oct 22, 2024
c115014
view graph
prakriti-solankey Oct 22, 2024
c200b61
nodes count and relationshipcount updation fix
kartikpersistent Oct 22, 2024
1cc81ce
Merge branch 'STAGING' into DEV
kartikpersistent Oct 22, 2024
340679b
sourceUrl Fix
kartikpersistent Oct 22, 2024
055e40f
Merge branch 'DEV' of https://github.com/neo4j-labs/llm-graph-builder…
kartikpersistent Oct 22, 2024
fb35bda
empty string "" fix to keep the default values we should keep the val…
kartikpersistent Oct 23, 2024
ed18462
prop changes
kartikpersistent Oct 23, 2024
985993e
props changes
kartikpersistent Oct 23, 2024
220bee7
retry condition update for failed files (#820)
aashipandya Oct 23, 2024
0508585
Chat modes name changes (#815)
kartikpersistent Oct 23, 2024
9dba361
Youtube transcript fix with proxy (#822)
aashipandya Oct 23, 2024
6839e52
update script for async func
abhishekkumar-27 Oct 23, 2024
a5d29fa
ragas changes for graph retrieval mode. context added in api output (…
kaustubh-darekar Oct 24, 2024
cb59a2a
Remove extract latency from logging and add LIMIT in duplicate nodes
praveshkumar1988 Oct 24, 2024
93d7f3b
Document updates (#828)
kaustubh-darekar Oct 24, 2024
0d2882c
Update README.md
kartikpersistent Oct 24, 2024
6a6dc05
updated api structire in docs (#827)
vasanthasaikalluri Oct 24, 2024
29ef09b
Update backend_docs.adoc
karanchellani Oct 24, 2024
c5cd025
821 llm model listing (#823)
prakriti-solankey Oct 24, 2024
dfbb042
Merge branch 'STAGING' into DEV
kartikpersistent Oct 24, 2024
4bed352
Exclude session lable node from duplicate nodes list
praveshkumar1988 Oct 25, 2024
3dfb42b
Added the tooltip for disabled llm option (#835)
kartikpersistent Oct 25, 2024
4d795bf
node size changes
prakriti-solankey Oct 25, 2024
1fac375
mode removal of rows check
prakriti-solankey Oct 25, 2024
eb14fbe
formatting
prakriti-solankey Oct 25, 2024
0331cc7
Merge branch 'STAGING' into DEV
prakriti-solankey Oct 25, 2024
5cd9724
Exclude __Entity__ node label from duplicate node list
praveshkumar1988 Oct 25, 2024
70cb004
Update README.md
kartikpersistent Oct 28, 2024
bf51e78
Update README.md
kartikpersistent Oct 29, 2024
76b325c
Update README.md
kartikpersistent Oct 29, 2024
1d607bc
fixed the youtube link
kartikpersistent Oct 30, 2024
d8af5a5
Security header and GZIPMiddleware (#847)
praveshkumar1988 Nov 8, 2024
358d5a6
Chunk Text Details (#850)
kaustubh-darekar Nov 8, 2024
6d35a34
Communities Id to Title (#851)
prakriti-solankey Nov 8, 2024
cd6b4c2
disconnected nodes (#852)
prakriti-solankey Nov 8, 2024
282cfa0
loading changes
prakriti-solankey Nov 8, 2024
399785f
loading changes
prakriti-solankey Nov 8, 2024
686ed95
Update score.py
karanchellani Nov 11, 2024
4f1af18
added middleware
kartikpersistent Nov 12, 2024
1c29940
removed the unused state
kartikpersistent Nov 12, 2024
1d14749
Youtube timestamp (#877)
aashipandya Nov 14, 2024
d6f4ac6
Handled Nonetype error during global search. (#876)
kaustubh-darekar Nov 14, 2024
a5a989d
Additional metrics using ground truth (#855)
kartikpersistent Nov 15, 2024
f8a48d1
Url changes and state management (#870)
prakriti-solankey Nov 15, 2024
4da75b9
removed unused prop
kartikpersistent Nov 18, 2024
f143e9b
chat mode width fix
kartikpersistent Nov 18, 2024
8928ecb
Table selection Fix
kartikpersistent Nov 18, 2024
823faa0
Table issue (#885)
kartikpersistent Nov 18, 2024
ff63ca5
Logging properties update, remove payload json
praveshkumar1988 Nov 18, 2024
9a50138
fix: readme typos (#887)
marcoscannabrava Nov 19, 2024
cd6cbee
Break down nodes (#881)
kartikpersistent Nov 20, 2024
95eaf19
youtube url fix
kartikpersistent Nov 20, 2024
39e2807
Commented CSP middleware and added endpoint backend_connection_config…
praveshkumar1988 Nov 20, 2024
65c21ca
Merge branch 'DEV' of https://github.com/neo4j-labs/llm-graph-builder…
praveshkumar1988 Nov 20, 2024
c7b4dc0
added csp header
kartikpersistent Nov 20, 2024
f244b9f
removed the useEffect
kartikpersistent Nov 21, 2024
9d17ec1
Table issue (#888)
prakriti-solankey Nov 21, 2024
86c33ba
key fix
kartikpersistent Nov 21, 2024
09df9e6
Update README.md
kartikpersistent Nov 22, 2024
5610247
Update README.md
kartikpersistent Nov 22, 2024
a247d75
Update README.md
kartikpersistent Nov 22, 2024
69d46ab
removed extra document nodes and combine chunk logic (#894)
aashipandya Nov 22, 2024
4721318
Update README.md
prakriti-solankey Nov 22, 2024
ab0405f
Update README.md
kartikpersistent Nov 22, 2024
9628b6d
conditional deployment based on the enviornment
kartikpersistent Nov 22, 2024
009bc0c
Merge branch 'DEV' of https://github.com/neo4j-labs/llm-graph-builder…
kartikpersistent Nov 22, 2024
03526a4
Update README.md
kartikpersistent Nov 22, 2024
8562880
Update README.md
kartikpersistent Nov 22, 2024
c5603e6
removed the reference answer checkbox and textarea while additional m…
kartikpersistent Nov 22, 2024
7e8df27
Merge branch 'DEV' of https://github.com/neo4j-labs/llm-graph-builder…
kartikpersistent Nov 22, 2024
21e8855
LLM_MODELS
kartikpersistent Nov 22, 2024
33354f3
re process feature state renaming (#898)
kartikpersistent Nov 25, 2024
9e8ffca
Community Counts after post processing (#890)
kaustubh-darekar Nov 25, 2024
8af533c
format and checked fixes (#897)
prakriti-solankey Nov 25, 2024
4e20384
added info to show 50 chunks processing (#899)
prakriti-solankey Nov 26, 2024
b117df8
format and lint fixes
kartikpersistent Nov 26, 2024
f76d684
Env changes (#896)
prakriti-solankey Nov 26, 2024
63325f9
Update Content.tsx
kartikpersistent Nov 26, 2024
1992de7
Update Content.tsx
kartikpersistent Nov 26, 2024
3e34874
build fix
kartikpersistent Nov 27, 2024
22a57c5
communitifiles array check
kartikpersistent Nov 27, 2024
08a9755
combining one chunk (#901)
aashipandya Nov 28, 2024
3774a86
Delete query refined to delete all related nodes of file (#904)
kaustubh-darekar Nov 28, 2024
bf7b739
readonly change
prakriti-solankey Nov 28, 2024
f4e593e
Prod v6 fix (#909)
prakriti-solankey Dec 2, 2024
6b3c9c9
enable_communities flag removed in backend (#906)
kaustubh-darekar Dec 2, 2024
47a2db7
added multimode metrics for json and fix for gemini ground truth metrics
kartikpersistent Dec 3, 2024
40ac628
Enhancement default model selection (#911)
kartikpersistent Dec 3, 2024
9d023a4
Bug Fixing (#916)
prakriti-solankey Dec 3, 2024
b85d31e
Update documentation (#915)
kaustubh-darekar Dec 3, 2024
9784090
Updating langchain-neo4j package (#891)
kaustubh-darekar Dec 3, 2024
b09131e
gcs file existance check and reprocess from last processed position c…
aashipandya Dec 3, 2024
6e9edce
format and lint fixes
kartikpersistent Dec 4, 2024
c5d1532
Merge branch 'STAGING' into DEV
prakriti-solankey Dec 4, 2024
7dd80f9
Merge branch 'STAGING' of https://github.com/neo4j-labs/llm-graph-bui…
kartikpersistent Dec 4, 2024
a9420ae
updated requirements (#923)
aashipandya Dec 4, 2024
8ce1693
Update Constants.ts
kartikpersistent Dec 5, 2024
cc3dc3d
Metric table issues (#921)
kartikpersistent Dec 5, 2024
bad6389
elementid if no id is there
prakriti-solankey Dec 5, 2024
992fa9f
backenapi for all env
prakriti-solankey Dec 5, 2024
7b3b1b4
Bug fixing for Icon (#924)
prakriti-solankey Dec 5, 2024
fc85b45
diffbot placement
prakriti-solankey Dec 5, 2024
fac07e3
Update MultiModeMetrics.tsx
kartikpersistent Dec 5, 2024
0fa4d84
libmagic1 library added
aashipandya Dec 5, 2024
a86e07f
Document read me update (#926)
prakriti-solankey Dec 6, 2024
98cfc3c
metric table and default model fixes
kartikpersistent Dec 9, 2024
b671189
Updated code for duplicate nodes and index dimension mismatch (#929)
kaustubh-darekar Dec 10, 2024
c431903
Merge branch 'STAGING' into DEV
kartikpersistent Dec 10, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 9 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Upload your files from local machine, GCS or S3 bucket or from web sources, choo
- **Knowledge Graph Creation**: Transform unstructured data into structured knowledge graphs using LLMs.
- **Providing Schema**: Provide your own custom schema or use existing schema in settings to generate graph.
- **View Graph**: View graph for a particular source or multiple sources at a time in Bloom.
- **Chat with Data**: Interact with your data in a Neo4j database through conversational queries, also retrieve metadata about the source of response to your queries.
- **Chat with Data**: Interact with your data in a Neo4j database through conversational queries, also retrieve metadata about the source of response to your queries.For a dedicated chat interface, access the standalone chat application at: [Chat-Only](https://dev-frontend-dcavk67s4a-uc.a.run.app/chat-only). This link provides a focused chat experience for querying your data.

## Getting started

Expand All @@ -37,12 +37,6 @@ EX:
VITE_LLM_MODELS_PROD="openai_gpt_4o,openai_gpt_4o_mini,diffbot,gemini_1.5_flash"
```

In your root folder, create a .env file with your OPENAI and DIFFBOT keys (if you want to use both):
```env
OPENAI_API_KEY="your-openai-key"
DIFFBOT_API_KEY="your-diffbot-key"
```

if you only want OpenAI:
```env
VITE_LLM_MODELS_PROD="diffbot,openai-gpt-3.5,openai-gpt-4o"
Expand Down Expand Up @@ -102,9 +96,13 @@ Alternatively, you can run the backend and frontend separately:
```

- For the backend:
1. Create the backend/.env file by copy/pasting the backend/example.env.
2. Change values as needed
3.
1. Create the backend/.env file by copy/pasting the backend/example.env. To streamline the initial setup and testing of the application, you can preconfigure user credentials directly within the .env file. This bypasses the login dialog and allows you to immediately connect with a predefined user.
- **NEO4J_URI**:
- **NEO4J_USERNAME**:
- **NEO4J_PASSWORD**:
- **NEO4J_DATABASE**:
3. Change values as needed
4.
```bash
cd backend
python -m venv envName
Expand Down Expand Up @@ -202,7 +200,7 @@ VITE_BACKEND_API_URL=${VITE_BACKEND_API_URL-backendurl}


## Usage
1. Connect to Neo4j Aura Instance which can be both AURA DS or AURA DB by passing URI and password or using Neo4j credentials file.
1. Connect to Neo4j Aura Instance which can be both AURA DS or AURA DB by passing URI and password through Backend env, fill using login dialog or drag and drop the Neo4j credentials file.
2. To differntiate we have added different icons. For AURA DB we have a database icon and for AURA DS we have scientific molecule icon right under Neo4j Connection details label.
3. Choose your source from a list of Unstructured sources to create graph.
4. Change the LLM (if required) from drop down, which will be used to generate graph.
Expand Down
6 changes: 3 additions & 3 deletions backend/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,11 @@ http://127.0.0.1:8000/redocs for ReDoc.

## Configuration

Update the environment variable in `.env` file.
Update the environment variable in `.env` file. Refer example.env in backend folder for more config.

`OPENAI_API_KEY`: Open AI key to use LLM
`OPENAI_API_KEY`: Open AI key to use incase of openai embeddings

`DIFFBOT_API_KEY` : Diffbot API key to use DiffbotGraphTransformer
`EMBEDDING_MODEL` : "all-MiniLM-L6-v2" or "openai" or "vertexai"

`NEO4J_URI` : Neo4j URL

Expand Down
3 changes: 1 addition & 2 deletions backend/example.env
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
OPENAI_API_KEY = ""
DIFFBOT_API_KEY = ""
GROQ_API_KEY = ""
#EMBEDDING_MODEL can be openai or vertexai or by default all-MiniLM-L6-v2
EMBEDDING_MODEL = "all-MiniLM-L6-v2"
RAGAS_EMBEDDING_MODEL = "openai"
IS_EMBEDDING = "true"
Expand Down
2 changes: 1 addition & 1 deletion backend/src/graphDB_dataAccess.py
Original file line number Diff line number Diff line change
Expand Up @@ -362,7 +362,7 @@ def get_duplicate_nodes_list(self):
score_value = float(os.environ.get('DUPLICATE_SCORE_VALUE'))
text_distance = int(os.environ.get('DUPLICATE_TEXT_DISTANCE'))
query_duplicate_nodes = """
MATCH (n:!Chunk&!Session&!Document&!`__Community__`&!`__Entity__`) with n
MATCH (n:!Chunk&!Session&!Document&!`__Community__`) with n
WHERE n.embedding is not null and n.id is not null // and size(toString(n.id)) > 3
WITH n ORDER BY count {{ (n)--() }} DESC, size(toString(n.id)) DESC // updated
WITH collect(n) as nodes
Expand Down
10 changes: 5 additions & 5 deletions backend/src/make_relationships.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,12 +68,12 @@ def update_embedding_create_vector_index(graph, chunkId_chunkDoc_list, file_name
# "embeddings" : embeddings_arr
# }
# )
# logging.info('create vector index on chunk embedding')
result = graph.query("SHOW INDEXES YIELD * WHERE labelsOrTypes = ['__Chunk__'] and name = 'vector'")
logging.info('create vector index on chunk embedding')
# result = graph.query("SHOW INDEXES YIELD * WHERE labelsOrTypes = ['Chunk'] and name = 'vector'")
vector_index = graph.query("SHOW INDEXES YIELD * WHERE labelsOrTypes = ['Chunk'] and type = 'VECTOR' AND name = 'vector' return options")
if result:
logging.info(f"vector index dropped for 'Chunk'")
graph.query("DROP INDEX vector IF EXISTS;")
# if result:
# logging.info(f"vector index dropped for 'Chunk'")
# graph.query("DROP INDEX vector IF EXISTS;")

if len(vector_index) == 0:
logging.info(f'vector index is not exist, will create in next query')
Expand Down
6 changes: 5 additions & 1 deletion backend/src/post_processing.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,10 @@ def create_fulltext(driver,type):

def create_vector_fulltext_indexes(uri, username, password, database):
types = ["entities", "hybrid"]
embedding_model = os.getenv('EMBEDDING_MODEL')
embeddings, dimension = load_embedding_model(embedding_model)
if not dimension:
dimension = CHUNK_VECTOR_EMBEDDING_DIMENSION
logging.info("Starting the process of creating full-text indexes.")

try:
Expand All @@ -144,7 +148,7 @@ def create_vector_fulltext_indexes(uri, username, password, database):

try:
logging.info(f"Creating a vector index for type '{CHUNK_VECTOR_INDEX_NAME}'.")
create_vector_index(driver, CHUNK_VECTOR_INDEX_NAME,CHUNK_VECTOR_EMBEDDING_DIMENSION)
create_vector_index(driver, CHUNK_VECTOR_INDEX_NAME,dimension)
logging.info("Vector index for chunk created successfully.")
except Exception as e:
logging.error(f"Failed to create vector index for '{CHUNK_VECTOR_INDEX_NAME}': {e}")
Expand Down
8 changes: 4 additions & 4 deletions frontend/src/components/ChatBot/ChatInfoModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -96,16 +96,16 @@ const ChatInfoModal: React.FC<chatInfoMessage> = ({
const [enableReference, toggleReferenceVisibility] = useReducer((state: boolean) => !state, false);
const textAreaRef = useRef<HTMLTextAreaElement>(null);
const [isAdditionalMetricsEnabled, setIsAdditionalMetricsEnabled] = useState<boolean | null>(
multiModelMetrics.length > 0 && Object.keys(multiModelMetrics[0]).length > 3
multiModelMetrics.length > 0 && Object.keys(multiModelMetrics[0]).length > 4
? true
: multiModelMetrics.length > 0 && Object.keys(multiModelMetrics[0]).length <= 3
: multiModelMetrics.length > 0 && Object.keys(multiModelMetrics[0]).length <= 4
? false
: null
);
const [isAdditionalMetricsWithSingleMode, setIsAdditionalMetricsWithSingleMode] = useState<boolean | null>(
metricDetails != undefined && Object.keys(metricDetails).length > 2
metricDetails != undefined && Object.keys(metricDetails).length > 3
? true
: metricDetails != undefined && Object.keys(metricDetails).length <= 2
: metricDetails != undefined && Object.keys(metricDetails).length <= 3
? false
: null
);
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/ChatBot/Chatbot.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -578,7 +578,7 @@ const Chatbot: FC<ChatbotProps> = (props) => {
}}
onClose={() => setShowInfoModal(false)}
isOpen={showInfoModal}
size={activeChat?.currentMode === chatModeLables['entity search+vector'] ? 'large' : 'medium'}
size={'large'}
>
<div style={{ display: 'flex', justifyContent: 'flex-end', alignItems: 'center' }}>
<IconButton
Expand Down
155 changes: 133 additions & 22 deletions frontend/src/components/ChatBot/MultiModeMetrics.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
getPaginationRowModel,
} from '@tanstack/react-table';
import { capitalize } from '../../utils/Utils';
import { useContext, useEffect, useMemo, useRef } from 'react';
import { useContext, useMemo, useRef } from 'react';
import { Banner, Box, DataGrid, DataGridComponents, Flex, IconButton, Popover, Typography } from '@neo4j-ndl/react';
import { multimodelmetric } from '../../types';
import { ThemeWrapperContext } from '../../context/ThemeWrapper';
Expand Down Expand Up @@ -47,6 +47,7 @@ export default function MultiModeMetrics({
},
header: () => <span>Mode</span>,
footer: (info) => info.column.id,
maxSize: 150,
}),
columnHelper.accessor((row) => row.answer_relevancy as number, {
id: 'Answer Relevancy',
Expand Down Expand Up @@ -74,6 +75,7 @@ export default function MultiModeMetrics({
</Popover>
</Flex>
),
maxSize: 150,
}),
columnHelper.accessor((row) => row.faithfulness as number, {
id: 'Faithfullness',
Expand Down Expand Up @@ -101,6 +103,7 @@ export default function MultiModeMetrics({
</Popover>
</Flex>
),
maxSize: 150,
}),
columnHelper.accessor((row) => row.context_entity_recall as number, {
id: 'Entity Recall Score',
Expand Down Expand Up @@ -128,6 +131,7 @@ export default function MultiModeMetrics({
</Popover>
</Flex>
),
maxSize: 150,
}),
columnHelper.accessor((row) => row.semantic_score as number, {
id: 'Semantic Score',
Expand Down Expand Up @@ -155,6 +159,7 @@ export default function MultiModeMetrics({
</Popover>
</Flex>
),
maxSize: 150,
}),
columnHelper.accessor((row) => row.rouge_score as number, {
id: 'Rouge Score',
Expand Down Expand Up @@ -182,30 +187,136 @@ export default function MultiModeMetrics({
</Popover>
</Flex>
),
maxSize: 150,
}),
],
[]
);
const table = useReactTable({
data,
columns,
getCoreRowModel: getCoreRowModel(),
getFilteredRowModel: getFilteredRowModel(),
getPaginationRowModel: getPaginationRowModel(),
enableGlobalFilter: false,
autoResetPageIndex: false,
enableColumnResizing: true,
enableRowSelection: true,
enableMultiRowSelection: true,
enableSorting: false,
});
useEffect(() => {
if (isWithAdditionalMetrics === false) {
table.setColumnVisibility({ 'Semantic Score': false, 'Rouge Score': false });
} else {
table.resetColumnVisibility(true);
}
}, [isWithAdditionalMetrics, table]);

const columnswithoutSemanticAndRougeScores = useMemo(
() => [
columnHelper.accessor((row) => row.mode, {
id: 'Mode',
cell: (info) => {
const metric = info.getValue();
const capitilizedMetric = metric.includes('_')
? metric
.split('_')
.map((w) => capitalize(w))
.join(' ')
: capitalize(metric);
return (
<div className='textellipsis'>
<span title={metric}>{capitilizedMetric}</span>
</div>
);
},
header: () => <span>Mode</span>,
footer: (info) => info.column.id,
maxSize: 150,
}),
columnHelper.accessor((row) => row.answer_relevancy as number, {
id: 'Answer Relevancy',
cell: (info) => {
const value = isNaN(info.getValue()) ? 'N.A' : info.getValue()?.toFixed(2);
if (value === 'N.A') {
return <NotAvailableMetric />;
}
return <Typography variant='body-medium'>{value}</Typography>;
},
header: () => (
<Flex flexDirection='row' alignItems='center'>
<span>Relevancy</span>
<Popover placement='top-middle-bottom-middle' hasAnchorPortal={true}>
<Popover.Trigger hasButtonWrapper>
<IconButton size='small' isClean ariaLabel='infoicon'>
<InformationCircleIconOutline />
</IconButton>
</Popover.Trigger>
<Popover.Content className='p-2'>
<Typography variant='body-small'>
Determines How well the answer addresses the user's question.
</Typography>
</Popover.Content>
</Popover>
</Flex>
),
}),
columnHelper.accessor((row) => row.faithfulness as number, {
id: 'Faithfullness',
cell: (info) => {
const value = isNaN(info.getValue()) ? 'N.A' : info.getValue()?.toFixed(2);
if (value === 'N.A') {
return <NotAvailableMetric />;
}
return <Typography variant='body-medium'>{value}</Typography>;
},
header: () => (
<Flex flexDirection='row' alignItems='center'>
<span>Faithful</span>
<Popover placement='top-middle-bottom-middle' hasAnchorPortal={true}>
<Popover.Trigger hasButtonWrapper>
<IconButton size='small' isClean ariaLabel='infoicon'>
<InformationCircleIconOutline />
</IconButton>
</Popover.Trigger>
<Popover.Content className='p-2'>
<Typography variant='body-small'>
Determines How accurately the answer reflects the provided information.
</Typography>
</Popover.Content>
</Popover>
</Flex>
),
}),
columnHelper.accessor((row) => row.context_entity_recall as number, {
id: 'Entity Recall Score',
cell: (info) => {
const value = isNaN(info.getValue()) ? 'N.A' : info.getValue()?.toFixed(2);
if (value === 'N.A') {
return <NotAvailableMetric />;
}
return <Typography variant='body-medium'>{value}</Typography>;
},
header: () => (
<Flex flexDirection='row' alignItems='center'>
<span>Context</span>
<Popover placement='top-middle-bottom-middle' hasAnchorPortal={true}>
<Popover.Trigger hasButtonWrapper>
<IconButton size='small' isClean ariaLabel='infoicon'>
<InformationCircleIconOutline />
</IconButton>
</Popover.Trigger>
<Popover.Content className='p-2'>
<Typography variant='body-small'>
Determines the recall of entities present in both generated answer and retrieved contexts.
</Typography>
</Popover.Content>
</Popover>
</Flex>
),
}),
],
[]
);
const config = useMemo(
() => ({
data,
columns: !isWithAdditionalMetrics ? columnswithoutSemanticAndRougeScores : columns,
getCoreRowModel: getCoreRowModel(),
getFilteredRowModel: getFilteredRowModel(),
getPaginationRowModel: getPaginationRowModel(),
enableGlobalFilter: false,
autoResetPageIndex: false,
enableColumnResizing: true,
enableRowSelection: true,
enableMultiRowSelection: true,
enableSorting: false,
}),
[isWithAdditionalMetrics]
);
const table = useReactTable(config);


return (
<Box>
Expand All @@ -226,7 +337,7 @@ export default function MultiModeMetrics({
}}
isAutoResizingColumns={true}
isLoading={metricsLoading}
rootProps={{ className: isWithAdditionalMetrics === false ? '!w-[465px]' : 'auto' }}
// rootProps={{ className: isWithAdditionalMetrics === false ? '!w-[465px]' : 'auto' }}
components={{
Body: () => (
<DataGridComponents.Body
Expand Down
1 change: 1 addition & 0 deletions frontend/src/components/FileTable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ const FileTable = forwardRef<ChildRef, FileTableProps>((props, ref) => {
return (
<div className='px-1'>
<Checkbox
ariaLabel='row-selection'
isChecked={row.getIsSelected()}
isDisabled={
!row.getCanSelect() ||
Expand Down
10 changes: 8 additions & 2 deletions frontend/src/components/Layout/DrawerDropzone.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,15 @@ const DrawerDropzone: React.FC<DrawerProps> = ({

return (
<div className='flex min-h-[calc(-58px+100vh)] relative'>
<Drawer isExpanded={isExpanded} position='left' type='push' isCloseable={false}>
<Drawer
isExpanded={isExpanded}
position='left'
type='push'
isCloseable={false}
htmlAttributes={{ style: { height: 'intial' } }}
>
{!isReadOnlyUser ? (
<Drawer.Body className={`!overflow-hidden !w-[294px]`} htmlAttributes={{ style: { height: 'intial' } }}>
<Drawer.Body className={`!overflow-hidden !w-[294px]`}>
{alertState.showAlert && (
<CustomAlert
severity={alertState.alertType}
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/UI/ButtonWithToolTip.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ const ButtonWithToolTip = ({
const [isHovered, setIsHovered] = useState<boolean>(false);
return (
<Tooltip placement={placement} type='simple'>
<Tooltip.Trigger>
<Tooltip.Trigger hasButtonWrapper>
<Button
size={size}
onClick={onClick}
Expand Down
Loading
Loading