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

feat: Add Customer Search Demo App #546

Closed
wants to merge 53 commits into from

Conversation

CodeChamp-SS
Copy link
Member

Description

Thank you for opening a Pull Request!
Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

  • Follow the CONTRIBUTING Guide.
  • You are listed as the author in your notebook or README file.
    • Your account is listed in CODEOWNERS for the file(s).
  • Make your Pull Request title in the https://www.conventionalcommits.org/ specification.
  • Ensure the tests and linter pass (Run nox -s format from the repository root to format).
  • Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕

Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@holtskinner holtskinner added the owlbot:run Add this label to trigger the Owlbot post processor. label Apr 16, 2024
@gcf-owl-bot gcf-owl-bot bot removed the owlbot:run Add this label to trigger the Owlbot post processor. label Apr 16, 2024
@holtskinner holtskinner added the owlbot:run Add this label to trigger the Owlbot post processor. label Apr 18, 2024
@gcf-owl-bot gcf-owl-bot bot removed the owlbot:run Add this label to trigger the Owlbot post processor. label Apr 18, 2024
@holtskinner holtskinner added the owlbot:run Add this label to trigger the Owlbot post processor. label Apr 19, 2024
@gcf-owl-bot gcf-owl-bot bot removed the owlbot:run Add this label to trigger the Owlbot post processor. label Apr 19, 2024
@holtskinner holtskinner added the owlbot:run Add this label to trigger the Owlbot post processor. label Apr 19, 2024
@gcf-owl-bot gcf-owl-bot bot removed the owlbot:run Add this label to trigger the Owlbot post processor. label Apr 19, 2024
@CodeChamp-SS CodeChamp-SS marked this pull request as ready for review April 22, 2024 06:55
@CodeChamp-SS CodeChamp-SS requested a review from a team as a code owner April 22, 2024 06:55
@holtskinner holtskinner added the owlbot:run Add this label to trigger the Owlbot post processor. label Apr 22, 2024
@gcf-owl-bot gcf-owl-bot bot removed the owlbot:run Add this label to trigger the Owlbot post processor. label Apr 22, 2024
@holtskinner
Copy link
Collaborator

@CodeChamp-SS Can you add a description of your sample app to the PR Description?

Also, all of the Images/PDF/CSV files make this PR quite large. These files should really be added to a Google Cloud Storage Bucket and linked in if needed, to reduce the size of the repository.

We have a public Google Cloud Storage Bucket gs://github-repo/ for related files for Notebooks/Sample Apps in this repo. I can upload files for you.

@holtskinner holtskinner added the owlbot:run Add this label to trigger the Owlbot post processor. label Apr 22, 2024
@gcf-owl-bot gcf-owl-bot bot removed the owlbot:run Add this label to trigger the Owlbot post processor. label Apr 22, 2024
Copy link
Collaborator

@holtskinner holtskinner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See comment. I will do a more thorough review once the files are cleaned up

@CodeChamp-SS
Copy link
Member Author

@CodeChamp-SS Can you add a description of your sample app to the PR Description?

Also, all of the Images/PDF/CSV files make this PR quite large. These files should really be added to a Google Cloud Storage Bucket and linked in if needed, to reduce the size of the repository.

We have a public Google Cloud Storage Bucket gs://github-repo/ for related files for Notebooks/Sample Apps in this repo. I can upload files for you.

@holtskinner you may put the following files/folders in the GCS bucket:
gemini/sample-apps/customer-search/files/tables
gemini/sample-apps/customer-search/files/CymbalBankWebDeployed/assets
gemini/sample-apps/customer-search/files/FD_TnC.pdf
gemini/sample-apps/customer-search/files/Market_Summary.pdf

@holtskinner
Copy link
Collaborator

holtskinner commented Apr 23, 2024

@CodeChamp-SS I moved the requested files to GCS:

gs://github-repo/generative-ai/sample-apps/customer-search/

New Paths:

  • gemini/sample-apps/customer-search/files/tablesgs://github-repo/generative-ai/sample-apps/customer-search/tables
  • gemini/sample-apps/customer-search/files/CymbalBankWebDeployed/assetsgs://github-repo/generative-ai/sample-apps/customer-search/assets/
  • gemini/sample-apps/customer-search/files/FD_TnC.pdfgs://github-repo/generative-ai/sample-apps/customer-search/FD_TnC.pdf
  • gemini/sample-apps/customer-search/files/Market_Summary.pdfgs://github-repo/generative-ai/sample-apps/customer-search/Market_Summary.pdf

You can also access these through the public links https://storage.googleapis.com/github-repo/generative-ai/sample-apps/customer-search/FD_TnC.pdf

