|
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator |
|
import matplotlib.pyplot as plt |
|
from PIL import Image |
|
import streamlit as st |
|
|
|
def display_wordcloud(answer, answer_str): |
|
wc_all, wc_question, wc_reference = st.columns([3, 3, 3]) |
|
wordcloud = WordCloud(max_font_size=50, max_words=1000, background_color="white") |
|
with wc_all: |
|
image = Image.open('docs/images/all_papers_wordcloud.png') |
|
st.image(image) |
|
st.caption('''###### Corpus term frequecy.''') |
|
with wc_question: |
|
wordcloud_q = wordcloud.generate(answer_str) |
|
st.image(wordcloud_q.to_array()) |
|
st.caption('''###### Answer term frequecy.''') |
|
with wc_reference: |
|
all_reference_texts = '' |
|
for nodewithscore in answer.source_nodes: |
|
node = nodewithscore.node |
|
from llama_index.core.schema import NodeRelationship |
|
|
|
all_reference_texts = all_reference_texts + '\n' + node.text |
|
wordcloud_r = wordcloud.generate(all_reference_texts) |
|
st.image(wordcloud_r.to_array()) |
|
st.caption('''###### Reference plus graph term frequecy.''') |