Chris4K commited on
Commit
9c50cfe
1 Parent(s): 574385c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +589 -17
app.py CHANGED
@@ -244,7 +244,7 @@ def get_response(message, history):
244
  #####
245
  vs = load_txt()
246
  vs = get_vectorstore_from_url("https://www.xing.com/profile/Christof_Kaller/web_profiles")
247
- #vs = get_vectorstore_from_url("https://www.linkedin.com/in/christof-kaller-6b043733/?originalSubdomain=de")
248
  vs = get_vectorstore_from_url("https://twitter.com/zX14_7")
249
 
250
 
@@ -308,19 +308,591 @@ for url in links:
308
  def simple(text:str):
309
  return text +" hhhmmm "
310
 
311
- app = gr.ChatInterface(
312
- fn=get_response,
313
- #fn=simple,
314
- # inputs=["text"],
315
- # outputs="text",
316
- title="Chat with Websites",
317
- description="Schreibe hier deine Frage rein...",
318
- #allow_flagging=False
319
- retry_btn=None,
320
- undo_btn=None,
321
- clear_btn=None,
322
- #bubble_full_width=False,
323
- #avatar_images=(None, (os.path.join(os.path.abspath(''), "avatar.png"))),
324
- )
325
-
326
- app.launch(debug=True, share=True)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
244
  #####
245
  vs = load_txt()
246
  vs = get_vectorstore_from_url("https://www.xing.com/profile/Christof_Kaller/web_profiles")
247
+ vs = get_vectorstore_from_url("https://www.linkedin.com/in/christof-kaller-6b043733/?originalSubdomain=de")
248
  vs = get_vectorstore_from_url("https://twitter.com/zX14_7")
249
 
250
 
 
308
  def simple(text:str):
309
  return text +" hhhmmm "
310
 
