Skip to content

Commit f25e169

Browse files
committed
feat: updated src code
1 parent fa8401d commit f25e169

File tree

5 files changed

+27
-6
lines changed

5 files changed

+27
-6
lines changed

json-dual.sql

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ insert into dept values (20,'RESEARCH','DALLAS');
2727
insert into dept values (30,'SALES','CHICAGO');
2828
insert into dept values (40,'OPERATIONS','BOSTON');
2929

30+
insert into dept values (50,'STORAGE','LOS ANGELES');
31+
insert into dept values (60,'HEADQUARTER','PHOENIX');
32+
insert into dept values (70,'LOGISTICS','SAN DIEGO');
33+
insert into dept values (80,'RETAIL','SEATTLE');
34+
3035
insert into emp values (7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,null,20);
3136
insert into emp values (7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30);
3237
insert into emp values (7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30);
@@ -41,6 +46,13 @@ insert into emp values (7876,'ADAMS','CLERK',7788,to_date('13-JUL-87', 'dd-mm-rr
4146
insert into emp values (7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,null,30);
4247
insert into emp values (7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,null,20);
4348
insert into emp values (7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,null,10);
49+
50+
insert into emp values (7544,'MICHAEL','ANALYST',7698,to_date('8-9-1982','dd-mm-yyyy'),1500,0,50);
51+
insert into emp values (7996,'HENRY','CLERK',7788,to_date('13-JUL-83', 'dd-mm-rr')-51,2100,null,60);
52+
insert into emp values (7977,'MARK','CLERK',7698,to_date('3-12-1985','dd-mm-yyyy'),1950,null,60);
53+
insert into emp values (7190,'ANDY','ANALYST',7566,to_date('3-12-1982','dd-mm-yyyy'),1000,null,70);
54+
insert into emp values (7230,'DOUG','CLERK',7782,to_date('23-2-1984','dd-mm-yyyy'),2000,null,70);
55+
insert into emp values (7276,'SANJAY','CLERK',7782,to_date('23-2-1984','dd-mm-yyyy'),1000,null,80);
4456
commit;
4557

4658
create or replace json relational duality view department_dv as

src/main/java/com/example/demoai/controller/DemoaiController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ public List<Map<String, Object>> search(@RequestBody MessageDTO message) {
203203
}
204204

205205
/**
206-
* Store a pdf file in Oracle Vector DB 23ai
206+
* Store a Json Duality view as documents: EXPERIMENTAL - NOT FULLY TESTED
207207
*
208208
* @param view the name of Json-Duality view already created in the DB
209209
* @return success/fail message

src/main/java/com/example/demoai/service/VectorService.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,10 @@
3030
import org.springframework.ai.reader.ExtractedTextFormatter;
3131
import org.springframework.ai.reader.JsonReader;
3232
import org.springframework.ai.reader.pdf.PagePdfDocumentReader;
33+
import org.springframework.ai.reader.pdf.ParagraphPdfDocumentReader;
3334
import org.springframework.ai.reader.pdf.config.PdfDocumentReaderConfig;
3435
import org.springframework.ai.transformer.splitter.TokenTextSplitter;
36+
import org.springframework.ai.vectorstore.SearchRequest;
3537
import org.springframework.ai.vectorstore.VectorStore;
3638
import org.springframework.beans.factory.annotation.Autowired;
3739
import org.springframework.beans.factory.annotation.Qualifier;
@@ -95,7 +97,8 @@ public class VectorService {
9597
public VectorStore getVectorStore() {
9698
return vectorStore;
9799
}
98-
100+
101+
//EXPERIMENTAL - NOT FULLY TESTED
99102
public Boolean putJsonView(String jsonView) {
100103

101104
String sqlStatement = "select DATA from " + jsonView;
@@ -148,8 +151,12 @@ public String rag(String question) {
148151

149152
String START = "\n<article>\n";
150153
String STOP = "\n</article>\n";
154+
155+
List<Document> similarDocuments = this.vectorStore.similaritySearch(
156+
SearchRequest.
157+
query(question).
158+
withTopK(4));
151159

152-
List<Document> similarDocuments = this.vectorStore.similaritySearch(question);
153160
Iterator<Document> iterator = similarDocuments.iterator();
154161
StringBuilder context = new StringBuilder();
155162
while (iterator.hasNext()) {

src/main/resources/application-dev.properties

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,17 @@ spring.ai.openai.api-key=${OPENAI_API_KEY}
22
spring.ai.openai.base-url=${OPENAI_URL}
33
spring.ai.openai.chat.options.model=${OPENAI_MODEL}
44
spring.ai.openai.embedding.options.model=${OPENAI_EMBEDDING_MODEL}
5-
spring.ai.openai.chat.options.temperature=0.3
6-
spring.datasource.url=jdbc:oracle:thin:@${VECTORDB}:1521/ORCLPDB1
5+
spring.ai.openai.chat.options.temperature=0.5
6+
#spring.datasource.url=jdbc:oracle:thin:@${VECTORDB}:1521/ORCLPDB1
7+
spring.datasource.url=jdbc:oracle:thin:@${VECTORDB}:1521/FREEPDB1
78
spring.datasource.username=${DB_USER}
89
spring.datasource.password=${DB_PASSWORD}
910
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
1011
config.tempDir=tempDir
1112
config.dropDb=true
1213
config.vectorDB=vectortable
1314
config.distance=EUCLIDEAN
15+
#config.distance=COSINE
1416
spring.servlet.multipart.max-file-size=10MB
1517
spring.servlet.multipart.max-request-size=20MB
1618
spring.ai.ollama.base-url=${OLLAMA_URL}

src/main/resources/application-prod.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ spring.ai.openai.api-key=${OPENAI_API_KEY}
22
spring.ai.openai.base-url=${OPENAI_URL}
33
spring.ai.openai.chat.options.model=${OPENAI_MODEL}
44
spring.ai.openai.embedding.options.model=${OPENAI_EMBEDDING_MODEL}
5-
spring.datasource.url=jdbc:oracle:thin:@${VECTORDB}:1521/ORCLPDB1
5+
spring.datasource.url=jdbc:oracle:thin:@${VECTORDB}:1521/FREEPDB1
66
spring.datasource.username=${DB_USER}
77
spring.datasource.password=${DB_PASSWORD}
88
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver

0 commit comments

Comments
 (0)