You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+102Lines changed: 102 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,3 +39,105 @@ Licensed under the Universal Permissive License (UPL), Version 1.0.
39
39
See [LICENSE](LICENSE.txt) for more details.
40
40
41
41
ORACLE AND ITS AFFILIATES DO NOT PROVIDE ANY WARRANTY WHATSOEVER, EXPRESS OR IMPLIED, FOR ANY SOFTWARE, MATERIAL OR CONTENT OF ANY KIND CONTAINED OR PRODUCED WITHIN THIS REPOSITORY, AND IN PARTICULAR SPECIFICALLY DISCLAIM ANY AND ALL IMPLIED WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. FURTHERMORE, ORACLE AND ITS AFFILIATES DO NOT REPRESENT THAT ANY CUSTOMARY SECURITY REVIEW HAS BEEN PERFORMED WITH RESPECT TO ANY SOFTWARE, MATERIAL OR CONTENT CONTAINED OR PRODUCED WITHIN THIS REPOSITORY. IN ADDITION, AND WITHOUT LIMITING THE FOREGOING, THIRD PARTIES MAY HAVE POSTED SOFTWARE, MATERIAL OR CONTENT TO THIS REPOSITORY WITHOUT ANY REVIEW. USE AT YOUR OWN RISK.
42
+
## Deployment Steps
43
+
44
+
1. Deploy Terraform Script
45
+
2. Configure Business App
46
+
- Configure Business DB
47
+
- Configure Trust DB
48
+
3. Configure IDCS App
49
+
4. Configure API Gateway
50
+
5. Configure Trust App
51
+
6. Configure ODA Skills
52
+
7. Configure VB Apps
53
+
54
+
### TBD
55
+
8. Deploy Trust Framework
56
+
9. Deploy APEX
57
+
58
+
## Overview
59
+
60
+
I ran a dry deployment using the cleaned repo on our tenancy. Listed are some of my findings & outstanding questions.
61
+
62
+
- I was able to get the client business app deployed on our tenancy. A few things I noticed -
63
+
- The code expects a llama model, at least for the on demand configuration
64
+
- Would have to be refactored if using e.g. cohere on demand
65
+
- The existing documentation suggests deploying api gateway on private subnet due to lack of authentication.
66
+
- I was able to deploy the api gateway on public subnet with oauth2.0 authentication to idcs server and invoke from oda with token, so not sure why private subnet deployment for api gateway is suggested
67
+
- The existing code expects api keys and wallets configured directly on the server, at least for the client business engine
68
+
- Redis is required but no instructions given
69
+
- There was no example data given for the vendors table, so I exported the table from the main deployment as a csv and imported to ours
70
+
- Vendors table is for client business db
71
+
- How do we want to provide this csv?
72
+
- The business app is dependent on the trust db (trust library), i.e. the trusted prompts, which isn't intuitive
73
+
- The code expects the TRUST_LIBRARY table to have at least one entry, otherwise it bombs
74
+
- I provided a sample entry in the sql file
75
+
The sql for the client business db is outside the clientapp directory, & there are no instructions given on which db to upload to (upload to business db)
76
+
77
+
The business app is exposed on an API Gateway with the main entry /prompt, which maps to <business-app-ip>:8000... this will be used by ODA app.
78
+
79
+
There are a handful of files required and provided within the repo, but no instructions on how/when to use them.
80
+
Examples include :
81
+
1. Under sql, nl2sql_datamodel_schema.sql needds to be ran in the trust database
82
+
- Was able to run the client engine without the sql/sample_setup_ras.sql file.
83
+
- This is a prequisite to run the business client engine, which isn't intuitive
84
+
2. Within the rest (trust) directory there are docker files... I think we can remove these?
85
+
- Haven't tested full trust deployment yet.
86
+
87
+
Some files I don't think are necessary at all
88
+
1. autoprompt
89
+
2. mkdocs... this is documentation we can perhaps repurpose (at least the md files)
90
+
91
+
Below are the various requirements and findings from deploying the infrastructure components on our tenancy -
92
+
93
+
### ODA
94
+
95
+
1. Configure IDCS Server first
96
+
- ODA skill expects a token to execute
97
+
- Configured manually for now. Expects ODA client callback to work
98
+
2. Configured API gateway with nl2sql engine backend - provide api gateway endpoint in skill
99
+
- Configured bearer token with IDCS app
100
+
3. There are two skill zips that don't seem to be used and not referenced in the documentation -
101
+
- oda-skill-EmbeddedCont.changeit.zip
102
+
- oda-skill-ExtOracleFn.changeit.zip
103
+
104
+
### VBCS
105
+
106
+
1. The zipped askdata vbcs app in here looks to be outdated.
107
+
- It's a more simple implementation, which might be best for now
108
+
2. Reference to websocket - to be deprecated? Need to test if working without
109
+
- Tested, seems to be unnecessary
110
+
3. App import relies on various images in the directory... do we want to provide these images in the repo?
111
+
- I'm going to include them for now, since they are dependencies
112
+
113
+
### API Gateway
114
+
1. API Gateway is configured with Single Authentication OAuth2.0 which requires a vault.
115
+
2. The existing mkdocs documentation said to deploy the api gateway to private subnet due to lack of authentication... authentication can be added to api gateway on public subnet
116
+
117
+
### Redis
118
+
1. Redis is required but there were no instructions given on configuration
119
+
120
+
### Generative AI
121
+
1. Existing deployment was using dedicated ai cluster/data science. I was able to get it to work with on demand model.
122
+
- Code is hard coded to handle only the llama models. Cohere models would require refactoring.
123
+
124
+
### NL2SQL Business Engine
125
+
1. The code is currently expecting the user to upload their own api keys
126
+
2. Database wallets need to be uploaded manually
127
+
3. png files trusted & untrusted.png are required to run the server.
128
+
4. autoprompt - need to test if working without (deprecated?)
129
+
130
+
### Client Database
131
+
1. The vendors table didn't have any example data. I had to export the table from the existing implementation and import as csv
132
+
- Do we want to include this csv in the repo, or add to object storage bucket and provide link?
133
+
134
+
### Trust Database
135
+
1. Engine code expects at least one entry in Trust library table before execution
136
+
- Provided an example entry with sample embedding
137
+
138
+
### Trust REST Framework
139
+
Haven't gotten this far, but the basic prompt endpoint does use the trust library table.
140
+
141
+
## APEX
142
+
tbd ... do we want to include this in the first version?
Copy file name to clipboardExpand all lines: data/demodata.sql
+1Lines changed: 1 addition & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -2997,6 +2997,7 @@ Insert into ACCOUNT_PAYABLES_TBL (VENDOR_NAME,VENDOR_NUMBER,VENDOR_SITE_DETAILS
2997
2997
Insert into ACCOUNT_PAYABLES_TBL (VENDOR_NAME,VENDOR_NUMBER,VENDOR_SITE_DETAILS,INVOICE_NUMBER,INVOICE_DATE,GL_DATE,INVOICE_TYPE,DUE_DATE,PAST_DUE_DAYS,AMOUNT_DUE) values ('GE Capital',1001,'MILANO ERS Milano','ERS-7048-212135',to_date('01-SEP-23','DD-MON-RR'),to_date('06-SEP-23','DD-MON-RR'),'STANDARD',to_date('04-SEP-23','DD-MON-RR'),255,7928.64);
2998
2998
Insert into ACCOUNT_PAYABLES_TBL (VENDOR_NAME,VENDOR_NUMBER,VENDOR_SITE_DETAILS,INVOICE_NUMBER,INVOICE_DATE,GL_DATE,INVOICE_TYPE,DUE_DATE,PAST_DUE_DAYS,AMOUNT_DUE) values ('GE Capital',1001,'MILANO ERS Milano','ERS-7057-212300',to_date('01-SEP-23','DD-MON-RR'),to_date('07-SEP-23','DD-MON-RR'),'STANDARD',to_date('04-SEP-23','DD-MON-RR'),255,7928.64);
2999
2999
Insert into ACCOUNT_PAYABLES_TBL (VENDOR_NAME,VENDOR_NUMBER,VENDOR_SITE_DETAILS,INVOICE_NUMBER,INVOICE_DATE,GL_DATE,INVOICE_TYPE,DUE_DATE,PAST_DUE_DAYS,AMOUNT_DUE) values ('Advanced Network Devices',1013,'MILANO ERS Milano','ERS-7041-212016',to_date('01-SEP-23','DD-MON-RR'),to_date('05-SEP-23','DD-MON-RR'),'STANDARD',to_date('04-SEP-23','DD-MON-RR'),255,21960.29);
3000
+
commit;
3000
3001
Insert into ACCOUNT_PAYABLES_TBL (VENDOR_NAME,VENDOR_NUMBER,VENDOR_SITE_DETAILS,INVOICE_NUMBER,INVOICE_DATE,GL_DATE,INVOICE_TYPE,DUE_DATE,PAST_DUE_DAYS,AMOUNT_DUE) values ('Advanced Network Devices',1013,'MILANO ERS Milano','ERS-7058-212383',to_date('01-SEP-23','DD-MON-RR'),to_date('08-SEP-23','DD-MON-RR'),'STANDARD',to_date('04-SEP-23','DD-MON-RR'),255,21960.29);
3001
3002
Insert into ACCOUNT_PAYABLES_TBL (VENDOR_NAME,VENDOR_NUMBER,VENDOR_SITE_DETAILS,INVOICE_NUMBER,INVOICE_DATE,GL_DATE,INVOICE_TYPE,DUE_DATE,PAST_DUE_DAYS,AMOUNT_DUE) values ('GE Capital',1001,'MILANO ERS Milano','ERS-7033-211643',to_date('26-AUG-23','DD-MON-RR'),to_date('29-AUG-23','DD-MON-RR'),'STANDARD',to_date('29-AUG-23','DD-MON-RR'),261,3567.89);
3002
3003
Insert into ACCOUNT_PAYABLES_TBL (VENDOR_NAME,VENDOR_NUMBER,VENDOR_SITE_DETAILS,INVOICE_NUMBER,INVOICE_DATE,GL_DATE,INVOICE_TYPE,DUE_DATE,PAST_DUE_DAYS,AMOUNT_DUE) values ('GE Capital',1001,'MILANO ERS Milano','ERS-7033-211642',to_date('25-AUG-23','DD-MON-RR'),to_date('29-AUG-23','DD-MON-RR'),'STANDARD',to_date('28-AUG-23','DD-MON-RR'),262,8675.79);
0 commit comments