Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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 |
-
|
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 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
)
|
325 |
-
|
326 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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">×</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)
|