I also recommend moving the remaining images for the README and app to GCS and linking them in this way.

@holtskinner holtskinner added the owlbot:run Add this label to trigger the Owlbot post processor. label Apr 23, 2024
@gcf-owl-bot gcf-owl-bot bot removed the owlbot:run Add this label to trigger the Owlbot post processor. label Apr 23, 2024
Copy link
Collaborator

@holtskinner holtskinner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm stopping part way through to allow time to make some of the changes.

Overall there's a lot of duplicated code and most of this application seems to be overly complex. I would highly recommend refactoring and finding ways to reduce duplication and complexity. It will make the application code much more readable/understandable/maintainable.

gemini/sample-apps/customer-search/Makefile Outdated Show resolved Hide resolved
gemini/sample-apps/customer-search/Makefile Outdated Show resolved Hide resolved
@@ -0,0 +1,56 @@
# Cymbal Bank Website Demo: CymBuddy and Search

This repository contains the code for the Cymbal Bank demo website, a cutting-edge fintech platform designed to cater to the diverse needs of our customers.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could this be more specific about what the app does/uses?


- The demo showcases the core functionalities and capabilities of the Cymbal Bank platform.
- The investment data and recommendations are simulated and for illustrative purposes only.
- This repository is intended for demonstration purposes and may not reflect the full features and functionalities of the final product.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What final product?

gemini/sample-apps/customer-search/SETUP.md Outdated Show resolved Hide resolved
model = TextGenerationModel.from_pretrained("text-bison")

