timeki commited on
Commit
b58c53f
2 Parent(s): 6c5a20c 14a5a97

Merge branch 'main' into feature/graph_recommandation

Browse files
app.py CHANGED
@@ -94,6 +94,21 @@ share_client = service.get_share_client(file_share_name)
94
  user_id = create_user_id()
95
 
96
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
 
98
  # Create vectorstore and retriever
99
  vectorstore = get_pinecone_vectorstore(embeddings_function, index_name = os.getenv("PINECONE_API_INDEX"))
@@ -129,7 +144,7 @@ async def chat(query,history,audience,sources,reports,current_graphs):
129
  if reports is None or len(reports) == 0:
130
  reports = []
131
 
132
- inputs = {"user_input": query,"audience": audience_prompt,"sources":sources}
133
  result = agent.astream_events(inputs,version = "v1")
134
 
135
 
@@ -638,9 +653,27 @@ with gr.Blocks(title="Climate Q&A", css_paths=os.getcwd()+ "/style.css", theme=t
638
  with gr.Tab("About",elem_classes = "max-height other-tabs"):
639
  with gr.Row():
640
  with gr.Column(scale=1):
641
- gr.Markdown("See more info at [https://climateqa.com](https://climateqa.com/docs/intro/)")
642
-
643
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
644
 
645
 
646
  def start_chat(query,history):
 
94
  user_id = create_user_id()
95
 
96
 
97
+ CITATION_LABEL = "BibTeX citation for ClimateQ&A"
98
+ CITATION_TEXT = r"""@misc{climateqa,
99
+ author={Théo Alves Da Costa, Timothée Bohe},
100
+ title={ClimateQ&A, AI-powered conversational assistant for climate change and biodiversity loss},
101
+ year={2024},
102
+ howpublished= {\url{https://climateqa.com}},
103
+ }
104
+ @software{climateqa,
105
+ author = {Théo Alves Da Costa, Timothée Bohe},
106
+ publisher = {ClimateQ&A},
107
+ title = {ClimateQ&A, AI-powered conversational assistant for climate change and biodiversity loss},
108
+ }
109
+ """
110
+
111
+
112
 
113
  # Create vectorstore and retriever
114
  vectorstore = get_pinecone_vectorstore(embeddings_function, index_name = os.getenv("PINECONE_API_INDEX"))
 
144
  if reports is None or len(reports) == 0:
145
  reports = []
146
 
147
+ inputs = {"user_input": query,"audience": audience_prompt,"sources_input":sources}
148
  result = agent.astream_events(inputs,version = "v1")
149
 
150
 
 
653
  with gr.Tab("About",elem_classes = "max-height other-tabs"):
654
  with gr.Row():
655
  with gr.Column(scale=1):
656
+
657
+
658
+
659
+
660
+ gr.Markdown("""
661
+ ### More info
662
+ - See more info at [https://climateqa.com](https://climateqa.com/docs/intro/)
663
+ - Feedbacks on this [form](https://forms.office.com/e/1Yzgxm6jbp)
664
+
665
+ ### Citation
666
+ """)
667
+ with gr.Accordion(CITATION_LABEL,elem_id="citation", open = False,):
668
+ # # Display citation label and text)
669
+ gr.Textbox(
670
+ value=CITATION_TEXT,
671
+ label="",
672
+ interactive=False,
673
+ show_copy_button=True,
674
+ lines=len(CITATION_TEXT.split('\n')),
675
+ )
676
+
677
 
678
 
679
  def start_chat(query,history):
climateqa/engine/chains/query_transformation.py CHANGED
@@ -191,11 +191,11 @@ def make_query_transform_node(llm,k_final=15):
191
  # new_state["questions"] = new_questions
192
  # new_state["remaining_questions"] = new_questions
193
 
 
194
  new_state = {
195
  "remaining_questions":new_questions,
196
  "n_questions":len(new_questions),
197
  }
198
-
199
  return new_state
200
 
201
  return transform_query
 
191
  # new_state["questions"] = new_questions
192
  # new_state["remaining_questions"] = new_questions
193
 
194
+
195
  new_state = {
196
  "remaining_questions":new_questions,
197
  "n_questions":len(new_questions),
198
  }
 
199
  return new_state
200
 
201
  return transform_query
front/utils.py CHANGED
@@ -219,7 +219,6 @@ def make_html_figure_sources(source,i,img_str):
219
  <img src="data:image/png;base64, { img_str }" alt="Alt text" />
220
  <p class='ai-generated'>AI-generated description</p>
221
 
222
-
223
  <p>{content}</p>
224
 
225
  {relevancy_score}
 
219
  <img src="data:image/png;base64, { img_str }" alt="Alt text" />
220
  <p class='ai-generated'>AI-generated description</p>
221
 
 
222
  <p>{content}</p>
223
 
224
  {relevancy_score}
style.css CHANGED
@@ -113,6 +113,8 @@ a {
113
  color:#dc2626!important;
114
  /* margin-right:1px; */
115
  }
 
 
116
  .card {
117
  background-color: white;
118
  border-radius: 10px;
@@ -326,21 +328,33 @@ footer {
326
  /* ... add other mobile-specific styles ... */
327
  }
328
 
 
 
 
 
 
 
 
329
 
330
- body.dark .card{
331
- background-color: #374151;
332
- }
333
-
334
- body.dark .card-content h2{
335
- color:#f4dbd3 !important;
336
- }
337
-
338
- body.dark .card-footer {
339
- background-color: #404652;
340
- }
341
 
342
- body.dark .card-footer span {
343
- color:white !important;
 
 
 
 
 
 
 
 
 
 
 
 
 
344
  }
345
 
346
 
@@ -386,7 +400,7 @@ span.chatbot > p > img{
386
  }
387
 
388
  .card-image > .card-content{
389
- background-color:#f1f7fa !important;
390
  }
391
 
392
 
@@ -497,7 +511,7 @@ span.chatbot > p > img{
497
  border-top: 1px solid #db3434 !important; /* Blue color */
498
  border-right: 1px solid #3498db !important; /* Blue color */
499
  border-radius: 50%;
500
- width: 20px;
501
  height: 20px;
502
  animation: spin 2s linear infinite;
503
  display:inline-block;
 
113
  color:#dc2626!important;
114
  /* margin-right:1px; */
115
  }
116
+
117
+
118
  .card {
119
  background-color: white;
120
  border-radius: 10px;
 
328
  /* ... add other mobile-specific styles ... */
329
  }
330
 
331
+ @media (prefers-color-scheme: dark) {
332
+ .card{
333
+ background-color: #374151;
334
+ }
335
+ .card-image > .card-content{
336
+ background-color: rgb(55, 65, 81) !important;
337
+ }
338
 
339
+ .card-footer {
340
+ background-color: #404652;
341
+ }
 
 
 
 
 
 
 
 
342
 
343
+ .container > .wrap{
344
+ background-color: #374151 !important;
345
+ color:white !important;
346
+ }
347
+ .card-content h2{
348
+ color:#e7754f !important;
349
+ }
350
+ .doc-ref sup{
351
+ color:rgb(235 109 35)!important;
352
+ /* margin-right:1px; */
353
+ }
354
+ .card-footer span {
355
+ color:white !important;
356
+ }
357
+
358
  }
359
 
360
 
 
400
  }
401
 
402
  .card-image > .card-content{
403
+ background-color:#f1f7fa;
404
  }
405
 
406
 
 
511
  border-top: 1px solid #db3434 !important; /* Blue color */
512
  border-right: 1px solid #3498db !important; /* Blue color */
513
  border-radius: 50%;
514
+ width: 20px;
515
  height: 20px;
516
  animation: spin 2s linear infinite;
517
  display:inline-block;