311
+ import gradio as gr
312
+
313
+ # Define your function
314
+ def get_response(text, texty):
315
+ response = "Nina: I received your message: " + text
316
+ return response
317
+
318
+ # Load the Bootstrap CSS file
319
+ #gr.load_css('https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css')
320
+
321
+ # Load the jQuery library
322
+ #gr.load('https://code.jquery.com/jquery-3.5.1.min.js')
323
+
324
+ #gr.load_js('https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js')
325
+
326
+
327
+ html_head = """
328
+ <head>
329
+ <!-- Required meta tags -->
330
+ <meta charset="utf-8">
331
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
332
+
333
+ <!-- Bootstrap CSS -->
334
+ <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
335
+
336
+ <!-- jQuery -->
337
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js">alert()</script>
338
+
339
+ <!-- Bootstrap JS -->
340
+ <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
341
+
342
+ <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
343
+ <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.4/dist/umd/popper.min.js"></script>
344
+
345
+
346
+ <!-- Your custom CSS file if any
347
+ <link href="path/to/your/custom.css" rel="stylesheet">
348
+ -->
349
+ <!-- Your custom JavaScript file if any
350
+ <script src="path/to/your/custom.js"></script>
351
+ -->
352
+ <!-- Title of your page -->
353
+ <title>Your Page Title</title>
354
+ </head>
355
+
356
+ """
357
+
358
+ js_head = """
359
+ // Function to dynamically add JavaScript libraries
360
+ function addJavaScriptLibraries() {
361
+ // Add jQuery
362
+ var jqueryScript = document.createElement('script');
363
+ jqueryScript.src = 'https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js';
364
+ document.head.appendChild(jqueryScript);
365
+
366
+ // Add Popper.js
367
+ var popperScript = document.createElement('script');
368
+ popperScript.src = 'https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.4/dist/umd/popper.min.js';
369
+ document.head.appendChild(popperScript);
370
+
371
+ // Add Bootstrap JS
372
+ var bootstrapScript = document.createElement('script');
373
+ bootstrapScript.src = 'https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js';
374
+ document.head.appendChild(bootstrapScript);
375
+ }
376
+
377
+ // Call the function to add JavaScript libraries
378
+ //addJavaScriptLibraries();
379
+
380
+ """
381
+
382
+ # Define HTML for the header
383
+ header_html = """
384
+ <div style=" border-radius: var(--radius-xl); background-color: #2980b9; color: white; padding: 10px; text-align: center; font-family: Arial;">
385
+ <img class="navbar-brand float-left invert" src="https://pbs.twimg.com/profile_images/567461772282429440/55B9Akf0_400x400.png" width="30" height="30" class="d-inline-block align-top" alt="Kaller">
386
+ <h1 style="color: white;" >Ask Nina - My Personal KI Assistant</h1>
387
+ <small style="color: white;" class=" ">Du kannst Nina fragen zu mir und meinem Lebenslauf stellen</small>
388
+ </div>
389
+
390
+
391
+
392
+ """
393
+
394
+ # Define HTML for the left column
395
+ left_column_html = """
396
+
397
+ <!-- Bootstrap CSS -->
398
+ <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
399
+
400
+ <!-- jQuery -->
401
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js">alert()</script>
402
+
403
+ <!-- Bootstrap JS -->
404
+ <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
405
+
406
+ <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
407
+ <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.4/dist/umd/popper.min.js"></script>
408
+ <style>
409
+ .flip-card {
410
+ background-color: transparent;
411
+ width: 300px;
412
+ height: 300px;
413
+ perspective: 1000px;
414
+ }
415
+
416
+ .flip-card-inner {
417
+ position: absolute;
418
+ width: 100%;
419
+ height: 100%;
420
+ text-align: center;
421
+ transition: transform 0.6s;
422
+ transform-style: preserve-3d;
423
+ box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
424
+ }
425
+
426
+ .flip-card:hover .flip-card-inner {
427
+ transform: rotateY(180deg);
428
+ }
429
+
430
+ .flip-card-front, .flip-card-back {
431
+ position: absolute;
432
+ width: 100%;
433
+ height: 100%;
434
+ -webkit-backface-visibility: hidden;
435
+ backface-visibility: hidden;
436
+ }
437
+
438
+ .flip-card-front {
439
+ background-color: #white;
440
+ color: black;
441
+ }
442
+
443
+ .flip-card-back {
444
+ background-color: #2980b9;
445
+ color: white;
446
+ transform: rotateY(180deg);
447
+ }
448
+
449
+ .user {
450
+ background-color: #2980b9;
451
+ color: white;
452
+ }
453
+ </style>
454
+
455
+ <!-- Add icon library -->
456
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
457
+
458
+
459
+
460
+ <div class="flip-card">
461
+ <div class="flip-card-inner">
462
+ <div class="flip-card-front">
463
+
464
+ <div class="card">
465
+ <br>
466
+ <p><img src="https://placekitten.com/200/300" alt="John" class="mx-auto d-block" style="max-width:80px; border-radius: var(--radius-xxl);"></p>
467
+ <h1>Christof Kaller</h1>
468
+ <p>Leader & Architect</p>
469
+ <p class="title">KI enthusiast</p>
470
+ <p>Issum, NRW</p>
471
+ </div>
472
+
473
+ </div>
474
+ <div class="flip-card-back" ><br>
475
+ <h1 style="color:white">Christof Kaller</h1>
476
+ <figure>
477
+ <!-- Bootstrap 5 blockquote class used -->
478
+ <blockquote class="blockquote">
479
+ <p style="color:white">
480
+ Die schönste Tradition ist<br> die Veränderung.
481
+ </p>
482
+ </blockquote>
483
+ <figcaption class="blockquote-footer" style="color:white">
484
+ - Homer Simpson & J.W. Goethe
485
+ </figcaption>
486
+ </figure>
487
+
488
+ <p></p>
489
+ <p> </p>
490
+ <a href="https://github.com/Ckal"><i class="fa fa-git"></i></a>
491
+ <a href="https://www.xing.com/profile/Christof_Kaller/web_profiles"><i class="fa fa-xing"></i></a>
492
+ <a href="https://huggingface.co/Chris4K"><i class="fa fa-smile"></i></a>
493
+ <a href="https://twitter.com/zX14_7"><i class="fa fa-twitter"></i></a>
494
+ <a href="https://www.linkedin.com/in/christof-kaller-6b043733/"><i class="fa fa-linkedin"></i></a>
495
+ <a href="https://www.facebook.com/christof.kaller?locale=de_DE"><i class="fa fa-facebook"></i></a>
496
+ <p><button>Contact</button></p>
497
+ </div>
498
+ </div>
499
+ </div>
500
+
501
+ """
502
+
503
+ left_column_html_2 = """
504
+
505
+
506
+
507
+
508
+
509
+
510
+ <style>
511
+ .carousel-control-next
512
+ /*, .carousel-indicators ,.carousel-control-prev */ {
513
+ filter: invert(100%);
514
+ }
515
+
516
+ #skills {
517
+ max-width: 960px;
518
+ margin: 0 auto;
519
+ position: relative;
520
+ padding: 0 20px;
521
+ }
522
+ #skills h1 {
523
+ margin: 0;
524
+ line-height: 50px;
525
+ letter-spacing: 5px;
526
+ font-weight: 600;
527
+ font-size: 2.1em;
528
+ color: white;
529
+ }
530
+ #skills .border {
531
+ display: block;
532
+ height: 5px;
533
+ margin-bottom: 40px;
534
+ width: 200px;
535
+ background: linear-gradient(135deg, #e55d87 0%, #5fc3e4 100%);
536
+ }
537
+ .progressBar {
538
+ margin-bottom: 26px;
539
+ margin-bottom: 1.66em;
540
+ }
541
+ .progressBar h4 {
542
+ font-size: 17px;
543
+ color: #868b8e;
544
+ text-transform: none;
545
+ margin-bottom: 7px;
546
+ margin-bottom: .33em;
547
+ }
548
+ .progressBarContainer {
549
+ width: 100%;
550
+ height: 9px;
551
+ background: #E1E1E1;
552
+ overflow: hidden;
553
+ }
554
+ .progressBarValue {
555
+ height: 9px;
556
+ float: left;
557
+ background: #e55d87; /* Old browsers */
558
+ background: -moz-linear-gradient(-45deg, #e55d87 0%, #5fc3e4 100%);
559
+ background: -webkit-linear-gradient(-45deg, #e55d87 0%, #5fc3e4 100%);
560
+ background: linear-gradient(135deg, #e55d87 0%, #5fc3e4 100%);
561
+ }
562
+ .value-00 {
563
+ width: 0;
564
+ }
565
+ .value-10 {
566
+ width: 10%;
567
+ }
568
+ .value-20 {
569
+ width: 20%;
570
+ }
571
+ .value-30 {
572
+ width: 30%;
573
+ }
574
+ .value-40 {
575
+ width: 40%;
576
+ }
577
+ .value-50 {
578
+ width: 50%;
579
+ }
580
+ .value-60 {
581
+ width: 60%;
582
+ }
583
+ .value-65 {
584
+ width: 65%;
585
+ }
586
+ .value-70 {
587
+ width: 70%;
588
+ }
589
+ .value-80 {
590
+ width: 80%;
591
+ }
592
+ .value-85 {
593
+ width: 85%;
594
+ }
595
+ .value-90 {
596
+ width: 90%;
597
+ }
598
+ .value-95 {
599
+ width: 95%;
600
+ }
601
+ .value-100 {
602
+ width: 100%;
603
+ }
604
+
605
+
606
+
607
+ </style>
608
+ <div class="container">
609
+
610
+
611
+
612
+ <!-- Skills Carousel -->
613
+ <div class="row">
614
+ <div class="col">
615
+ <div id="carouselExampleControls" class="carousel slide" data-ride="carousel">
616
+ <div class="carousel-inner">
617
+
618
+ <!-- First Carousel Item - Technical Skills -->
619
+ <div class="carousel-item ">
620
+ <h1>Technical Skills</h1>
621
+ <div class="progressBar">
622
+ <h4>HTML5/CSS/JavaScript</h4>
623
+ <div class="progressBarContainer">
624
+ <div class="progressBarValue value-90"></div>
625
+ </div>
626
+ </div>
627
+ <div class="progressBar">
628
+ <h4>Java</h4>
629
+ <div class="progressBarContainer">
630
+ <div class="progressBarValue value-80"></div>
631
+ </div>
632
+ </div>
633
+ <div class="progressBar">
634
+ <h4>Python</h4>
635
+ <div class="progressBarContainer">
636
+ <div class="progressBarValue value-65"></div>
637
+ </div>
638
+ </div>
639
+ <!-- Add more technical skills here -->
640
+ </div>
641
+
642
+
643
+
644
+ <div class="carousel-item">
645
+ <h1>Project Management Skills</h1>
646
+ <div class="progressBar">
647
+ <h4>Agile | Scrum | Kanban</h4>
648
+ <div class="progressBarContainer">
649
+ <div class="progressBarValue value-95"></div>
650
+ </div>
651
+ </div>
652
+ <div class="progressBar">
653
+ <h4>Pro3</h4>
654
+ <div class="progressBarContainer">
655
+ <div class="progressBarValue value-70"></div>
656
+ </div>
657
+ </div>
658
+ <div class="progressBar">
659
+ <h4>MVP | MoSCoW</h4>
660
+ <div class="progressBarContainer">
661
+ <div class="progressBarValue value-80"></div>
662
+ </div>
663
+ </div>
664
+ </div>
665
+
666
+ <div class="carousel-item active">
667
+ <h1>Management Skills</h1>
668
+ <div class="progressBar">
669
+ <h4>Leadership</h4>
670
+ <div class="progressBarContainer">
671
+ <div class="progressBarValue value-90"></div>
672
+ </div>
673
+ </div>
674
+ <div class="progressBar">
675
+ <h4>Communication</h4>
676
+ <div class="progressBarContainer">
677
+ <div class="progressBarValue value-95"></div>
678
+ </div>
679
+ </div>
680
+ <div class="progressBar">
681
+ <h4>Strategic Planning</h4>
682
+ <div class="progressBarContainer">
683
+ <div class="progressBarValue value-90"></div>
684
+ </div>
685
+ </div>
686
+ </div>
687
+
688
+ <div class="carousel-item ">
689
+ <h1>Toolz Skillz</h1>
690
+ <div class="progressBar">
691
+ <h4>Office</h4>
692
+ <div class="progressBarContainer">
693
+ <div class="progressBarValue value-90"></div>
694
+ </div>
695
+ </div>
696
+ <div class="progressBar">
697
+ <h4>Confluence/Jira</h4>
698
+ <div class="progressBarContainer">
699
+ <div class="progressBarValue value-90"></div>
700
+ </div>
701
+ </div>
702
+ <div class="progressBar">
703
+ <h4>Many, many others</h4>
704
+ <div class="progressBarContainer">
705
+ <div class="progressBarValue value-80"></div>
706
+ </div>
707
+ </div>
708
+ </div>
709
+
710
+ <div class="carousel-item ">
711
+ <h1>Admin Skills</h1>
712
+ <div class="progressBar">
713
+ <h4>Jenkins</h4>
714
+ <div class="progressBarContainer">
715
+ <div class="progressBarValue value-70"></div>
716
+ </div>
717
+ </div>
718
+ <div class="progressBar">
719
+ <h4>GCP | Oracle | Azure</h4>
720
+ <div class="progressBarContainer">
721
+ <div class="progressBarValue value-60"></div>
722
+ </div>
723
+ </div>
724
+ <div class="progressBar">
725
+ <h4>GIT | Bitbucket</h4>
726
+ <div class="progressBarContainer">
727
+ <div class="progressBarValue value-65"></div>
728
+ </div>
729
+ </div>
730
+ </div>
731
+
732
+ <div class="carousel-item ">
733
+ <h1>Operating Skills</h1>
734
+ <div class="progressBar">
735
+ <h4>Windows</h4>
736
+ <div class="progressBarContainer">
737
+ <div class="progressBarValue value-90"></div>
738
+ </div>
739
+ </div>
740
+ <div class="progressBar">
741
+ <h4>Linux</h4>
742
+ <div class="progressBarContainer">
743
+ <div class="progressBarValue value-70"></div>
744
+ </div>
745
+ </div>
746
+ <div class="progressBar">
747
+ <h4>Mac</h4>
748
+ <div class="progressBarContainer">
749
+ <div class="progressBarValue value-60"></div>
750
+ </div>
751
+ </div>
752
+ </div>
753
+
754
+ <div class="carousel-item ">
755
+ <h1>Design Skills</h1>
756
+ <div class="progressBar">
757
+ <h4>Figma</h4>
758
+ <div class="progressBarContainer">
759
+ <div class="progressBarValue value-40"></div>
760
+ </div>
761
+ </div>
762
+ <div class="progressBar">
763
+ <h4>Bootstrap UI</h4>
764
+ <div class="progressBarContainer">
765
+ <div class="progressBarValue value-70"></div>
766
+ </div>
767
+ </div>
768
+ <div class="progressBar">
769
+ <h4>Sketch</h4>
770
+ <div class="progressBarContainer">
771
+ <div class="progressBarValue value-20"></div>
772
+ </div>
773
+ </div>
774
+ </div>
775
+
776
+ <div class="carousel-item ">
777
+ <h1>Hobbies</h1>
778
+ <div class="progressBar">
779
+ <h4>Meine Familie</h4>
780
+ <div class="progressBarContainer">
781
+ <div class="progressBarValue value-100"></div>
782
+ </div>
783
+ </div>
784
+ <div class="progressBar">
785
+ <h4>Sauna | TangSoDo | joggen</h4>
786
+ <div class="progressBarContainer">
787
+ <div class="progressBarValue value-70"></div>
788
+ </div>
789
+ </div>
790
+ <div class="progressBar">
791
+ <h4>KI | AI</h4>
792
+ <div class="progressBarContainer">
793
+ <div class="progressBarValue value-95"></div>
794
+ </div>
795
+ </div>
796
+ </div>
797
+
798
+ <div class="carousel-item ">
799
+ <h1>Language Skills</h1>
800
+ <div class="progressBar">
801
+ <h4>Deutsch</h4>
802
+ <div class="progressBarContainer">
803
+ <div class="progressBarValue value-100"></div>
804
+ </div>
805
+ </div>
806
+ <div class="progressBar">
807
+ <h4>English</h4>
808
+ <div class="progressBarContainer">
809
+ <div class="progressBarValue value-85"></div>
810
+ </div>
811
+ </div>
812
+ <div class="progressBar">
813
+ <h4>Dutch UI</h4>
814
+ <div class="progressBarContainer">
815
+ <div class="progressBarValue value-85"></div>
816
+ </div>
817
+ </div>
818
+ <div class="progressBar">
819
+ <h4>French</h4>
820
+ <div class="progressBarContainer">
821
+ <div class="progressBarValue value-40"></div>
822
+ </div>
823
+ </div>
824
+ </div>
825
+
826
+
827
+ </div>
828
+
829
+ <!-- Carousel Controls -->
830
+ <a style="color:black" class="carousel-control-prev" href="#carouselExampleControls" role="button" data-slide="prev">
831
+ <span class="carousel-control-prev-icon" aria-hidden="false"></span>
832
+ <span class="sr-only">Previous</span>
833
+ </a>
834
+ <a style="color:black" class="carousel-control-next" href="#carouselExampleControls" role="button" data-slide="next">
835
+ <span class="carousel-control-next-icon" aria-hidden="false"></span>
836
+ <span class="sr-only">Next</span>
837
+ </a>
838
+ </div>
839
+ </div>
840
+ </div>
841
+
842
+
843
+
844
+
845
+
846
+ </div>
847
+
848
+ """
849
+ modal_html = """
850
+ <!-- Button to trigger modal -->
851
+ <!-- Button trigger modal -->
852
+ <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal">
853
+ Launch demo modal
854
+ </button>
855
+
856
+ <!-- Modal -->
857
+ <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
858
+ <div class="modal-dialog" role="document">
859
+ <div class="modal-content">
860
+ <div class="modal-header">
861
+ <h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
862
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close">
863
+ <span aria-hidden="true">&times;</span>
864
+ </button>
865
+ </div>
866
+ <div class="modal-body">
867
+ ...
868
+ </div>
869
+ <div class="modal-footer">
870
+ <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
871
+ <button type="button" class="btn btn-primary">Save changes</button>
872
+ </div>
873
+ </div>
874
+ </div>
875
+ </div>
876
+ """
877
+
878
+ gr.HTML(header_html)
879
+ chat_app = gr.Blocks(js=js_head, css=".user { background-color: #2980b9; color: white;} :root {--button-primary-text-color: white !important; --button-primary-background-fill-hover: green !important; --button-primary-background-fill: #2980b9 !important;} .message { background-color: #2980b9; color: white;} ")
880
+
881
+ with chat_app:
882
+ gr.HTML(html_head)
883
+ gr.HTML(header_html)
884
+ with gr.Row():
885
+ with gr.Column(scale=1):
886
+ gr.HTML(left_column_html)
887
+ #with gr.Row( ):
888
+ gr.HTML(left_column_html_2)
889
+ with gr.Column(scale=5):
890
+ chat_interface = gr.ChatInterface(fn=get_response, title=None, description=None)
891
+
892
+ #gr.HTML(modal_html)
893
+
894
+
895
+ # Create the Gradio Interface
896
+
897
+ # Launch the Gradio Interface
898
+ chat_app.launch(debug=True, share=True)