response = model.predict(
"""Generate a confirmation message on creating a fd.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is an "fd". Also, do you really need to use an llm to create a confirmation message/email? Seems like it should be a template

@CodeChamp-SS
Copy link
Member Author

@CodeChamp-SS I moved the requested files to GCS:

gs://github-repo/generative-ai/sample-apps/customer-search/

New Paths:

  • gemini/sample-apps/customer-search/files/tablesgs://github-repo/generative-ai/sample-apps/customer-search/tables
  • gemini/sample-apps/customer-search/files/CymbalBankWebDeployed/assetsgs://github-repo/generative-ai/sample-apps/customer-search/assets/
  • gemini/sample-apps/customer-search/files/FD_TnC.pdfgs://github-repo/generative-ai/sample-apps/customer-search/FD_TnC.pdf
  • gemini/sample-apps/customer-search/files/Market_Summary.pdfgs://github-repo/generative-ai/sample-apps/customer-search/Market_Summary.pdf

You can also access these through the public links https://storage.googleapis.com/github-repo/generative-ai/sample-apps/customer-search/FD_TnC.pdf

I also recommend moving the remaining images for the README and app to GCS and linking them in this way.

Thanks! Will replace the images/files in the code with these.

@holtskinner
Copy link
Collaborator

Please re-assign to me and re-request review when ready.

@holtskinner holtskinner added the owlbot:run Add this label to trigger the Owlbot post processor. label Apr 24, 2024
@github-actions github-actions bot added the owlbot:run Add this label to trigger the Owlbot post processor. label May 13, 2024
@gcf-owl-bot gcf-owl-bot bot removed the owlbot:run Add this label to trigger the Owlbot post processor. label May 13, 2024
@github-actions github-actions bot added the owlbot:run Add this label to trigger the Owlbot post processor. label May 13, 2024
@gcf-owl-bot gcf-owl-bot bot removed the owlbot:run Add this label to trigger the Owlbot post processor. label May 13, 2024
@github-actions github-actions bot added the owlbot:run Add this label to trigger the Owlbot post processor. label May 15, 2024
@gcf-owl-bot gcf-owl-bot bot removed the owlbot:run Add this label to trigger the Owlbot post processor. label May 15, 2024
Copy link

@check-spelling-bot Report

🔴 Please review

See the 📂 files view, the 📜action log, or 📝 job summary for details.

Unrecognized words (1304)
AAAAASUVORK
AAAANSUh
AAAD
AAAGAAAABg
Aadhaar
aadhar
Aarav
abf
abiosoft
accounttransactions
Accrux
acess
acf
ADTS
adulting
advertiserspending
advertisingverticals
aee
AEIBh
Aez
afactor
Affordability
AGG
ainaomotayo
AIP
aiplatform
aipv
AJUIMZMn
Akl
alcuna
aliciawilliams
alloydb
aload
alphafold
alsocontributed
alsoreflected
altostrat
amd
analysisremote
analyticshub
anantnawal
andcost
andlegal
anduncertainty
anihm
anincreased
aofq
APAC
apiid
apphub
applehelp
apps
appuser
AQB
arima
artifactregistry
arxiv
ASBA
ASF
ashleyxuu
Aslo
asynchttpclient
asyncio
asyncmock
ATD
atleast
ATMs
Atticus
atticusprojectai
autoconfigure
autodelete
autodoc
automagically
automerge
automl
autoprefixer
autopush
autoscaling
autosize
autosummary
autotuning
Autowired
AWt
ayushi
ayushisharma
azzurro
BAARRZ
backticks
baec
bafee
Bamburgh
bartle
basedadvertiser
basedproducts
bbb
Bbhh
bdd
beaffected
beforeend
Bengaluru
bezier
bff
bgcolor
Bgogxg
bgp
bianche
bigframes
bigquery
bigqueryconnection
bigquerydatatransfer
bigquerymigration
bigqueryreservation
bigquerystorage
bigserial
bigtable
bigtableadmin
BIii
billss
Bitcoin
BKa
blockquote
blogposts
blogs
Bluechip
bluetooth
BMn
bmp
bnm
bonafide
bothinfrastructure
boxicons
bqml
bqzs
brandadvertising
BSBDA
BSDBA
btn
Btw
bucketname
Buonconsiglio
butta
BVi
byinterrelated
BZTi
caaaa
CAQAAAB
cardealers
Carlessian
Carlesso
carloan
carpooling
cashback
cbce
cbf
cbi
ccai
ccc
cctemplate
cdk
Cdkn
cdn
cdnjs
cefb
cellpadding
cellspacing
cfvbq
chatbot
chatbox
checkboxes
CHECKOV
chequebooks
chiese
chipset
chulbul
cic
cidr
cielo
circondata
citt
Ciwpq
cjs
cke
cla
classmethod
classpath
clicksand
cloudaicompanion
cloudapis
cloudasset
cloudbilling
cloudbuild
cloudcode
cloudconsole
cloudflare
cloudfunction
cloudkms
cloudonair
cloudresourcemanager
cloudrun
cloudshell
cloudskillsboost
cloudsql
cloudtrace
cls
CMg
coc
codechat
codelab
codeowners
codey
colab
colonne
colspan
concat
connectgateway
consts
contactless
containerfilesystem
containerregistry
conventionalcommits
correlazione
cors
cosa
counterparty
cov
coveragerc
cpet
cred
creditcards
creditworthiness
crossorigin
cse
CTDKYVu
cuad
cultura
curated
currencyexchange
currentcolor
customerevents
Customise
cutomer
CWx
cych
cygpath
cygwin
CYII
cymbalbank
cymbalbankhi
Cymbank
cymbuddy
dac
DARKCYAN
datacatalog
dataform
dataframe
dataplex
datapoints
datasource
datastore
datetime
ddb
ddd
dearmor
debian
debitcards
deconflict
decription
ded
dedede
Dej
delims
delle
Demat
demouser
deploymentmanager
Descrivimi
desity
developmentactivities
devhelp
devkit
devrel
devstorage
dfe
dflt
DHH
dialogflow
DICGC
Digi
directresponse
direntries
direnv
discoveryengine
distancematrix
DKV
dlx
Dmaven
dmoonat
dns
dny
docfx
dockerpush
docstore
doctrees
documentai
docutils
dollarversus
Donya
dotenv
DPNSUc
Dqxc
Dra
drivenby
dropna
Dservices
Dskip
DTH
dtype
Ducati
dummybankdataset
DUy
DXFi
dyanamic
EAg
EAJl
EAo
earcup
earlyaccess
EBLR
EBTs
ecommerce
ECymbal
Edg
edgecache
editorconfig
EDN
eebc
eee
eef
EEle
efefef
EItjx
ekg
eliasecchig
elif
emailresult
emb
embd
embeddings
embedings
EMEA
EMIs
emojis
enableapi
enctype
endblock
endfor
endlocal
engagementlevels
enpoint
enterpriseknowledgegraph
enterprisesearch
Entitities
enumbers
envrc
EQVR
errorhandler
ERRORLEVEL
erwinh
Erzs
Erzsebet
esac
Esl
etags
etf
EUdp
EUg
euo
evenodd
eventarc
exaclty
excutes
exe
Exif
Exlq
expenseprediction
Exup
eyeshadow
EZon
FAIGx
FAQs
fastapi
favouritest
fbb
fbp
Fcreate
FDh
fdinterestrates
FDs
feb
feeec
FEo
fetchall
ffb
ffc
ffcb
ffcd
fff
ffff
Fgenerative
FGMR
finditer
findplacefromtext
finetuning
fintech
firebasejs
firebaserc
firebaserules
Firefox
firestore
Fitbit
fixmycar
fixmycarbackend
fkscz
flaskapp
Flexi
flowbite
Fmultimodal
followedby
folmer
footwell
forlong
foto
Fqg
FQT
freeselec
freetrial
fromiter
fss
Ftext
ftp
fuction
fullwidth
functiondef
fuw
Fvertex
FWz
fylr
FZf
gcf
gcloud
gcp
gcpiconscolors
gcr
gcs
Gdo
gdw
gdynozbq
genai
genappbuilder
generativeai
genwealth
genz
geolocation
gericdong
getattr
getconn
getlist
gettempdir
geturl
GGv
ghchinoy
gitleaks
gke
gkebackup
gkeconnect
gkehub
gmail
GMc
Gmv
Golfshire
google
googleapis
googlemerchandisestore
Googlers
googlesymbols
googleusercontent
googling
gpg
Gqb
gradio
gridcell
gridwidth
grocerybot
groundbreaking
growthin
grpcio
gserviceaccount
GST
gstatic
gsutil
GSYGSHk
GTi
Guh
gunicorn
guruvittal
GZZIo
hackathon
hadolint
hasexpanded
hashicorp
haspopup
havemade
hbs
HDFC
HDskpzr
headcount
headwindyear
healthandaccident
healthyin
heirarchy
HEOS
HHh
HIda
highlightjs
hljs
HNPE
hnsw
holtskinner
HOMEDRIVE
homeownership
HOMEPATH
hospitalisation
hospitalised
hqdefault
hsp
HTl
htmlcss
htmlhelp
htmlhintrc
HUF
hypersistence
HZN
iam
iamcredentials
iamthuya
ICAj
icanhazip
ICICI
ico
Identiifcation
identitytoolkit
idx
IEr
IFSC
IHx
IHxoi
IIITEM
Iivd
IJIZGZHOWA
Ikb
iloc
imagegeneration
imageno
imagesearch
img
imges
immagine
inardini
inboth
inbox
inbrowsers
includingchallenges
includingincreases
incorniciano
increasedadvertiser
increasingcompetition
indevice
indexvalue
inputtype
Insta
intersphinx
inthe
Intialize
inuser
investmentsin
iows
Ipc
ipo
ipv
ipynb
IPython
isdir
isej
Ishaan
ishan
ishanjoshi
isin
isinstance
isoformat
italiana
IUJPx
Ize
Izl
jan
Jau
javac
JAVACMD
javascript
javax
JBEAP
jbrache
jdbc
JDH
JDhdi
jdk
Jdm
JDq
jegadesh
JHome
jjdelorme
Jki
jpa
jquery
jre
jscpd
JSH
jsondai
jsonify
jsonl
jsvine
jumpstart
junitxml
jupyter
JVi
jvm
Jwj
jys
kazunori
KBM
Kegujcj
keydown
keyframes
keyrings
Kfg
KGgo
KIVq
kmaphoenix
kmeans
kms
Knative
Kotak
koverholt
KPIs
KPSId
Kqxy
KSA
kubeconfig
kubernetes
kwargs
KWarq
kweinmeister
KWw
Kyaw
KYC
Kyw
labelledby
langchain
Lannister
larr
lastrequest
lastresponse
lavinigam
LBY
lego
len
LHERD
LHU
libexec
libpq
Licensce
Lifecycle
lifeinsurance
lifes
linting
linux
linuxconfig
listbox
Lkaj
LKi
LKj
llm
lnppzg
loanh
loansh
lolcat
lombok
Lorme
losswas
LRO
lsb
lts
makedirs
Manali
markdownlint
matchingengine
mavenrc
MCLR
mdc
meaningfullyin
mediterraneansea
medlm
Mellissa
meshca
meshconfig
metadatas
metageneration
mic
midtier
MIMETYPES
miniforge
Miyah
MKPX
mlops
Mlr
MMID
MMu
MNfp
MNp
Moh
moneytransfer
monthsended
mousenter
mouseout
moz
MPEG
MPIN
mtu
multer
multiclustermetering
MULTILINE
multimodalembedding
mutualfund
mutualfundaccountholding
mvn
mvnw
MXg
myaccount
mydomain
myprojectid
mysql
myvertexdatastoreid
Nagar
naturual
nazione
nbqa
nbsp
ndarray
neft
Networkadvertising
networkmanagement
Networkproperties
networksecurity
networkservices
Nigam
nio
Njhas
nlargest
noopener
noqa
noreferrer
nowrap
noxfile
NPCI
NPe
Nqle
NREGA
NRGr
NRHKEd
numpy
nuvole
nvidia
OAco
oauth
OBafz
oby
occured
occuring
ocr
odc
Oeqx
Oeto
oid
OIFr
OJU
okp
OLAP
olo
omnichannel
onadvertisements
onclick
oninput
onkeypress
Opb
openapi
opensource
Operatingincome
opsconfigmonitoring
opsz
orgpolicy
originalname
oslogin
otherservices
Ouput
ourability
ouradvertisers
ourrevenues
overallgrowth
Overholt
owlbot
PADC
pagemap
palladius
palladiusbonton
palletsprojects
pandeychulbul
Parag
Parikh
partiocularly
pathlib
paulramsey
Paytm
pdf
pdfplumber
peerings
perespective
Permenant
pgadmin
PGDATABASE
PGHOST
PGka
PGPASSWORD
PGPORT
PGUSER
pgvector
PGy
Phillipines
Phv
PIDYB
pietra
pio
pipefail
Pixmap
PKE
pkey
PLACHOLDER
Platformservices
playlists
plo
plotly
plpgsql
pls
pns
polong
polyfills
Poppins
posargs
possono
postcss
postgre
postgresql
PPOs
pranshusingh
prebuilt
precentage
preconnect
predictionv
Preferrable
prerel
prerender
prestart
pretrained
prettierrc
prewritten
primarilyon
proactively
Procfile
producttable
PROJECTBASEDIR
projectid
projectlombok
proname
Proreflected
prospectfinder
protobuf
protos
psa
Psoy
psql
psychographics
Pullum
PUMg
PXfi
PXikyn
pycqa
pygments
pylint
pyopenssl
pytest
PYTHONUNBUFFERED
pytorch
pyupgrade
QBr
QHjpt
Qkx
Qmce
qna
Qoh
Qoxmokla
QRSA
Qsz
qthelp
querybuilder
queryinterface
querytool
questa
quickstart
qupc
QUx
QVM
QXp
Qxt
Radebeul
ragdemos
Raileigh
Rajesh
randint
randrandomint
rarr
rarsan
RBz
RDy
RDYE
readlink
recevies
recieve
recive
recomm
recommendationv
recommonmark
recordkeeping
redeemede
Reimagining
relatedchanges
remainedfocused
removeprefix
REPORTPART
REPOURL
restirctions
revenuesfrom
RFg
rgb
rgba
RGkq
RGo
RHGUd
RHla
ricc
riccardo
rlhf
RMh
rmtree
Roboto
rohitnaidu
Romin
rominirani
rpc
RRyi
RSIIz
RST
RTGS
RTO
RWTv
rxa
RXy
RYDE
saeedaghabozorgi
salesof
savingh
savingol
savingp
savingul
Saxtead
SBI
screencast
screenshot
scroller
searcg
seatback
seby
secretmanager
Seiya
Sensex
SEO
seprated
serializinghtml
serviceaccount
servicecontrol
servicedirectory
servicemanagement
servicenetworking
servicesfor
serviceusage
setlocal
shanecglass
Shanthala
shellcheck
showgrid
Shreyash
shutil
sidenav
sigin
signin
signout
signup
SIGTERM
simage
Sjex
SKLf
slatawa
slf
smartphone
solutionbuilder
sono
sourcerepo
spam
spcific
sphinxcontrib
splitext
springframework
sqladmin
sqlalchemy
sqlfluff
SRt
ssd
ssl
ssml
stackdriver
stackoverflow
stakeholders
standalone
standinginstructions
startswith
stcore
stext
STPs
streamlit
streamlitapp
strengthin
strftime
Stv
stylelint
stylelintrc
stylesheet
subscriptionbased
Subworkflow
successfullaunch
successfullly
SUMM
Summarises
superstore
sveltejs
sveltekit
svg
Svsm
synthtool
sys
systemtest
tabindex
TABLESPACE
tablist
Tahoma
tailwindcss
tbody
Tbwq
tcp
TDS
Teatro
temeperature
tempfile
templated
templatefile
temurin
tensorflow
terraform
testutils
tetti
Textbox
textcompletion
textembedding
texting
textno
textquery
texttospeech
textwrap
tftpl
tfvars
TGRH
Thallam
thead
Theadverse
theaverage
thelook
therelated
thes
thethird
thethree
theunfavorable
thier
thirdquarter
threemonths
Thu
tiangolo
timeseriesinsights
TJm
tls
TLSv
tmp
tnc
tobytes
tolist
toml
toolbar
torri
toset
TQJXLi
TQZMMt
trafficdirector
trendson
TRosn
TRUNC
trustedtester
tsc
tshirt
tsv
ttm
tts
Tyrion
Ufq
Uhl
uid
UIDAI
UIgu
Uipnsb
UMmw
undeploy
Undeploying
undst
unfavorableeffect
unobserve
unpkg
unsual
uomo
upi
upsert
upto
UPXRCl
urllib
urlparse
urlretrieve
usebackq
usecases
userloginlog
USERPROFILE
usr
UStart
ustomer
utf
utilzing
Utm
UUc
uuid
uuidv
UUL
uvicorn
UWq
vairables
vais
valign
VARCHAR
VBORw
VBxd
vcap
vectorized
vectorstore
vedere
vedi
VEhkb
venv
Verdana
versioning
Verte
vertexai
vertexdatastoreid
Vgiv
Vhz
viai
viewcode
virtualenv
visionai
Vks
VLcxake
VMj
vpc
vpcaccess
vqa
VRuw
VSC
VTJ
vtpm
vulnz
Vwsey
Vwtyz
VYVe
wasdriven
Wasserturm
Watchlists
wdir
webclient
webhooks
webinar
weblink
webpage
webserver
website
werkzeug
wght
WGNFj
whitesmoke
whl
WHMd
WHtfh
Wifi
wikimedia
wikipedia
willreflect
withgoogle
WJSx
Wobj
workaround
WORKDIR
workflowexecutions
workflows
WQm
Wtkob
WTUK
Wuvcb
WViwri
WVp
Xarg
xaxes
Xdebug
xffffff
XIQRQ
XIRR
XNu
xny
XPSm
XRMc
Xrs
Xrunjdwp
xsd
xsi
Xsrf
XVGr
XWb
xxxxxxx
xxxxxxxx
xxxxxxxxxx
XZj
yaxes
yearrevenue
YHa
Yix
Ykh
Ykk
YKs
yml
yourselfers
youtube
Ythn
YTS
yvta
zbcmv
zdq
zeroline
ZIpxcbcb
Ziui
ZNq
Zom
zricethezav
Zry
ZUH
ZWm
Zyk
Some files were automatically ignored 🙈

These sample patterns would exclude them:

^\Qgemini/sample-apps/image-bash-jam/images/.keep\E$
^\Qlanguage/use-cases/document-qa/utils/__init__.py\E$

You should consider adding them to:

.github/actions/spelling/excludes.txt

File matching is via Perl regular expressions.

To check these files, more of their words need to be in the dictionary than not. You can use patterns.txt to exclude portions, add items to the dictionary (e.g. by adding them to allow.txt), or fix typos.

To accept these unrecognized words as correct and update file exclusions, you could run the following commands

... in a clone of the git@github.com:CodeChamp-SS/generative-ai.git repository
on the dev branch (ℹ️ how do I use this?):

curl -s -S -L 'https://raw.githubusercontent.com/check-spelling/check-spelling/main/apply.pl' |
perl - 'https://github.com/GoogleCloudPlatform/generative-ai/actions/runs/9097637103/attempts/1'
Available 📚 dictionaries could cover words not in the 📘 dictionary
Dictionary Entries Covers Uniquely
cspell:aws/aws.txt 218 23 11
cspell:fullstack/dict/fullstack.txt 419 24 9
cspell:python/src/python/python-lib.txt 2417 52 7
cspell:html/dict/html.txt 2060 37 7
cspell:python/src/python/python.txt 392 34 7

Consider adding them (in .github/workflows/spelling.yaml) for uses: check-spelling/check-spelling@main in its with:

      with:
        extra_dictionaries:
          cspell:aws/aws.txt
          cspell:fullstack/dict/fullstack.txt
          cspell:python/src/python/python-lib.txt
          cspell:html/dict/html.txt
          cspell:python/src/python/python.txt

To stop checking additional dictionaries, add (in .github/workflows/spelling.yaml) for uses: check-spelling/check-spelling@main in its with:

check_extra_dictionaries: ''
Pattern suggestions ✂️ (42)

You could add these patterns to .github/actions/spelling/patterns.txt:

# Automatically suggested patterns
# hit-count: 855 file-count: 143
# https/http/file urls
(?:\b(?:https?|ftp|file)://)[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]

# hit-count: 122 file-count: 27
# Google Storage
\b[-a-zA-Z0-9.]*\bstorage\d*\.googleapis\.com(?:/\S*|)

# hit-count: 115 file-count: 44
# scala imports
^import (?:[\w.]|\{\w*?(?:,\s*(?:\w*|\*))+\})+

# hit-count: 90 file-count: 32
# hex digits including css/html color classes:
(?:[\\0][xX]|\\u|[uU]\+|#x?|%23)[0-9_a-fA-FgGrR]*?[a-fA-FgGrR]{2,}[0-9_a-fA-FgGrR]*(?:[uUlL]{0,3}|[iu]\d+)\b

# hit-count: 65 file-count: 25
# version suffix <word>v#
(?:(?<=[A-Z]{2})V|(?<=[a-z]{2}|[A-Z]{2})v)\d+(?:\b|(?=[a-zA-Z_]))

# hit-count: 38 file-count: 22
# Google Fonts
\bfonts\.(?:googleapis|gstatic)\.com/[-/?=:;+&0-9a-zA-Z]*

# hit-count: 30 file-count: 5
# While you could try to match `http://` and `https://` by using `s?` in `https?://`, sometimes there
# YouTube url
\b(?:(?:www\.|)youtube\.com|youtu.be)/(?:channel/|embed/|user/|playlist\?list=|watch\?v=|v/|)[-a-zA-Z0-9?&=_%]*

# hit-count: 22 file-count: 12
# Python string prefix / binary prefix
# Note that there's a high false positive rate, remove the `?=` and search for the regex to see if the matches seem like reasonable strings
(?<!['"])\b(?:B|BR|Br|F|FR|Fr|R|RB|RF|Rb|Rf|U|UR|Ur|b|bR|br|f|fR|fr|r|rB|rF|rb|rf|u|uR|ur)['"](?=[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})

# hit-count: 21 file-count: 7
# base64 encoded content, possibly wrapped in mime
(?:^|[\s=;:?])[-a-zA-Z=;:/0-9+]{50,}(?:[\s=;:?]|$)

# hit-count: 20 file-count: 13
# GitHub SHAs (markdown)
(?:\[`?[0-9a-f]+`?\]\(https:/|)/(?:www\.|)github\.com(?:/[^/\s"]+){2,}(?:/[^/\s")]+)(?:[0-9a-f]+(?:[-0-9a-zA-Z/#.]*|)\b|)

# hit-count: 20 file-count: 8
# Compiler flags (Unix, Java/Scala)
# Use if you have things like `-Pdocker` and want to treat them as `docker`
(?:^|[\t ,>"'`=(])-(?:(?:J-|)[DPWXY]|[Llf])(?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,})

# hit-count: 19 file-count: 2
# kubernetes object suffix
-[0-9a-f]{10}-\w{5}\s

# hit-count: 18 file-count: 18
# data url in quotes
([`'"])data:(?:[^ `'"].*?|)(?:[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,}).*\g{-1}

# hit-count: 18 file-count: 18
# data url
\bdata:[-a-zA-Z=;:/0-9+]*,\S*

# hit-count: 15 file-count: 10
# uuid:
\b[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\b

# hit-count: 14 file-count: 13
# Contributor
\[[^\]]+\]\(https://github\.com/[^/\s"]+/?\)

# hit-count: 13 file-count: 5
# Compiler flags (Windows / PowerShell)
# This is a subset of the more general compiler flags pattern.
# It avoids matching `-Path` to prevent it from being treated as `ath`
(?:^|[\t ,"'`=(])-(?:[DPL](?=[A-Z]{2,})|[WXYlf](?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,}))

# hit-count: 9 file-count: 4
# AWS VPC
vpc-\w+

# hit-count: 9 file-count: 4
# node packages
(["'])@[^/'" ]+/[^/'" ]+\g{-1}

# hit-count: 8 file-count: 4
# libraries
\blib(?!rar(?:ies|y))(?=[a-z])

# hit-count: 7 file-count: 7
# set arguments
\b(?:bash|sh|set)(?:\s+-[abefimouxE]{1,2})*\s+-[abefimouxE]{3,}(?:\s+-[abefimouxE]+)*

# hit-count: 7 file-count: 5
# hex runs
\b[0-9a-fA-F]{16,}\b

# hit-count: 5 file-count: 3
# Non-English
[a-zA-Z]*[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3}[a-zA-ZÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]*|[a-zA-Z]{3,}[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]|[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3,}

# hit-count: 5 file-count: 1
# URL escaped characters
%[0-9A-F][A-F](?=[A-Za-z])

# hit-count: 4 file-count: 2
# kubernetes pod status lists
# https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
\w+(?:-\w+)+\s+\d+/\d+\s+(?:Running|Pending|Succeeded|Failed|Unknown)\s+

# hit-count: 3 file-count: 3
# stackexchange -- https://stackexchange.com/feeds/sites
\b(?:askubuntu|serverfault|stack(?:exchange|overflow)|superuser).com/(?:questions/\w+/[-\w]+|a/)

# hit-count: 3 file-count: 3
# w3
\bw3\.org/[-0-9a-zA-Z/#.]+

# hit-count: 3 file-count: 2
# Google APIs
\bgoogleapis\.(?:com|dev)/[a-z]+/(?:v\d+/|)[a-z]+/[-@:./?=\w+|&]+

# hit-count: 3 file-count: 1
# C network byte conversions
(?:\d|\bh)to(?!ken)(?=[a-z])|to(?=[adhiklpun]\()

# hit-count: 2 file-count: 2
# YouTube image
\bimg\.youtube\.com/vi/[-a-zA-Z0-9?&=_]*

# hit-count: 2 file-count: 2
# Google Accounts
\baccounts.google.com/[-_/?=.:;+%&0-9a-zA-Z]*

# hit-count: 2 file-count: 2
# base64 encoded content
([`'"])[-a-zA-Z=;:/0-9+]{3,}=\g{-1}

# hit-count: 2 file-count: 1
# IServiceProvider / isAThing
(?:\b|_)(?:I|isA)(?=(?:[A-Z][a-z]{2,})+(?:[A-Z]|\b))

# hit-count: 1 file-count: 1
# cdn.cloudflare.com
\bcdnjs\.cloudflare\.com/[./\w]+

# hit-count: 1 file-count: 1
# medium
\bmedium\.com/@?[^/\s"]+/[-\w]+

# hit-count: 1 file-count: 1
# Wikipedia
\ben\.wikipedia\.org/wiki/[-\w%.#]+

# hit-count: 1 file-count: 1
# ssh
(?:ssh-\S+|-nistp256) [-a-zA-Z=;:/0-9+]{12,}

# hit-count: 1 file-count: 1
# integrity
integrity=(['"])(?:\s*sha\d+-[-a-zA-Z=;:/0-9+]{40,})+\g{-1}

# hit-count: 1 file-count: 1
# This does not cover multiline strings, if your repository has them,
# you'll want to remove the `(?=.*?")` suffix.
# The `(?=.*?")` suffix should limit the false positives rate
# printf
%(?:(?:(?:hh?|ll?|[jzt])?[diuoxn]|l?[cs]|L?[fega]|p)(?=[a-z]{2,})|(?:X|L?[FEGA]|p)(?=[a-zA-Z]{2,}))(?!%)(?=[_a-zA-Z]+(?!%)\b)(?=.*?['"])

# hit-count: 1 file-count: 1
# Alternative printf
# %s
%(?:s(?=[a-z]{2,}))(?!%)(?=[_a-zA-Z]+(?!%)\b)(?=.*?['"])

# hit-count: 1 file-count: 1
# bearer auth
(['"])[Bb]ear[e][r] .*?\g{-1}

# hit-count: 1 file-count: 1
# curl arguments
\b(?:\\n|)curl(?:\.exe|)(?:\s+-[a-zA-Z]{1,2}\b)*(?:\s+-[a-zA-Z]{3,})(?:\s+-[a-zA-Z]+)*

Errors (4)

See the 📂 files view, the 📜action log, or 📝 job summary for details.

❌ Errors Count
ℹ️ binary-file 2
ℹ️ candidate-pattern 96
❌ check-file-path 556
❌ forbidden-pattern 31

See ❌ Event descriptions for more information.

@github-actions github-actions bot added the owlbot:run Add this label to trigger the Owlbot post processor. label May 15, 2024
@gcf-owl-bot gcf-owl-bot bot removed the owlbot:run Add this label to trigger the Owlbot post processor. label May 15, 2024
@github-actions github-actions bot added the owlbot:run Add this label to trigger the Owlbot post processor. label May 15, 2024
@gcf-owl-bot gcf-owl-bot bot removed the owlbot:run Add this label to trigger the Owlbot post processor. label May 15, 2024
@github-actions github-actions bot added the owlbot:run Add this label to trigger the Owlbot post processor. label May 15, 2024
@gcf-owl-bot gcf-owl-bot bot removed the owlbot:run Add this label to trigger the Owlbot post processor. label May 15, 2024
@CodeChamp-SS
Copy link
Member Author

Hi @holtskinner, we have tried to resolve the suggestions you made, the other lint errors. I have created a new pull request #700 , please review it again. Thanks!

@github-actions github-actions bot added the owlbot:run Add this label to trigger the Owlbot post processor. label May 22, 2024
@gcf-owl-bot gcf-owl-bot bot removed the owlbot:run Add this label to trigger the Owlbot post processor. label May 22, 2024
@holtskinner
Copy link
Collaborator

Ok, you didn't need to make a new Pull Request for the changes, but it's okay.

Please close out this Pull Request if it's no longer needed.

@CodeChamp-SS
Copy link
Member Author

Ok, you didn't need to make a new Pull Request for the changes, but it's okay.

Please close out this Pull Request if it's no longer needed.

this branch got a bit messy, so I thought creating a new one would be better.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants