Spaces:
Build error
Build error
Upload 21 files
Browse files- app.py +393 -0
- chunk_store.json +0 -0
- memory_embeddings.json +0 -0
- qa_log.jsonl +0 -0
- readme +18 -0
- requirements.txt +14 -0
- web_contexts/hear_recurrent_research_on_CS_.json +5 -0
- web_contexts/hello.json +7 -0
- web_contexts/how_to_cook_brayani_.json +7 -0
- web_contexts/is_there_any_research_on_python_code_optimisation.json +7 -0
- web_contexts/search_me_a_news_about_2025_Myanmar_earthquake.json +9 -0
- web_contexts/search_me_a_recipe_for_brayni_online_and_summarise.json +8 -0
- web_contexts/search_me_a_recipe_for_curry_mutton__online_and_su.json +7 -0
- web_contexts/search_me_a_sushi_recipe_online_.json +7 -0
- web_contexts/search_me_a_sushi_recipe_online_and_tell_me_hoe_to.json +8 -0
- web_contexts/search_me_about_her_to_code_list_in_python_online_.json +10 -0
- web_contexts/search_me_an_online_about_myanmar_2025_earthquake_.json +7 -0
- web_contexts/search_me_myanmar_2025_earthquake_news_.json +10 -0
- web_contexts/what_are_LLM_and_is_there_any_research_about_LLMs.json +7 -0
- web_contexts/what_are_the_current_research_on_neuroscience_scie.json +10 -0
- web_contexts/what_is_the_current_bit_coin_price_right_now_.json +8 -0
app.py
ADDED
|
@@ -0,0 +1,393 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# === Required Libraries ===
|
| 2 |
+
from huggingface_hub import InferenceClient
|
| 3 |
+
import os
|
| 4 |
+
import sys
|
| 5 |
+
import re
|
| 6 |
+
import json
|
| 7 |
+
import requests
|
| 8 |
+
import logging
|
| 9 |
+
from bs4 import BeautifulSoup
|
| 10 |
+
from readability import Document
|
| 11 |
+
from duckduckgo_search import DDGS
|
| 12 |
+
from concurrent.futures import ThreadPoolExecutor
|
| 13 |
+
import gradio as gr
|
| 14 |
+
from datetime import datetime, timedelta
|
| 15 |
+
from sentence_transformers import SentenceTransformer
|
| 16 |
+
import faiss
|
| 17 |
+
import numpy as np
|
| 18 |
+
import wikipedia
|
| 19 |
+
|
| 20 |
+
# === Configuration ===
|
| 21 |
+
HF_TOKEN = os.getenv("HF_TOKEN")
|
| 22 |
+
MODEL_NAME = "meta-llama/Llama-3.1-8B-Instruct"
|
| 23 |
+
client = InferenceClient(model=MODEL_NAME, token=HF_TOKEN)
|
| 24 |
+
|
| 25 |
+
HEADERS = {"User-Agent": "Mozilla/5.0"}
|
| 26 |
+
MAX_RESULTS = 5
|
| 27 |
+
MAX_CHARS = 5000
|
| 28 |
+
CONTEXT_DIR = "web_contexts"
|
| 29 |
+
CHUNK_STORE = "chunk_store.json"
|
| 30 |
+
LOG_FILE = "qa_log.jsonl"
|
| 31 |
+
EMBED_FILE = "memory_embeddings.json"
|
| 32 |
+
MAX_CHUNK_AGE_DAYS = 3
|
| 33 |
+
MIN_CONTEXT_SIMILARITY = 0.4
|
| 34 |
+
|
| 35 |
+
SEMANTIC_SCHOLAR_API = "https://api.semanticscholar.org/graph/v1/paper/search"
|
| 36 |
+
SEMANTIC_SCHOLAR_FIELDS = "title,abstract,url,authors,year"
|
| 37 |
+
|
| 38 |
+
os.makedirs(CONTEXT_DIR, exist_ok=True)
|
| 39 |
+
logging.basicConfig(level=logging.INFO)
|
| 40 |
+
|
| 41 |
+
# === Embedding Model ===
|
| 42 |
+
EMBED_MODEL = SentenceTransformer("all-MiniLM-L6-v2")
|
| 43 |
+
|
| 44 |
+
def embed(text):
|
| 45 |
+
emb = EMBED_MODEL.encode([text])[0]
|
| 46 |
+
return np.array(emb, dtype=np.float32)
|
| 47 |
+
|
| 48 |
+
def cosine_similarity(a, b):
|
| 49 |
+
return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b) + 1e-10)
|
| 50 |
+
|
| 51 |
+
def chunk_text(text, max_tokens=200):
|
| 52 |
+
sentences = re.split(r'(?<=[.!?]) +', text)
|
| 53 |
+
chunks, chunk, tokens = [], [], 0
|
| 54 |
+
for sent in sentences:
|
| 55 |
+
sent_tokens = len(sent.split())
|
| 56 |
+
if tokens + sent_tokens > max_tokens:
|
| 57 |
+
chunks.append(" ".join(chunk))
|
| 58 |
+
chunk, tokens = [], 0
|
| 59 |
+
chunk.append(sent)
|
| 60 |
+
tokens += sent_tokens
|
| 61 |
+
if chunk:
|
| 62 |
+
chunks.append(" ".join(chunk))
|
| 63 |
+
return chunks
|
| 64 |
+
|
| 65 |
+
def current_iso_timestamp():
|
| 66 |
+
return datetime.utcnow().isoformat()
|
| 67 |
+
|
| 68 |
+
def save_chunks(query, chunks, urls):
|
| 69 |
+
chunk_data = []
|
| 70 |
+
now = current_iso_timestamp()
|
| 71 |
+
for chunk in chunks:
|
| 72 |
+
chunk_data.append({
|
| 73 |
+
"query": query,
|
| 74 |
+
"chunk": chunk,
|
| 75 |
+
"embedding": embed(chunk).tolist(),
|
| 76 |
+
"sources": urls,
|
| 77 |
+
"timestamp": now
|
| 78 |
+
})
|
| 79 |
+
if os.path.exists(CHUNK_STORE):
|
| 80 |
+
with open(CHUNK_STORE, "r") as f:
|
| 81 |
+
existing = json.load(f)
|
| 82 |
+
cutoff = datetime.utcnow() - timedelta(days=MAX_CHUNK_AGE_DAYS)
|
| 83 |
+
existing = [c for c in existing if datetime.fromisoformat(c.get("timestamp", "1970-01-01T00:00:00")) > cutoff]
|
| 84 |
+
else:
|
| 85 |
+
existing = []
|
| 86 |
+
existing.extend(chunk_data)
|
| 87 |
+
with open(CHUNK_STORE, "w") as f:
|
| 88 |
+
json.dump(existing, f, indent=2)
|
| 89 |
+
|
| 90 |
+
def is_recent_chunk(ts):
|
| 91 |
+
try:
|
| 92 |
+
return (datetime.utcnow() - datetime.fromisoformat(ts)) < timedelta(days=MAX_CHUNK_AGE_DAYS)
|
| 93 |
+
except:
|
| 94 |
+
return False
|
| 95 |
+
|
| 96 |
+
def retrieve_context_from_chunks(question, top_k=4):
|
| 97 |
+
if not os.path.exists(CHUNK_STORE):
|
| 98 |
+
return "", [], 0.0
|
| 99 |
+
with open(CHUNK_STORE, "r") as f:
|
| 100 |
+
data = json.load(f)
|
| 101 |
+
data = [d for d in data if is_recent_chunk(d.get("timestamp", ""))]
|
| 102 |
+
if not data:
|
| 103 |
+
return "", [], 0.0
|
| 104 |
+
|
| 105 |
+
embeddings = np.array([d['embedding'] for d in data]).astype('float32')
|
| 106 |
+
dim = embeddings.shape[1]
|
| 107 |
+
q_emb = embed(question).reshape(1, -1).astype('float32')
|
| 108 |
+
if q_emb.shape[1] != dim:
|
| 109 |
+
os.remove(CHUNK_STORE)
|
| 110 |
+
return "", [], 0.0
|
| 111 |
+
|
| 112 |
+
index = faiss.IndexFlatL2(dim)
|
| 113 |
+
index.add(embeddings)
|
| 114 |
+
distances, I = index.search(q_emb, top_k)
|
| 115 |
+
top_chunks = [data[i]['chunk'] for i in I[0]]
|
| 116 |
+
sources = list({src for i in I[0] for src in data[i]['sources']})
|
| 117 |
+
similarities = 1 / (distances[0] + 1e-6)
|
| 118 |
+
avg_sim = np.mean(similarities)
|
| 119 |
+
return "\n\n".join(top_chunks), sources, avg_sim
|
| 120 |
+
|
| 121 |
+
def fetch_text(url):
|
| 122 |
+
try:
|
| 123 |
+
r = requests.get(url, headers=HEADERS, timeout=10)
|
| 124 |
+
doc = Document(r.text)
|
| 125 |
+
soup = BeautifulSoup(doc.summary(), "html.parser")
|
| 126 |
+
text = " ".join(p.get_text() for p in soup.find_all("p")).strip()
|
| 127 |
+
return text, url
|
| 128 |
+
except Exception as e:
|
| 129 |
+
return "", url
|
| 130 |
+
|
| 131 |
+
def scrape_and_save(query):
|
| 132 |
+
filename = re.sub(r'[^a-zA-Z0-9_-]', '_', query)[:50] + ".json"
|
| 133 |
+
filepath = os.path.join(CONTEXT_DIR, filename)
|
| 134 |
+
if os.path.exists(filepath):
|
| 135 |
+
with open(filepath, "r") as f:
|
| 136 |
+
d = json.load(f)
|
| 137 |
+
return d["context"], d["sources"]
|
| 138 |
+
|
| 139 |
+
with DDGS() as ddgs:
|
| 140 |
+
results = list(ddgs.text(query, max_results=MAX_RESULTS))
|
| 141 |
+
|
| 142 |
+
urls = list({r['href'] for r in results if 'href' in r})
|
| 143 |
+
with ThreadPoolExecutor(max_workers=MAX_RESULTS) as executor:
|
| 144 |
+
fetched = list(executor.map(fetch_text, urls))
|
| 145 |
+
|
| 146 |
+
texts, used_urls, total_chars = [], [], 0
|
| 147 |
+
q_emb = embed(query)
|
| 148 |
+
for text, url in fetched:
|
| 149 |
+
if not text:
|
| 150 |
+
continue
|
| 151 |
+
if query.lower() not in text.lower():
|
| 152 |
+
sim = cosine_similarity(q_emb, embed(text))
|
| 153 |
+
if sim < 0.3:
|
| 154 |
+
continue
|
| 155 |
+
if total_chars + len(text) > MAX_CHARS:
|
| 156 |
+
text = text[:MAX_CHARS - total_chars]
|
| 157 |
+
texts.append(text)
|
| 158 |
+
used_urls.append(url)
|
| 159 |
+
total_chars += len(text)
|
| 160 |
+
if total_chars >= MAX_CHARS:
|
| 161 |
+
break
|
| 162 |
+
|
| 163 |
+
context = "\n\n".join(texts)
|
| 164 |
+
chunks = chunk_text(context)
|
| 165 |
+
save_chunks(query, chunks, used_urls)
|
| 166 |
+
with open(filepath, "w") as f:
|
| 167 |
+
json.dump({"query": query, "context": context, "sources": used_urls}, f, indent=2)
|
| 168 |
+
return context, used_urls
|
| 169 |
+
|
| 170 |
+
def get_similar_memories(question, top_k=3):
|
| 171 |
+
if not os.path.exists(EMBED_FILE):
|
| 172 |
+
return []
|
| 173 |
+
with open(EMBED_FILE, "r") as f:
|
| 174 |
+
data = json.load(f)
|
| 175 |
+
if not data:
|
| 176 |
+
return []
|
| 177 |
+
|
| 178 |
+
embeddings = np.array([m['embedding'] for m in data]).astype('float32')
|
| 179 |
+
dim = embeddings.shape[1]
|
| 180 |
+
q_emb = embed(question).reshape(1, -1).astype('float32')
|
| 181 |
+
if q_emb.shape[1] != dim:
|
| 182 |
+
os.remove(EMBED_FILE)
|
| 183 |
+
return []
|
| 184 |
+
|
| 185 |
+
index = faiss.IndexFlatL2(dim)
|
| 186 |
+
index.add(embeddings)
|
| 187 |
+
_, I = index.search(q_emb, top_k)
|
| 188 |
+
return [data[i] for i in I[0]]
|
| 189 |
+
|
| 190 |
+
def save_embedding_to_store(entry):
|
| 191 |
+
if os.path.exists(EMBED_FILE):
|
| 192 |
+
with open(EMBED_FILE, "r") as f:
|
| 193 |
+
data = json.load(f)
|
| 194 |
+
else:
|
| 195 |
+
data = []
|
| 196 |
+
data.append(entry)
|
| 197 |
+
with open(EMBED_FILE, "w") as f:
|
| 198 |
+
json.dump(data, f, indent=2)
|
| 199 |
+
|
| 200 |
+
def answer_from_context(question):
|
| 201 |
+
memory = get_similar_memories(question)
|
| 202 |
+
memory_prompt = "\n\n".join(f"Q: {m['q']}\nA: {m['a']}" for m in memory)
|
| 203 |
+
context, sources, avg_sim = retrieve_context_from_chunks(question)
|
| 204 |
+
|
| 205 |
+
prompt = f"""
|
| 206 |
+
Today's date is {datetime.utcnow().date()}.
|
| 207 |
+
Use context and memory to answer and summarize the following question using fullly finished lines end with., clear, and grammatically correct finish sentences. Ensure that the response is factually accurate, complete, well-organized, finish sentences and easy to understand. Avoid repeating information,unfinish sentences and keep the response concise while still being informative.
|
| 208 |
+
|
| 209 |
+
[CONTEXT]
|
| 210 |
+
{context}
|
| 211 |
+
|
| 212 |
+
[MEMORY]
|
| 213 |
+
{memory_prompt}
|
| 214 |
+
|
| 215 |
+
[QUESTION]
|
| 216 |
+
Answer and summarize the following question using fullly finish linesens end with., clear, and grammatically correct finish sentences. Ensure that the response is factually accurate, complete, well-organized, finish sentences and easy to understand. Avoid repeating information, unfinish sentences, and keep the response concise while still being informative.
|
| 217 |
+
{question}
|
| 218 |
+
|
| 219 |
+
[ANSWER]
|
| 220 |
+
"""
|
| 221 |
+
try:
|
| 222 |
+
response = client.text_generation(prompt, max_new_tokens=512)
|
| 223 |
+
reply = response.strip().split("<|assistant|>")[-1].strip()
|
| 224 |
+
except Exception as e:
|
| 225 |
+
reply = f"Error: {e}"
|
| 226 |
+
|
| 227 |
+
log = {
|
| 228 |
+
"time": str(datetime.utcnow()),
|
| 229 |
+
"q": question,
|
| 230 |
+
"a": reply,
|
| 231 |
+
"sources": sources,
|
| 232 |
+
"embedding": embed(question).tolist()
|
| 233 |
+
}
|
| 234 |
+
with open(LOG_FILE, "a") as f:
|
| 235 |
+
f.write(json.dumps(log) + "\n")
|
| 236 |
+
save_embedding_to_store(log)
|
| 237 |
+
return reply, sources, avg_sim
|
| 238 |
+
|
| 239 |
+
def needs_web_search_llm(question):
|
| 240 |
+
prompt = f"""
|
| 241 |
+
You are a helpful assistant that classifies whether a question requires a web search or external data.
|
| 242 |
+
|
| 243 |
+
Question: "{question}"
|
| 244 |
+
|
| 245 |
+
Answer with only "YES" if a web search is needed or "NO" if not.
|
| 246 |
+
"""
|
| 247 |
+
try:
|
| 248 |
+
response = client.text_generation(prompt, max_new_tokens=10)
|
| 249 |
+
return "YES" in response.strip().upper()
|
| 250 |
+
except Exception as e:
|
| 251 |
+
return False
|
| 252 |
+
|
| 253 |
+
def is_general_knowledge_question(question):
|
| 254 |
+
prompt = f"""
|
| 255 |
+
You are a classifier. Determine if the question below can be answered using general world knowledge, like an encyclopedia or Wikipedia.
|
| 256 |
+
|
| 257 |
+
Question: "{question}"
|
| 258 |
+
|
| 259 |
+
Answer with "YES" if it is general knowledge. Otherwise answer "NO".
|
| 260 |
+
"""
|
| 261 |
+
try:
|
| 262 |
+
response = client.text_generation(prompt, max_new_tokens=10)
|
| 263 |
+
return "YES" in response.strip().upper()
|
| 264 |
+
except Exception as e:
|
| 265 |
+
return False
|
| 266 |
+
|
| 267 |
+
def get_wikipedia_summary(query, sentences=3):
|
| 268 |
+
try:
|
| 269 |
+
wikipedia.set_lang("en")
|
| 270 |
+
return wikipedia.summary(query, sentences=sentences)
|
| 271 |
+
except wikipedia.exceptions.DisambiguationError as e:
|
| 272 |
+
return f"Ambiguous question. Possible topics: {', '.join(e.options[:5])}"
|
| 273 |
+
except wikipedia.exceptions.PageError:
|
| 274 |
+
return "No Wikipedia article found for that topic."
|
| 275 |
+
except Exception as e:
|
| 276 |
+
return "Error accessing Wikipedia."
|
| 277 |
+
|
| 278 |
+
# === Semantic Scholar API integration ===
|
| 279 |
+
def semantic_scholar_search(query, max_results=5):
|
| 280 |
+
params = {
|
| 281 |
+
"query": query,
|
| 282 |
+
"fields": SEMANTIC_SCHOLAR_FIELDS,
|
| 283 |
+
"limit": max_results
|
| 284 |
+
}
|
| 285 |
+
try:
|
| 286 |
+
resp = requests.get(SEMANTIC_SCHOLAR_API, params=params, timeout=10)
|
| 287 |
+
resp.raise_for_status()
|
| 288 |
+
data = resp.json()
|
| 289 |
+
papers = data.get("data", [])
|
| 290 |
+
texts = []
|
| 291 |
+
urls = []
|
| 292 |
+
for p in papers:
|
| 293 |
+
title = p.get("title", "")
|
| 294 |
+
abstract = p.get("abstract", "")
|
| 295 |
+
url = p.get("url", "")
|
| 296 |
+
year = p.get("year", "")
|
| 297 |
+
authors = ", ".join([a.get("name","") for a in p.get("authors", [])])
|
| 298 |
+
entry = f"Title: {title}\nAuthors: {authors}\nYear: {year}\nAbstract: {abstract}\nURL: {url}\n"
|
| 299 |
+
texts.append(entry)
|
| 300 |
+
if url:
|
| 301 |
+
urls.append(url)
|
| 302 |
+
if len("\n\n".join(texts)) > MAX_CHARS:
|
| 303 |
+
break
|
| 304 |
+
context = "\n\n".join(texts)
|
| 305 |
+
chunks = chunk_text(context)
|
| 306 |
+
save_chunks(query, chunks, urls)
|
| 307 |
+
return context, urls
|
| 308 |
+
except Exception as e:
|
| 309 |
+
logging.warning(f"Semantic Scholar API error: {e}")
|
| 310 |
+
return "", []
|
| 311 |
+
|
| 312 |
+
def is_research_question(question):
|
| 313 |
+
# Simple heuristic to detect research/scientific questions
|
| 314 |
+
keywords = [
|
| 315 |
+
"research", "study", "paper", "findings", "experiment", "scientific", "evidence", "meta-analysis",
|
| 316 |
+
"hypothesis", "literature review", "case study", "theory", "framework", "methodology", "analysis",
|
| 317 |
+
"data", "observation", "results", "variables", "survey", "questionnaire", "sampling", "experiment design",
|
| 318 |
+
"quantitative", "qualitative", "mixed methods", "statistical", "inference", "regression", "correlation",
|
| 319 |
+
"interview", "focus group", "coding", "themes", "interpretation", "reliability", "validity", "bias",
|
| 320 |
+
"significance", "conclusion", "discussion", "implications", "limitations", "future research", "peer review",
|
| 321 |
+
"publication", "citation", "replication", "protocol", "ethics", "IRB", "research question", "objective",
|
| 322 |
+
"aim", "problem statement", "gap", "contribution", "novelty", "originality", "dataset", "case", "fieldwork",
|
| 323 |
+
"observational", "experimental", "review", "systematic review", "control group", "randomized", "longitudinal",
|
| 324 |
+
"cross-sectional", "data analysis", "research design", "conceptual", "empirical", "exploratory", "descriptive",
|
| 325 |
+
"causal", "predictive", "construct", "operationalization", "dependent variable", "independent variable",
|
| 326 |
+
"mediator", "moderator", "association", "impact", "effect", "relationship", "outcome", "measure", "coding scheme"
|
| 327 |
+
]
|
| 328 |
+
|
| 329 |
+
q_lower = question.lower()
|
| 330 |
+
return any(kw in q_lower for kw in keywords)
|
| 331 |
+
|
| 332 |
+
def ask(q):
|
| 333 |
+
# Check if research/scientific question and use Semantic Scholar
|
| 334 |
+
if is_research_question(q):
|
| 335 |
+
context, sources = semantic_scholar_search(q)
|
| 336 |
+
if context:
|
| 337 |
+
answer, sources, _ = answer_from_context(q)
|
| 338 |
+
sources_text = "\n".join(f"- {url}" for url in sources)
|
| 339 |
+
return answer, sources_text
|
| 340 |
+
# fallback to regular web search if semantic scholar fails
|
| 341 |
+
context, sources = scrape_and_save(q)
|
| 342 |
+
answer, sources, _ = answer_from_context(q)
|
| 343 |
+
sources_text = "\n".join(f"- {url}" for url in sources)
|
| 344 |
+
return answer, sources_text
|
| 345 |
+
|
| 346 |
+
# General knowledge questions use Wikipedia
|
| 347 |
+
if is_general_knowledge_question(q):
|
| 348 |
+
return get_wikipedia_summary(q), "Source: Wikipedia"
|
| 349 |
+
|
| 350 |
+
# Check if we already have context stored with sufficient similarity
|
| 351 |
+
_, _, avg_sim = retrieve_context_from_chunks(q)
|
| 352 |
+
|
| 353 |
+
# Check if web search is needed or context similarity too low
|
| 354 |
+
intent_search = needs_web_search_llm(q)
|
| 355 |
+
|
| 356 |
+
if intent_search or avg_sim < MIN_CONTEXT_SIMILARITY:
|
| 357 |
+
context, sources = scrape_and_save(q)
|
| 358 |
+
answer, sources, _ = answer_from_context(q)
|
| 359 |
+
sources_text = "\n".join(f"- {url}" for url in sources)
|
| 360 |
+
else:
|
| 361 |
+
# Use model to answer from prompt only
|
| 362 |
+
prompt = f"<|user|>\n Answer and summarize the following question using fullly finish lines end with. , clear, and grammatically correct finish sentences. Ensure that the response is factually accurate, complete, well-organized, finish stances, and easy to understand. Avoid repeating information, unfinish sentences, and keep the response concise while still being informative.:\n{q.strip()}\n<|assistant|>\n"
|
| 363 |
+
try:
|
| 364 |
+
response = client.text_generation(prompt, max_new_tokens=512)
|
| 365 |
+
answer = response.strip().split("<|assistant|>")[-1].strip()
|
| 366 |
+
except Exception as e:
|
| 367 |
+
answer = f"Error: {e}"
|
| 368 |
+
sources_text = ""
|
| 369 |
+
|
| 370 |
+
return answer, sources_text
|
| 371 |
+
|
| 372 |
+
# === Gradio UI ===
|
| 373 |
+
with gr.Blocks() as demo:
|
| 374 |
+
gr.Markdown("""
|
| 375 |
+
## 🤖 LLaMA 3.1 Smart QA Bot
|
| 376 |
+
- Uses **Wikipedia** for general knowledge
|
| 377 |
+
- Searches **Semantic Scholar** for research-related questions
|
| 378 |
+
- Falls back to web search when needed
|
| 379 |
+
- Can handle **casual chat** too!
|
| 380 |
+
""")
|
| 381 |
+
|
| 382 |
+
q_input = gr.Textbox(label="Your Question")
|
| 383 |
+
submit = gr.Button("Ask")
|
| 384 |
+
a_output = gr.Textbox(label="Answer")
|
| 385 |
+
s_output = gr.Markdown()
|
| 386 |
+
submit.click(ask, inputs=q_input, outputs=[a_output, s_output])
|
| 387 |
+
|
| 388 |
+
if __name__ == '__main__':
|
| 389 |
+
if len(sys.argv) > 1:
|
| 390 |
+
question = " ".join(sys.argv[1:])
|
| 391 |
+
print(ask(question))
|
| 392 |
+
else:
|
| 393 |
+
demo.launch()
|
chunk_store.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
memory_embeddings.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
qa_log.jsonl
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
readme
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
!!!pip installthe list first!!!
|
| 2 |
+
________________________________________________________LIST____________________________________________________
|
| 3 |
+
pip install \
|
| 4 |
+
huggingface_hub \
|
| 5 |
+
sentence-transformers \
|
| 6 |
+
faiss-cpu \
|
| 7 |
+
duckduckgo-search \
|
| 8 |
+
readability-lxml \
|
| 9 |
+
beautifulsoup4 \
|
| 10 |
+
requests \
|
| 11 |
+
gradio \
|
| 12 |
+
llama-cpp-python \
|
| 13 |
+
numpy \
|
| 14 |
+
regex \
|
| 15 |
+
torch \
|
| 16 |
+
wikipedia \
|
| 17 |
+
sympy
|
| 18 |
+
|
requirements.txt
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
huggingface_hub>=0.20.0
|
| 2 |
+
sentence-transformers>=2.2.2
|
| 3 |
+
faiss-cpu>=1.7.4
|
| 4 |
+
duckduckgo-search>=0.9
|
| 5 |
+
readability-lxml>=0.8.1
|
| 6 |
+
beautifulsoup4>=4.12.2
|
| 7 |
+
requests>=2.31.0
|
| 8 |
+
gradio>=4.16.0
|
| 9 |
+
llama-cpp-python>=0.2.11
|
| 10 |
+
numpy>=1.24.3
|
| 11 |
+
regex>=2023.6.3
|
| 12 |
+
torch>=2.1.0
|
| 13 |
+
wikipedia>=1.4.0
|
| 14 |
+
sympy>=1.12
|
web_contexts/hear_recurrent_research_on_CS_.json
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"query": "hear recurrent research on CS?",
|
| 3 |
+
"context": "",
|
| 4 |
+
"sources": []
|
| 5 |
+
}
|
web_contexts/hello.json
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"query": "hello",
|
| 3 |
+
"context": "You can also find related words, phrases, and synonyms in the topics: \n \nExamples of hello \n hello\n \n From Wikipedia This example is from Wikipedia and may be reused under a CC BY-SA license.\n \n From Wikipedia This example is from Wikipedia and may be reused under a CC BY-SA license.\n \n From Wikipedia This example is from Wikipedia and may be reused under a CC BY-SA license.\n \n From Wikipedia This example is from Wikipedia and may be reused under a CC BY-SA license.\n \n From Wikipedia This example is from Wikipedia and may be reused under a CC BY-SA license.\n \n From Wikipedia This example is from Wikipedia and may be reused under a CC BY-SA license.\n \n From Wikipedia This example is from Wikipedia and may be reused under a CC BY-SA license.\n \n From Wikipedia This example is from Wikipedia and may be reused under a CC BY-SA license.\n \n These examples are from corpora and from sources on the web. Any opinions in the examples do not represent the opinion of the Cambridge Dictionary editors or of Cambridge University Press or its licensors. \u00a0 \n in Chinese (Traditional)\n \n \u5582\uff0c\u4f60\u597d\uff08\u7528\u65bc\u554f\u5019\u6216\u6253\u62db\u547c\uff09, \uff08\u6253\u96fb\u8a71\u6642\u7684\u62db\u547c\u8a9e\uff09\u4f60\u597d\uff0c\u5582, \uff08\u5f15\u8d77\u5225\u4eba\u6ce8\u610f\u7684\u62db\u547c\u8a9e\uff09\u2026\n \n in Chinese (Simplified)\n \n \u5582\uff0c\u4f60\u597d\uff08\u7528\u4e8e\u95ee\u5019\u6216\u6253\u62db\u547c\uff09, \uff08\u6253\u7535\u8bdd\u65f6\u7684\u62db\u547c\u8bed\uff09\u4f60\u597d\uff0c\u5582, \uff08\u5f15\u8d77\u522b\u4eba\u6ce8\u610f\u7684\u62db\u547c\u8bed\uff09\u2026\n \n in Spanish\n \n hola, s\u00ed, al\u00f3\u2026\n \n in Portuguese\n \n al\u00f4, ol\u00e1, oi\u2026\n \n in Marathi\n \n in Japanese\n \n in Turkish\n \n in French\n \n in Catalan\n \n in Dutch\n \n in Tamil\n \n in Hindi\n \n in Gujarati\n \n in Danish\n \n in Swedish\n \n in Malay\n \n in German\n \n in Norwegian\n \n in Urdu\n \n in Ukrainian\n \n in Russian\n \n in Telugu\n \n in Arabic\n \n in Bengali\n \n in Czech\n \n in Indonesian\n \n in Thai\n \n in Vietnamese\n \n in Polish\n \n in Korean\n \n in Italian\n \n \u0939\u0945\u0932\u094b, \u092c\u094b\u0932\u093e\u092f\u0932\u093e \u0938\u0941\u0930\u0941\u0935\u093e\u0924 \u0915\u0930\u093e\u092f\u091a\u094d\u092f\u093e \u0906\u0927\u0940 \u0905\u092d\u093f\u0935\u093e\u0926\u0928 \u0915\u0930\u093e\u092f\u0932\u093e \u0935\u093e\u092a\u0930\u0932\u0947\u0932\u093e \u0936\u092c\u094d\u0926\u2026\n \n \u3053\u3093\u306b\u3061\u306f\uff08\u6328\u62f6\u3084\u547c\u3073\u304b\u3051\u306b\u4f7f\u3046\uff09, \u3082\u3057\u3082\u3057\uff08\u96fb\u8a71\u306e\u547c\u3073\u304b\u3051\uff09, \u3053\u3093\u306b\u3061\u306f\u2026\n \n Merhaba!', 'Sel\u00e2m!', Alo!'\u2026\n \n \u0b92\u0bb0\u0bc1\u0bb5\u0bb0\u0bc8 \u0b9a\u0ba8\u0bcd\u0ba4\u0bbf\u0b95\u0bcd\u0b95\u0bc1\u0bae\u0bcd \u0baa\u0bcb\u0ba4\u0bc1 \u0b85\u0bb2\u0bcd\u0bb2\u0ba4\u0bc1 \u0bb5\u0bbe\u0bb4\u0bcd\u0ba4\u0bcd\u0ba4\u0bc1\u0bae\u0bcd\u0baa\u0bcb\u0ba4\u0bc1 \u0baa\u0baf\u0ba9\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0baa\u0bcd\u0baa\u0b9f\u0bc1\u0b95\u0bbf\u0bb1\u0ba4\u0bc1, \u0ba4\u0bca\u0bb2\u0bc8\u0baa\u0bc7\u0b9a\u0bbf \u0b89\u0bb0\u0bc8\u0baf\u0bbe\u0b9f\u0bb2\u0bc8 \u0ba4\u0bca\u0b9f\u0b99\u0bcd\u0b95\u0bc1\u0bae\u0bcd\u0baa\u0bcb\u0ba4\u0bc1 \u0b95\u0bc2\u0bb1\u0bc1\u0bae\u0bcd \u0b92\u0bb0\u0bc1 \u0b9a\u0bca\u0bb2\u0bcd\u2026\n \n \u0939\u0948\u0932\u094b / \u0905\u092d\u093f\u0928\u0902\u0926\u0928 \u0939\u0947\u0924\u0941 \u092a\u094d\u0930\u092f\u0941\u0915\u094d\u0924, \u0939\u0948\u0932\u094b, \u092b\u094b\u0928 \u0935\u093e\u0930\u094d\u0924\u093e \u0915\u0947 \u0906\u0930\u0902\u092d \u092e\u0947\u0902 \u092a\u094d\u0930\u092f\u0941\u0915\u094d\u0924\u2026\n \n hej!, hall\u00e5!, vad nu d\u00e5?\u2026\n \n \u06c1\u06cc\u0644\u0648 (\u0645\u062e\u0627\u0637\u0628 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u0626\u06d2 \u0628\u0648\u0644\u0627 \u062c\u0627\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0644\u0641\u0638), \u06c1\u06cc\u0644\u0648 (\u0641\u0648\u0646 \u06a9\u0631\u062a\u06d2 \u0648\u0642\u062a \u067e\u06c1\u0644\u0627 \u0627\u0646\u062f\u0627\u0632\u0650 \u062a\u062e\u0627\u0637\u0628)\u2026\n ",
|
| 4 |
+
"sources": [
|
| 5 |
+
"https://dictionary.cambridge.org/dictionary/english/hello"
|
| 6 |
+
]
|
| 7 |
+
}
|
web_contexts/how_to_cook_brayani_.json
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"query": "how to cook brayani ",
|
| 3 |
+
"context": "Chicken Biryani Recipe in 2 ways! Make the ultimate Biryani in homestyle and restaurant styles. Biryani is a celebratory rice and meat dish cherished in the Indian sub-continent. A traditional biryani consists of fluffy basmati rice layered over tender & succulent pieces of meat, accompanied with the mesmerizing aromas of spices, herbs & caramelized onions. In this post I show you how to make an aromatic, delicious and the best Chicken Biryani, not in one but 2 ways \u2013 Homestyle and restaurant style. Biryani is one of the most popular rice dishes & traditionally it is cooked adapting the process of dum pukht, meaning \u201csteam cooked over low fire\u201d. The traditional process of Chicken Biryani starts by marinating meat in yogurt along with spices and herbs. The raw/uncooked marinated meat is layered at the bottom of a wide pot followed by another layer of par cooked basmati rice, herbs, saffron infused milk, fried onions and ghee or attar (edible essential oil). The pot is sealed to trap the steam and is dum cooked on a low heat for the most tender and flavorsome dish. This is known as Kachi Biryani & I have shared that traditional\u00a0Hyderabadi biryani here. Cooking this kind of a biryani requires a bit of expertise and understanding the dum pukht method correctly. It is believed that Persians introduced Biryani to the Indians and this royal delicacy once upon a time was a luxurious treat made during special occasions. However over the decades, the popularity of Biryani has grown to the extent that we eat it more often, whenever the Biryani cravings kick-in. Innovative home cooks and chefs have come-up with many new and easier methods to cook biryani, as a result pakki biryani and my one pot biryani shared below came into existence. As mentioned earlier I share 2 recipes here and both the recipes use the same ingredients but the quantities vary slightly due to the difference in the cooking methods. The first method is a one pot biryani and you can cook this in a pressure cooker or in a regular pot. In this recipe, we cook the marinated meat and layer the uncooked rice. Pour hot water and cook to perfection. The second method is known as pakki dum biryani, where you cook the marinated meat with aromatics and make a gravy first. Meanwhile you par cook the rice and layer that over the chicken gravy. Cover and cook on dum/steam for a short time to infuse the flavors of spices and herbs. Tada! Your best restaurant style Chicken Biryani is ready! Both these recipes yield a chicken biryani that isn\u2019t too oily, spicy, hot or pungent as it looks to be in the pictures. However you can reduce the amount of red chili powder if you do not prefer the heat. Biryani is best served with a\u00a0Raita,\u00a0Shorba,\u00a0lassi\u00a0and papads. A biryani is judged by 3 things You can use a good store bought biryani masala or garam masala. I prefer to use homemade biryani masala which I am sharing below. If you want you may use this or use your favorite store bought masala. On a low to medium heat, dry roast bay leaf, star anise, green and black cardamoms, mace and cinnamon stick for 1 to 2 mins, until slightly fragrant. Add cloves, fennel, caraway and black pepper. Roast for another 1 to 2 mins on a low heat, until aromatic. Add nutmeg and turn off. Cool and make a fine powder. You can make this ahead or make a large batch and transfer to an air tight glass/ steel jar. Store in the refrigerator for 2 months. More Biryani recipes Hyderabadi biryani Chicken dum biryani Chettinad biryaniMutton Biryani \nPhoto Guide Preparation \u2013 Marination 1. This recipe needs half kg chicken (1.1 lbs.). Make few slits on all the chicken pieces and add to a large bowl. Then add 2. Mix everything well and marinate the chicken. Cover and set this aside for 1 hour. You can also rest it overnight in the fridge. 3. Meanwhile add 2 cups basmati rice to a large pot and rinse it at least thrice. Drain and soak in fresh water for 30 mins. Drain to a colander after 30 mins. Optional \u2013 Soak a pinch of saffron strands in 2 tablespoons hot milk. 4. Heat ghee or oil in a heavy bottom pot or pressure cooker. Make sure you use a large one for this. Using whole spices is optional but recommended. Use whatever you have. I use 5. Add thinly sliced onions. On a medium heat, fry them stirring often until uniformly light brown. 6. This is the correct color of the onions. Do not burn them as they leave a bitter taste. (check video) 7. Add marinated chicken & saute until it becomes pale for 5 minutes. 8. Lower the flame completely. Cover and cook until the chicken is soft, tender and completely cooked. 9. Check if the chicken is cooked by pricking with a fork or knife. It has to be just cooked and not overdone. Evaporate any excess moisture left in the pot by cooking further without the lid. 10. Taste test and add more salt if needed. I added \u00bc more salt here. Add 11. Mix everything well. Spread it evenly in a single layer. 12. Layer drained rice all over the chicken. To a separate pot, pour 3 cu",
|
| 4 |
+
"sources": [
|
| 5 |
+
"https://www.indianhealthyrecipes.com/chicken-biryani-recipe/"
|
| 6 |
+
]
|
| 7 |
+
}
|
web_contexts/is_there_any_research_on_python_code_optimisation.json
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"query": "is there any research on python code optimisation",
|
| 3 |
+
"context": "Currently, Python is the most used programming language for different projects around the world. According to statistics, 44.1% of programmers choose Python coding language for application/web development. However, that does not mean that Python developers are exempt from creating messy and inefficient code that can cost you and your clients time and money This is where Python code optimization comes in. Let\u2019s start by defining code optimization, so that you get the basic idea and understand why it\u2019s needed. Sometimes it\u2019s not enough to create code that just executes the task. Large and inefficient code can slow down the application, lead to financial losses for the customer, or require more time for further improvements and debugging. Python code optimization is a way to make your program perform any task more efficiently and quickly with fewer lines of code, less memory, or other resources involved, while producing the right results. It\u2019s crucial when it comes to processing a large number of operations or data while performing a task. Thus, replacing and optimizing some inefficient code blocks and features can work wonders: There are certain scenarios where Python can lead to performance issues. Alternately, some situations may demand additional code manipulation to optimize your Python code due to the nature of operation being performed. Let\u2019s explore some common performance issues in Python which will help us understand why we need optimization in the first place? A lot of times you\u2019ll need to write code that does intensive calculations, complex mathematical operations and data manipulation which can be CPU intensive. In such cases, using Python\u2019s interpreter will give you a slower execution time as compared to compiled languages. When dealing with long-running processes or large datasets, Python\u2019s inefficient memory management can be inefficient can lead to excessive memory consumption. As a result, your code can execute slower than usual and may also cause a crash at times. Dealing with operations such as reading and writing to files, making network requests or interacting with the database, can slow down your Python code. Sometimes, due to either a lack of knowledge or experience, Python developers use inappropriate data structures which can cause performance issues. For instance, using lists when sets or dictionaries would be more efficient can cause slower lookups and inserts. The choice of algorithms and data processing techniques can significantly impact performance. Using algorithms with higher time complexity (e.g., nested loops) when more efficient alternatives exist can lead to slow execution. Python strings are immutable, and operations like string concatenation in loops can result in significant performance overhead due to the creation of new string objects. Overusing global variables can slow down your code since Python has to look up these variables in a global namespace, which is slower than accessing local variables. Python\u2019s Global Interpreter Lock (GIL) restricts the execution of multiple threads in CPython, the reference implementation. This can limit the parallelism of multi-threaded applications, making them slower than expected. Python provides many built-in functions and libraries for common tasks. Failing to leverage these can lead to slower code due to reinventing the wheel. Using external libraries or packages that are not optimized for performance can impact your code\u2019s efficiency. It\u2019s crucial to choose well-maintained and optimized libraries when possible. Python developers need to be able to use code optimization techniques instead of basic programming to ensure applications run smoothly and quickly. Below we have listed 6 tips on how to optimize Python code to make it clean and efficient. To better understand the Peephole optimization technique, let\u2019s start with how the Python code is executed. Initially the code is written to a standard file, then you can run the command \u201cpython -m compileall <filename>\u201dand get the same file in *.pyc format which is the result of the optimization. <Peephole> is a code optimization technique in Python that is done at compile time to improve your code performance. With the Peephole optimization technique, code is optimized behind the scenes and is done either by pre-calculating constant expressions or by using membership tests. For example, you can write something like the number of seconds in a day as a = 60*60*24 to make the code more readable, but the language interpreter will immediately perform the calculation and use it instead of repeating the above statement over and over again and thereby reducing the software performance.\u00a0 The result of the Peephole optimization technique is that Python pre-calculates constant expressions 60*60*24, replacing them with 86400. So even if you write 60*60*24 all the time, it won\u2019t decrease performance.\u00a0 Using this technique, you can replace a section of the program or a segment of instruction without",
|
| 4 |
+
"sources": [
|
| 5 |
+
"https://stackify.com/how-to-optimize-python-code/"
|
| 6 |
+
]
|
| 7 |
+
}
|
web_contexts/search_me_a_news_about_2025_Myanmar_earthquake.json
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"query": "search me a news about 2025 Myanmar earthquake",
|
| 3 |
+
"context": "On Sunday 30 March, Marie Manrique, acting head of delegation for the IFRC in Myanmar, gave an update from the city of Yangon, 357 miles south of the epicentre at Mandalay.\n \"What we're seeing right now is unexpected and I can't imagine what that means for those living in those areas [affected],\" she said.\n \"People in the city of Yangon, Myanmar's largest city, have not had electricity or running water since the day of the earthquake.\" \nMarie goes on to describe how the IFRC has scaled up support for the Myanmar Red Cross in response to the earthquake and that their teams are focusing on \"life-saving activities\" during the emergency phase, as well as looking to the future.\n She said: \"[We will be] strengthening the resilience and working on what would be community-based disaster-risk reduction so that these things, if they happen again in the future, the communities themselves are better prepared.\" The best and quickest way to help support those affected by the Myanmar earthquake is to donate to the\u00a0Myanmar Earthquake Appeal.\u00a0 Immediate concerns are reaching people with healthcare, and providing safe shelter, food and water. We know from responding to earthquakes around the world that humanitarian needs can grow fast, especially as the extent of the damage becomes better known. In the longer-term, people will need support to rebuild their homes and their lives, the Red Cross and Red Crescent will be there to support communities for as long as we\u2019re needed.\n\nSome international aid - mainly from China and India - has begun to arrive after the military authorities issued a rare appeal. Aid has also been sent from Thailand, Malaysia, Singapore and Russia. Rescuers from several countries have joined local efforts to locate and pull out any survivors. The Red Cross has issued an urgent appeal for $100m (\u00c2\u00a377m), while the UN is seeking $8m for its earthquake response. \"People urgently require medical care, clean drinking water, tents, food, and other basic necessities,\" the International Rescue Committee (IRC) said on Monday. The need is especially great in and around Mandalay, according to the IRC, where there is no electricity, water is running out and hospitals are overwhelmed. Michael Dunford, country director for the UN World Food Programme, told the BBC that bringing aid from Yangon to Nay Pyi Taw and Mandalay was taking twice as long as it normally would, due to damage to roads, bridges and other infrastructure.\n\nEarthquake in Southeast Asia \n On 28 March 2025 at 12:50:52 MMT (06:20:52 UTC), a 7.7\u20137.9 earthquake struck the Sagaing Region of Myanmar, with an epicenter close to Mandalay, the country's second-largest city. The strike-slip shock achieved a maximum Modified Mercalli intensity of X (Extreme). It was the most powerful earthquake to strike Myanmar since 1912,[1] and the second deadliest in Myanmar's modern history, surpassed only by upper estimates of the 1930 Bago earthquake.[2] The earthquake caused extensive damage in Myanmar and significant damage in neighboring Thailand. Hundreds of homes were also damaged in Yunnan, China, while more than 400 apartments were affected in Ho Chi Minh City, Vietnam.\n The earthquake directly killed up to 5,352 people in Myanmar and 103 in Thailand, while one person died from shock in Vietnam. Up to 11,404 people were injured and hundreds more were reported missing. Most of the fatalities in Thailand occurred at a collapsed construction site in Bangkok, whose shallow geology makes it more vulnerable to seismic waves from far away.[3][4] Authorities in both Myanmar and Thailand declared a state of emergency.[5][6] As the earthquake struck during Friday prayer hours, collapsing mosques resulted in the deaths of hundreds of Muslims.[7] In addition, more than 8,300 monasteries, nunneries and pagodas were destroyed.[8] The ongoing civil war in Myanmar has exacerbated the difficulty of disaster relief and info exposure.[9][10] It is the deadliest earthquake globally since the 2023 Turkey\u2013Syria earthquakes.[11]\n Myanmar is wedged between four tectonic plates (the Indian, Eurasian, Sunda, and Burma plates) that interact in active geological processes. Along the west coast of the Coco Islands, off the Rakhine coast, and into Bangladesh, is a highly oblique convergent boundary known as the Sunda megathrust. This large fault marks the boundary between the Indian and Burma plates. The megathrust emerges from the seafloor in Bangladesh, where it runs parallel and east of the Chin Hills. This boundary continues to the north of Myanmar where it ends at the eastern Himalayas.[12]\n A 1,400-kilometre (870\u00a0mi) transform fault runs through Myanmar and connects the Andaman spreading center to a collision zone in the north. Called the Sagaing Fault, it is a boundary between the Burma and Sunda plates as they slide past each other at 18\u201349\u00a0mm (0.71\u20131.93\u00a0in) per year. It is Myanmar's largest and most active source of earthquakes, running through or close to major cities including Yango",
|
| 4 |
+
"sources": [
|
| 5 |
+
"https://www.redcross.org.uk/stories/disasters-and-emergencies/world/myanmar-earthquake-2025",
|
| 6 |
+
"https://www.bbc.co.uk/news/articles/crlxlxd7882o",
|
| 7 |
+
"https://en.wikipedia.org/wiki/2025_Myanmar_earthquake"
|
| 8 |
+
]
|
| 9 |
+
}
|
web_contexts/search_me_a_recipe_for_brayni_online_and_summarise.json
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"query": "search me a recipe for brayni online and summarise me on hoe to cook a brayani",
|
| 3 |
+
"context": "Biryani, the aromatic and flavorful rice dish, is a culinary masterpiece that has captivated taste buds across the globe. Its rich history, diverse variations, and complex flavors make it a true testament to the art of Indian cooking. If you\u2019re eager to learn how to cook biryani at home, you\u2019ve come to the right place. This comprehensive guide will take you through every step, from marinating the meat to layering the rice, ensuring you create a biryani that\u2019s as delicious as it is impressive. Before diving into the recipe, it\u2019s essential to understand the core principles that make biryani so special. Biryani is more than just rice and meat; it\u2019s a symphony of flavors and textures achieved through careful preparation and layering. Here are the key elements that define a good biryani: The quality of your ingredients directly impacts the final taste of your biryani. Here\u2019s a guide to selecting the best ingredients: Marinating the meat is crucial for creating a flavorful and tender biryani. A well-marinated meat will absorb the spices and yogurt, resulting in a juicy and aromatic dish. Here\u2019s a basic recipe for marinating chicken for biryani: 1. Combine all the ingredients in a bowl and mix well. 2. Add the chicken pieces and coat them thoroughly in the marinade. 3. Cover the bowl and refrigerate for at least 2 hours, or preferably overnight. Tips for Marinating: Cooking the rice perfectly is another crucial step in making biryani. The rice should be fluffy, separate, and not mushy. Here\u2019s how to cook basmati rice for biryani: 1. Rinse the rice thoroughly under cold water until the water runs clear. 2. Soak the rice in fresh water for 30 minutes. 3. Drain the rice and add it to a pot with water and salt. 4. Bring the water to a boil, then reduce the heat to low and simmer for 8-10 minutes, or until the rice is cooked through but still slightly firm. 5. Drain the rice and fluff it with a fork. Tips for Cooking Rice: Layering the biryani is an art form. The correct layering ensures that the flavors meld perfectly and the rice cooks evenly. Here\u2019s how to layer the biryani: 1. In a large pot or Dutch oven, heat ghee or oil. 2. Add the marinated chicken and cook until it is browned on all sides. 3. Add the chopped onions, tomatoes, and green chilies (if using) and cook until softened. 4. Sprinkle the biryani masala over the meat and stir until fragrant. 5. Add half of the cooked rice and spread it evenly over the meat. 6. Sprinkle some saffron milk or water over the rice. 7. Add the remaining rice and spread it evenly. 8. Drizzle some ghee or oil over the top. Tips for Layering: Dum cooking is the final step that transforms the biryani into a culinary masterpiece. It involves sealing the pot and cooking the biryani over low heat, allowing the flavors to infuse and the rice to cook to perfection. Here\u2019s how to dum cook the biryani: 1. Cover the pot with a tight-fitting lid. 2. Place a heavy object on top of the lid to create a seal. 3. Reduce the heat to low and simmer for 30-40 minutes, or until the rice is cooked through and the flavors have melded. 4. Turn off the heat and let the biryani rest for 10-15 minutes before serving. Tips for Dum Cooking: The beauty of biryani lies in its versatility. There are countless variations, each with its unique flavor profile and regional influences. Here are a few popular variations: Cooking biryani is more than just following a recipe; it\u2019s a culinary journey that takes you through the rich history and diverse flavors of Indian cuisine. As you master the art of biryani, you\u2019ll not only create a delicious dish but also connect with the cultural heritage that defines this iconic dish. Q1: What is the best type of rice to use for biryani? A1: Basmati rice is the preferred choice for biryani due to its long grains, fragrant aroma, and ability to cook fluffy and separate. Q2: Can I use a pressure cooker to cook biryani? A2: While you can use a pressure cooker, it may not yield the same results as traditional dum cooking. The pressure cooker can make the rice mushy and may not allow for the same flavor development. Q3: How do I know when the biryani is cooked? A3: The biryani is cooked when the rice is tender, the meat is cooked through, and the flavors have melded. You can check by gently pressing on the rice; it should be firm but not hard. Q4: Can I make a vegetarian biryani? A4: Absolutely! You can substitute the meat with vegetables like potatoes, cauliflower, or paneer. Q5: What are some tips for storing leftover biryani? A5: Store leftover biryani in an airtight container in the refrigerator for up to 3 days. Reheat it gently on the stovetop or in the microwave. Thanks for your feedback!\n\nPublished: Oct 4, 2019 \u00b7 Modified: Dec 15, 2020 by Hina \nFacebook \nPinterest\nWhatsApp\nReddit \nTwitter \n129Shares\n How to Make Biryani at Home Step by Step | Hinz Cooking - In rice recipes, Biryani is one of the most popular recipe in India, Pakistan and Bangladesh. If you are looking t",
|
| 4 |
+
"sources": [
|
| 5 |
+
"https://oliviaoven.com/how-to-cook-biryani/",
|
| 6 |
+
"https://hinzcooking.com/how-to-make-biryani/"
|
| 7 |
+
]
|
| 8 |
+
}
|
web_contexts/search_me_a_recipe_for_curry_mutton__online_and_su.json
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"query": "search me a recipe for curry mutton online and summarise me on hoe to cook it",
|
| 3 |
+
"context": "Mutton Curry Recipe is one of the most popular non-vegetarian dishes which is consumed once a week compulsory. People take pride in serving this dish at parties, functions, and gatherings. Lamb ribs, Chops, and Minced Mutton Patties taste good when they are grilled with the right seasonings. Apart from the taste of mutton, it packs many health benefits; because of this nature, it is always in demand. The source of vitamins in the mutton helps the human body by boosting immunity, is good for skin and hair, good for blood circulation, good for bones, promotes brain development, and so on. While mutton curry can be high in fat and calories if prepared with large amounts of oil and cream, it can also be a healthy option when prepared using lean cuts of meat and healthy cooking methods such as grilling or baking. Mutton (Goat/Lamb) is a rich source of Iron, a good source of Vitamin B12, Low calorie, and cholesterol food, a rich source of potassium, and quality proteins. The process of cooking Mutton (Goat/Lamb) is easy and traditional. The mutton gravy cooked with raw spices (masalas) will definitely get the feel of cooking something great. The duration of cooking mutton depends on the meat you get. If you get the tender mutton it cooks quicker than fully grown sheep mutton. In fact, the tender mutton doesn\u2019t have to cook in pressure cookers. It can be cooked in a vessel with medium to hot flames. Mutton cooked in an instant pot tastes good and it tastes even good when it is marinated overnight with all the masalas added to it. Mutton can be cooked with different combinations of herbs like methi, mint, coriander, and mutton cooked with a combination of pulses (dal) called Mutton Dalcha is quite popular in India and very healthy. Goat Meat (bone-in) is properly washed and cooked with finely saute raw spices, onions, chili, turmeric powder, cumin powder, garam masala, and fenugreek leaves. The right amount of turmeric, salt, and red chili powder either makes this recipe hit or flop. So please be careful while adding these spices to the curry. To achieve the best flavor and tenderness, mutton curry is typically slow-cooked for several hours, allowing the meat to absorb the flavors of the spices and become tender. The highlight of the mutton recipe is Fenugreek Leaves aka Methi in Hindi and Telugu in India. Mutton is a health booster for humans and for mutton methi is the taste booster. Try this combination and I am sure you will definitely love it. Indian Style Mutton Curry is known for its combinations as it tastes good with almost everything like plain roti, naan, butter naan, chapati, bread, rice, flavored rice, and bhagara rice, and it tastes good by itself. Many people eat just mutton curry as touchings at parties. There are many variations of mutton curry across different regions of India, but we are presenting this recipe cooked in Andhra and Telangana styles. After going through this video, instructions, and guide you will stop searching online for \u201chow to make mutton curry\u201d and \u201cmutton curry near me\u201d to order. Instead, you will just cook by yourself and enjoy the delicious mutton curry. Which part of mutton is best for curry? The best part of mutton for curry depends on personal choice and the type of curry you are making. Generally, tougher cuts of meat are better for curries as they become more tender and flavorful when cooked slowly in a spicy sauce. When buying, including the combination of shoulder, leg, neck, and ribs. When you slow cook these together you will enjoy the different tastes in the single recipe few are tender in nature, few are juicy in nature, and few are soft in nature. What is Mutton Paya? The Mutton legs are called Paya and this recipe is considered next to medicine when people suffer from severe flu infections the Paya soup is consumed in cold temperatures like the spring and fall seasons of the year. Also, the mutton liver is prescribed when someone is deficient in Vitamin D. Should we cook Mutton in the Pressure cooker? Depends on the type of mutton. If the meat is tender, you can cook it in a vessel by covering it and cooking on low-medium-high flames. If the mutton is not tender, it is suggested to cook in a pressure cooker for at least 5 \u2013 6 whistles. Mutton items that taste good when they are cooked separately and have to be cooked separately are the kidneys, brain, liver, intestines, lungs, and legs. The mutton cooked on the heavy bottom wok and slow-cooked is called Rogan Ghost curry which is cooked by adding pure ghee. The aroma of this recipe will not leave your hand for a couple of hours. Hope you liked reading this article. You may also like our other recipes on our blog. Please Click Here to read more. 1. Add 1 cup of oil to the cooker 2. Add raw spices (Shahi Jeera, Cloves, Cinnamon, Cardamom) 3. Slit and add 3 green chilies 4. Add 2 finely chopped onions 5. Add 1 tablespoon of Ginger and Garlic paste 6. Add 2 bunches of fenugreek leaves (methi leaves) 7. Add 1 ",
|
| 4 |
+
"sources": [
|
| 5 |
+
"https://360foodlab.com/mutton-curry-recipe/"
|
| 6 |
+
]
|
| 7 |
+
}
|
web_contexts/search_me_a_sushi_recipe_online_.json
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"query": "search me a sushi recipe online ",
|
| 3 |
+
"context": "Make sushi like a pro with these easy sushi recipes! From makis to nigiris, this collection will teach you how to make all kinds of sushi. With these recipes on hand, you can dig into your favorite Japanese food in your very own home! No takeout required. WANT TO SAVE THIS RECIPE? Enter your email below & we'll send it straight to your inbox. If you\u2019ve never made sushi before, it may seem a little intimidating. But don\u2019t shy away! It\u2019s a whole lot easier to make than you may think (and a whole lot cheaper).\u00a0 From raw salmon to cooked crab, there are so many ways to fill those sensational rolls. With sticky, seasoned rice and a bamboo mat at the ready, the possibilities are endless! Be your own sushi chef and dive into these sushi recipes! After the California roll, the dragon roll is America\u2019s favorite sushi. And for good reason. It\u2019s absolutely loaded with goodies.\u00a0 A dragon roll is an inside-out type of sushi roll. It\u2019s not a traditional Japanese recipe, but that doesn\u2019t mean it\u2019s any less delicious. Shrimp tempura, cucumber, nori, and rice are layered with thinly sliced avocado. They\u2019re made to look like dragon scales. Then, everything is drizzled with spicy mayonnaise and unagi sauce. Yum! This homemade salmon sushi is a great place to start for beginners. It\u2019s super easy to make and only needs five ingredients. Simply cover your seaweed sheets with seasoned rice. Layer in salmon, cream cheese, and avocado, roll up, slice, and serve! Not only do they taste amazing, but they\u2019re also fun to make. So why not gather the family together for a sushi-making party? Tobiko is a type of sushi that\u2019s filled with crab and avocado and topped with tobiko or flying fish roe. Orange tobiko is the most common color of fish roe you\u2019ll find. It adds a wonderful eye-catching look to these tasty rolls. No food coloring required! This is a must-try for sushi lovers. It\u2019s a great introductory roll to more unique and adventurous Japanese flavors.\u00a0 If you\u2019re not too keen on the idea of tucking into raw fish, California rolls are just the ticket.\u00a0 Now, the key to these delicious California rolls is the perfect sushi rice. It\u2019s all about getting the sushi vinegar and seasoning on point.\u00a0 Serve these topped with spicy mayo and dip them into a wasabi/soy sauce concoction. It\u2019s the perfect bite.\u00a0 You can never go wrong with the classics. Spicy tuna rolls are always my go-to.\u00a0 Sriracha sauce is the key to these spicy rolls. Sashimi grade tuna is tossed in a sesame sriracha sauce and topped with spicy mayo for an extra kick.\u00a0 You can get your hands on sashimi-grade salmon at your local Asian or Japanese grocery store. It can be a little pricey, but it\u2019s still far cheaper than in restaurants. Futomaki is a traditional thick sushi packed with colorful ingredients. If you love to give new flavors a try, definitely give these rolls a go.\u00a0 This futomaki is filled with unique ingredients like gourd strips and freshwater eel. It\u2019s also packed with shiitake mushrooms, spinach, cucumber, and seasoned codfish flakes. Some of these ingredients may be a little hard to find, but it\u2019s worth the effort! Now, these natto rolls are the ultimate meal prep and lunch box treat. They\u2019re great finger food, and super easy to grab and go! The natto roll is one of the most popular Japanese sushi rolls. It\u2019s made by filling natto (fermented soybeans) and sushi rice inside a nori sheet. Roll it up, and you\u2019re ready to go. This is a great alternative for those that prefer not to eat raw fish. It\u2019s perfect for kids and vegetarians alike! Kappa maki is another fantastic veggie sushi roll. It\u2019s great for sushi newbies and for when you\u2019re looking for a light lunch. And the best part is that it\u2019s so incredibly easy to make at home. It\u2019s a thin roll of simple sushi (maki) with a single cucumber slice at the center.\u00a0 I love these rolls for their light and refreshing taste. They make a fantastic palate cleanser. Plus, they\u2019re also vegan and vegetarian-friendly! These stunning uramaki sushi rolls with chili crab are so addictive. One roll isn\u2019t enough! Uramaki refers to an inside-out sushi roll. The filling is wrapped in seaweed and covered in sushi rice around the outside. And sesame seeds decorate the outside of the roll. A dipping sauce is essential for these tasty rolls. Pickled ginger is also fantastic. As to not offend sushi chefs, make sure you eat it as a palate cleanser and not as a topping! Who said sushi had to be enjoyed as a roll? This scattered sushi is exactly what the name suggests. Sushi toppings and fillings are scattered on top of seasoned sushi rice.\u00a0 Chirashizushi can have a multitude of different ingredients, not just raw fish. This recipe uses boiled prawns, grilled eel, and sashimi salmon, along with fresh, pickled, and cooked veggies.\u00a0 This is the easiest of the sushi dishes as there\u2019s no rolling required! Just scatter and dig in. Hailing its name from the array of colorful ingredients, these rolls taste as good as they look.\u00a0 They\u2019re stuffed w",
|
| 4 |
+
"sources": [
|
| 5 |
+
"https://insanelygoodrecipes.com/sushi-recipes/"
|
| 6 |
+
]
|
| 7 |
+
}
|
web_contexts/search_me_a_sushi_recipe_online_and_tell_me_hoe_to.json
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"query": "search me a sushi recipe online and tell me hoe to make sushi",
|
| 3 |
+
"context": "Modified: Jan 10, 2022 \u00b7 Published: Apr 15, 2021 by Sara-Jane Bowness \u00b7 A beginner's guide to making sushi. We love sushi, as do our kids and it's easy to make. Homemade sushi makes a great weekend dinner and is always a crowd pleaser. You can make a variety of fillings to meet a range of tastes and dietary requirements. Sushi chefs in Japan take decades to learn their trade, perfecting rice and slicing raw fish. While we can aspire to produce Japanese dishes like the masters, let's start at the beginning, with simple yet tasty homemade sushi. Follow our how to make sushi guide and let us walk you through the process. Good homemade sushi starts with well made rice, to do this use the absorption method to cook it. Lets start with a maki roll, as they are the easiest to make. Maki is basically rice and filling wrapped in seaweed. Sushi with rice on the outside is called Uramaki sushi aka California roll. Similar to a maki roll but the rice is on the outside and seaweed wraps around the filling. We love to serve sushi with soy sauce, pickled ginger, wasabi, Japanese mayo, edamame and miso soup. You can also top the rolls with toasted sesame seeds, tobiko, togarashi, check out your local Asian supermarket! The beauty of making sushi is you can serve it exactly how you like, adding all your favourite ingredients. We hope our beginner's guide to making sushi has given you the inspiration to get rolling! Love this dish? Please leave us a review below. And come join us on social, tag us in your delicious photos Facebook, Instagram or Pinterest. Hungry for more deliciousness? Sign up to our newsletter, to receive our latest e-recipe book and never miss another ATK recipe! Our goal is to share simple, tasty dishes created by\u00a0Chef Shane. Using his understanding of flavours and knowledge of food, to teach and inspire you to create delicious food, cooked perfectly and gain a new level of confidence in the kitchen. Happy cooking! Our guide to making sushi keeps it simple. Get creating your favourite sushi at home, its great crowd pleaser and easy to make a variety of fillings for taste and dietary requirements. Course: Appetizer, Dinner Cuisine: Japanese Prep Time: 30 minutes minutes Cook Time: 10 minutes minutes Total Time: 40 minutes minutes Servings: 4 - 6 Calories: 220kcal Cook ModePrevent your screen from going dark 1x2x3x Take 1 cup of your rice, rinse well in cold water. The rice needs to be cooked 1 part rice to 1.5 part water. So place the cup of rice in a pot and add 1.5 cups of water, add the lid and bring to the boil. Once its boiling reduce to simmer for around 8-10 minutes but keep an eye on it. You want the rice to absorb all the water but not burn or stick to the bottom on the pot! Once the rice is cooked, cool it quickly by spreading it out on a tray, add 2 to 3 tablespoons of the sushi seasoning and mix well. Taste and adjust to your preference. Place your nori sheet longest edge at the bottom, shiny side facing down. You can place this on the sushi mat to help you roll it but you don\u2019t have to at this stage. Wet your hands to prevent the rice from sticking, then place a thin layer across the sheet leaving about an inch gap at the top. Add your filling of choice. Make sure your ingredients are thinly sliced and a similar length, so they can be lined up on the rice. Place your filling half way up the rice and let it hang over the sides, to make sure the whole roll is filled. Make sure you have some water to hand. Take the bottom of the sheet and roll it up so that the bottom meets the top line of the rice. Try to make one full roll of the rice keeping it tight, hold the roll in place. Then wet your fingers with the water and slightly dampen the remaining edge of the nori sheet then continue to roll the sheet, sealing the roll. Place the roll on the sushi mat, roll the mat around the sushi giving it a gentle yet firm squeeze. You want to compact the roll keeping it round but not squash it. Once you have made up all your rolls, make sure your knife is sharp and run the edge of the knife under a running tap. Cut the roll in half then keep cutting the pieces in half again until you have 8 pieces. (Keep running the knife under a little water in between cuts to prevent the rice from sticking to it). Calories: 220kcal\n\nSushi is more than just a dish\u2014it\u2019s an art form that has captivated food lovers worldwide. Originating from Japan, sushi combines fresh ingredients, precise techniques, and stunning presentation to create a memorable meal. With a simple sushi recipe and the right tools, making sushi at home becomes an enjoyable and rewarding experience. Whether you prefer traditional rolls like tuna or salmon or creative fusion styles, crafting homemade sushi opens up endless possibilities for delicious experimentation. This sushi recipe stands out for its simplicity and flexibility. You can easily customize it to suit your taste preferences, dietary needs, or ",
|
| 4 |
+
"sources": [
|
| 5 |
+
"https://atastykitchen.com/how-to-make-sushi/",
|
| 6 |
+
"https://mustdorecipes.com/sushi-recipe-a-step-by-step-guide/"
|
| 7 |
+
]
|
| 8 |
+
}
|
web_contexts/search_me_about_her_to_code_list_in_python_online_.json
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"query": "search me about her to code list in python online ",
|
| 3 |
+
"context": "# Online Python compiler (interpreter) to run Python online.\n# Write Python 3 code in this online editor and run it.\nprint(\"Try programiz.pro\")\n\nWith our online Python compiler, you can edit Python code, and view the result in your browser. \nprint(\"Hello, World!\")\nx = \"Python\"\ny = \"is\"\nz = \"awesome\"\nprint(x, y, z)\n \nHello, World!\nPython is awesome\n Click on the \"Try it Yourself\" button to see how it works. If you want to create your own website or build Python applications, check out W3Schools Spaces. W3Schools Spaces is a website-building tool that enables you to create and share your own website. \nYou can also get a Python server, allowing you to develop and host your Python applications with ease. Note: This includes Python libraries such as: Django, Pandas, NumPy, SciPy and more. You can change the website's look and how it works by editing the code right in your web browser. It's easy to use and doesn't require any setup: The code editor is packed with features to help you achieve more: Practice is key to mastering coding, and the best way to put your Python knowledge into practice is by getting practical with code. Use W3Schools Spaces to build, test and deploy code. The code editor lets you write and practice different types of computer languages. It includes \nPython, but you can use it for other languages too. New languages are added all the time: If you don't know Python, we suggest that you read our Python Tutorial from scratch. Get an overview of your packages and easily add or delete frameworks and libraries. Then, with just one click, you can make changes to your packages without manual installation. You can also use the code editor in W3School Spaces to build frontend or full-stack websites from scratch. Or you can use the 60+ templates available and save time: Create your Spaces account today and explore them all! Host and publish your websites in no time with W3School Spaces. W3Schools subdomain and SSL certificate are included for free with W3School Spaces. An SSL certificate makes your website safe and secure. It also helps people trust your website and makes it easier to find it online. Want a custom domain for your website? You can buy a domain or transfer an existing one and connect it to your space. Get started in a few clicks with W3School Spaces. \u00a0 Track your progress - it's free!\n\nWrite, Run & Share Python code online using OneCompiler's Python online compiler for free. It's one of the robust, feature-rich online compilers for python language, supporting both the versions which are Python 3 and Python 2.7. Getting started with the OneCompiler's Python editor is easy and fast. The editor shows sample boilerplate code when you choose language as Python or Python2 and start coding. OneCompiler's python online editor supports stdin and users can give inputs to programs using the STDIN textbox under the I/O tab. Following is a sample python program which takes name as input and print your name with hello. Python is a very popular general-purpose programming language which was created by Guido van Rossum, and released in 1991. It is very popular for web development and you can build almost anything like mobile apps, web apps, tools, data analytics, machine learning etc. It is designed to be simple and easy like english language. It's is highly productive and efficient making it a very popular language. When ever you want to perform a set of operations based on a condition IF-ELSE is used. Indentation is very important in Python, make sure the indentation is followed correctly For loop is used to iterate over arrays(list, tuple, set, dictionary) or strings. While is also used to iterate a set of statements based on a condition. Usually while is preferred when number of iterations are not known in advance. There are four types of collections in Python. List is a collection which is ordered and can be changed. Lists are specified in square brackets. Tuple is a collection which is ordered and can not be changed. Tuples are specified in round brackets. Below throws an error if you assign another value to tuple again. Set is a collection which is unordered and unindexed. Sets are specified in curly brackets. Dictionary is a collection of key value pairs which is unordered, can be changed, and indexed. They are written in curly brackets with key - value pairs. Following are the libraries supported by OneCompiler's Python compiler\n\nBuild, run, and share Python code online for free with the help of online-integrated python's development environment (IDE). It is one of the most efficient, dependable, and potent online compilers for the Python programming language. It is not necessary for you to bother about establishing a Python environment in your local. Now You can immediately execute the Python code in the web browser of your choice. Using this Python editor is simple and quick to get up and running with. Simply type in the programme, and then press the RUN button! The code can be saved online by c",
|
| 4 |
+
"sources": [
|
| 5 |
+
"https://www.programiz.com/python-programming/online-compiler/",
|
| 6 |
+
"https://www.w3schools.com/python/python_compiler.asp",
|
| 7 |
+
"https://onecompiler.com/python/3xcb4wnb4",
|
| 8 |
+
"https://www.online-python.com/"
|
| 9 |
+
]
|
| 10 |
+
}
|
web_contexts/search_me_an_online_about_myanmar_2025_earthquake_.json
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"query": "search me an online about myanmar 2025 earthquake ",
|
| 3 |
+
"context": "Table of Contents\n\t\t\n\n Ask Our Chatbot\n\t\n \n\t\t\t\tTop Questions\n\t\t\t When did the Myanmar earthquake of 2025 occur? The earthquake, a shallow, magnitude-7.7 temblor, occurred on March 28, 2025, at 12:50 pm local time. The main shock was followed 12 minutes later by a magnitude-6.7 aftershock. Most of the devastation and loss of life occurred within a 15-km (9.3-mile) zone along a 460-km- (285-mile-) long north-south line that ran through the middle of the country. How many people died as a result of the earthquake? Myanmar\u2019s military government reported that more than 3,600 people had died in collapsed buildings or other effects directly related to the earthquake, with an additional 5,000 people listed as injured. In neighboring Thailand, the number of deaths from a tower collapse was tallied at 22. What caused the Myanmar earthquake of 2025? The tremor stemmed from a sudden release of accumulated stress along the Sagaing Fault, a major strike-slip fault that separates, generally, the Indian Plate from the Eurasian Plate. This north-south fault extends approximately 1,200 km (750 miles) from the Himalayas through central Myanmar to the Andaman Sea, and the energy release was caused by the sudden northward slippage of a portion of the Indian Plate. Myanmar earthquake of 2025, powerful magnitude-7.7 earthquake that struck Myanmar\u00a0(Burma) on March 28, 2025. The main temblor, which occurred at 12:50 pm local time, was centered near Mandalay, the country\u2019s second largest city; it was followed by a strong magnitude-6.7 aftershock close by only 12 minutes later. The earthquake caused more than 3,600 deaths and thousands of injuries. Most of the devastation and loss of life occurred within a 15-km (9.3-mile) zone centered along a 460-km- (285-mile-) long north-south line that ran through the middle of the country. The disaster came as Myanmar was struggling through a humanitarian crisis due to a protracted civil war sparked by a military coup in 2021. The tremor stemmed from a sudden release of accumulated stress along the Sagaing Fault, a major strike-slip fault that separates, generally, the Indian Plate from the Eurasian Plate. (More specifically, this boundary is cushioned by a microplate called the Burma Plate, or Burma Sliver, that sits on the western side of the Sagaing Fault between the two larger plates.) This north-south fault extends approximately 1,200 km (750 miles) from the Himalayas through central Myanmar to the Andaman Sea and forms the boundary between the Central Myanmar Lowlands and the Indo-Burman Range. The energy release was caused by the sudden northward slippage of a portion of the Indian Plate (see also plate tectonics); the slippage was up to 5 meters (about 16 feet) along a 200-km (120-mile) front. The earthquake\u2019s epicenter was located some 16 km (10 miles) south of the city of Sagaing, and scientists determined that the earthquake\u2019s focus occurred at a depth of about 10 km (6 miles). Shaking was felt throughout the region, destroying more than 10,000 structures, including hospitals and temples, damaging roads and bridges, and even toppling a tower under construction in Bangkok, some 1,000 km (650 miles) distant. Closer to the epicenter in Mandalay, the Mahamuni Pagoda suffered significant damage, including the collapse of a structure that trapped several monks inside. In Sagaing, about 90 percent of homes were destroyed, as was the historic Ava Bridge (a 91-year-old span across the Irrawaddy River), the loss of which hampered relief efforts. Myanmar\u2019s capital, Nay Pyi Taw, was also heavily damaged with the collapse of government buildings and the air traffic control tower at Nay Pyi Taw International Airport. \n One week after the event, the United Nations estimated that some 17 million people were affected by the earthquake. Myanmar\u2019s military government reported that more than 3,600 people had died in collapsed buildings or other effects directly related to the earthquake, with an additional 5,000 people listed as injured. In neighboring Thailand, the number of deaths from the tower collapse was tallied at 22. The relief response from the international community was swift, with several countries (including the United Kingdom, India, and other governments from eastern and southern Asia, as well as Russia and China) sending earthquake rescue, medical, and relief crews, rescue dogs, equipment, and financial assistance in the days following the disaster. Noticeably absent from a leading role in the relief effort was the United States. The U.K. and China have each pledged $13 million in emergency aid, and South Korea and the U.S. have each allocated $2 million to relief efforts. \n As emergency supplies began to arrive in the country, critics charged the government with slowing the delivery or outright obstructing the movement of supplies to affected areas. Medical workers noted that the government had confiscated much of the aid, doling out only a fraction to the people who needed it",
|
| 4 |
+
"sources": [
|
| 5 |
+
"https://www.britannica.com/event/Myanmar-earthquake-of-2025"
|
| 6 |
+
]
|
| 7 |
+
}
|
web_contexts/search_me_myanmar_2025_earthquake_news_.json
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"query": "search me myanmar 2025 earthquake news ",
|
| 3 |
+
"context": "Some international aid - mainly from China and India - has begun to arrive after the military authorities issued a rare appeal. Aid has also been sent from Thailand, Malaysia, Singapore and Russia. Rescuers from several countries have joined local efforts to locate and pull out any survivors. The Red Cross has issued an urgent appeal for $100m (\u00c2\u00a377m), while the UN is seeking $8m for its earthquake response. \"People urgently require medical care, clean drinking water, tents, food, and other basic necessities,\" the International Rescue Committee (IRC) said on Monday. The need is especially great in and around Mandalay, according to the IRC, where there is no electricity, water is running out and hospitals are overwhelmed. Michael Dunford, country director for the UN World Food Programme, told the BBC that bringing aid from Yangon to Nay Pyi Taw and Mandalay was taking twice as long as it normally would, due to damage to roads, bridges and other infrastructure.\n\nOn Sunday 30 March, Marie Manrique, acting head of delegation for the IFRC in Myanmar, gave an update from the city of Yangon, 357 miles south of the epicentre at Mandalay.\n \"What we're seeing right now is unexpected and I can't imagine what that means for those living in those areas [affected],\" she said.\n \"People in the city of Yangon, Myanmar's largest city, have not had electricity or running water since the day of the earthquake.\" \nMarie goes on to describe how the IFRC has scaled up support for the Myanmar Red Cross in response to the earthquake and that their teams are focusing on \"life-saving activities\" during the emergency phase, as well as looking to the future.\n She said: \"[We will be] strengthening the resilience and working on what would be community-based disaster-risk reduction so that these things, if they happen again in the future, the communities themselves are better prepared.\" The best and quickest way to help support those affected by the Myanmar earthquake is to donate to the\u00a0Myanmar Earthquake Appeal.\u00a0 Immediate concerns are reaching people with healthcare, and providing safe shelter, food and water. We know from responding to earthquakes around the world that humanitarian needs can grow fast, especially as the extent of the damage becomes better known. In the longer-term, people will need support to rebuild their homes and their lives, the Red Cross and Red Crescent will be there to support communities for as long as we\u2019re needed.\n\nReports from International Rescue Committee teams working in central Myanmar and Shan State reveal the staggering scale of humanitarian needs in the aftermath of Friday\u2019s earthquake. IRC partners have started distributing essential support to the earthquake-hit communities, including water, hygiene kits and critical medical assistance. One of the IRC staff members working in Mandalay said they have \u201cnever experienced anything like this.\u201d People take shelter in temporary tents set up outdoors in Mandalay on March 31, 2025. Sai Aung Main/AFP via Getty Images \u201cI have lived through several earthquakes in my life, but I have never experienced anything like this,\u201d the staff member said. \u201cThe most powerful shaking lasted only a few seconds, and many people immediately ran out of their houses.\u201d The staff member said many people are sleeping outside their homes on roads or open fields due to the fear of aftershocks. \u201cThere is an urgent need for tents, as even those whose homes remain intact are too afraid to sleep indoors,\u201d the staff member said. A limited amount of water is available, telecommunication lines are \u201cunreliable\u201d and hospitals are overwhelmed with trauma cases, the staff member said. \u201cPatients are being treated on beds placed outside due to fears of buildings collapsing,\u201d the staff member said. Ciar\u00e1n Donnelly, senior vice president of international programs at the IRC, told ABC News Live that teams are dealing with an \u201cunimaginably horrendous situation on the ground,\u201d with 80% of buildings destroyed in some towns. \u201cThe challenges are immense. You\u2019ve got infrastructure that\u2019s been destroyed, airports and roads that have been damaged, supply chains disrupted,\u201d Donnelly said. -ABC News\u2019 Will Gretsky\n\nAccording to news reports citing Myanmar\u2019s military leader, around 1,700 are confirmed dead from Friday\u2019s 7.7 magnitude quake, with some 3,400 injured and hundreds still missing. In the Thai capital Bangkok which was also rocked by the seismic event, 76 construction workers are reportedly still missing following the collapse of an unfinished skyscraper. The death toll there now stands at 17. The search and rescue effort in Myanmar is focused on the major cities of Mandalay and the capital, Nay Pyi Taw.\u00a0 Some survivors continue to be pulled from the rubble and multiple international aid teams have reached the stricken areas \u2013 although the aid effort is being hindered due to damage to airports. \u201cPeople urgently need shelter, medical care, water and sanitation support. This disaster puts more pressure ",
|
| 4 |
+
"sources": [
|
| 5 |
+
"https://www.bbc.co.uk/news/articles/crlxlxd7882o",
|
| 6 |
+
"https://www.redcross.org.uk/stories/disasters-and-emergencies/world/myanmar-earthquake-2025",
|
| 7 |
+
"https://abcnews.go.com/International/live-updates/myanmar-thailand-bangkok-earthquake/?id=120257120",
|
| 8 |
+
"https://news.un.org/en/story/2025/03/1161716"
|
| 9 |
+
]
|
| 10 |
+
}
|
web_contexts/what_are_LLM_and_is_there_any_research_about_LLMs.json
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"query": "what are LLM and is there any research about LLMs",
|
| 3 |
+
"context": "Type of machine learning model A large language model (LLM) is a machine learning model designed for natural language processing tasks, especially language generation. LLMs are language models with many parameters, and are trained with self-supervised learning on a vast amount of text.\n The largest and most capable LLMs are generative pretrained transformers (GPTs), which are largely used in generative chatbots such as ChatGPT or Gemini. LLMs can be fine-tuned for specific tasks or guided by prompt engineering.[1] These models acquire predictive power regarding syntax, semantics, and ontologies[2] inherent in human language corpora, but they also inherit inaccuracies and biases present in the data they are trained in.[3]\n Before 2017, there were a few language models that were large as compared to capacities then available. In the 1990s, the IBM alignment models pioneered statistical language modelling. A smoothed n-gram model in 2001 trained on 300 million words achieved state-of-the-art perplexity at the time.[4] In the 2000s, as Internet use became prevalent, some researchers constructed Internet-scale language datasets (\"web as corpus\"[5]), upon which they trained statistical language models.[6][7] In 2009, in most language processing tasks, statistical language models dominated over symbolic language models because they can usefully ingest large datasets.[8]\n \nAfter neural networks became dominant in image processing around 2012,[9] they were applied to language modelling as well. Google converted its translation service to Neural Machine Translation in 2016. Because it preceded the existence of transformers, it was done by seq2seq deep LSTM networks. At the 2017 NeurIPS conference, Google researchers introduced the transformer architecture in their landmark paper \"Attention Is All You Need\". This paper's goal was to improve upon 2014 seq2seq technology,[10] and was based mainly on the attention mechanism developed by Bahdanau et al. in 2014.[11] The following year in 2018, BERT was introduced and quickly became \"ubiquitous\".[12] Though the original transformer has both encoder and decoder blocks, BERT is an encoder-only model. Academic and research usage of BERT began to decline in 2023, following rapid improvements in the abilities of decoder-only models (such as GPT) to solve tasks via prompting.[13]\n Although decoder-only GPT-1 was introduced in 2018, it was GPT-2 in 2019 that caught widespread attention because OpenAI at first deemed it too powerful to release publicly, out of fear of malicious use.[14] GPT-3 in 2020 went a step further and as of 2025[update] is available only via API with no offering of downloading the model to execute locally. But it was the 2022 consumer-facing browser-based ChatGPT that captured the imaginations of the general population and caused some media hype and online buzz.[15] The 2023 GPT-4 was praised for its increased accuracy and as a \"holy grail\" for its multimodal capabilities.[16] OpenAI did not reveal the high-level architecture and the number of parameters of GPT-4. The release of ChatGPT led to an uptick in LLM usage across several research subfields of computer science, including robotics, software engineering, and societal impact work.[13] In 2024 OpenAI released the reasoning model OpenAI o1, which generates long chains of thought before returning a final answer.\n Competing language models have for the most part been attempting to equal the GPT series, at least in terms of number of parameters.[17]\n Since 2022, source-available models have been gaining popularity, especially at first with BLOOM and LLaMA, though both have restrictions on the field of use. Mistral AI's models Mistral 7B and Mixtral 8x7b have the more permissive Apache License. In January 2025, DeepSeek released DeepSeek R1, a 671-billion-parameter open-weight model that performs comparably to OpenAI o1 but at a much lower cost.[18]\n Since 2023, many LLMs have been trained to be multimodal, having the ability to also process or generate other types of data, such as images or audio. These LLMs are also called large multimodal models (LMMs).[19]\n As of 2024, the largest and most capable models are all based on the transformer architecture. Some recent implementations are based on other architectures, such as recurrent neural network variants and Mamba (a state space model).[20][21][22]\n \n As machine learning algorithms process numbers rather than text, the text must be converted to numbers. In the first step, a vocabulary is decided upon, then integer indices are arbitrarily but uniquely assigned to each vocabulary entry, and finally, an embedding is associated to the integer index. Algorithms include byte-pair encoding (BPE) and WordPiece. There are also special tokens serving as control characters, such as [MASK] for masked-out token (as used in BERT), and [UNK] (\"unknown\") for characters not appearing in the vocabulary. Also, some special symbols are used to denote special text formatting. ",
|
| 4 |
+
"sources": [
|
| 5 |
+
"https://en.wikipedia.org/wiki/Large_language_model"
|
| 6 |
+
]
|
| 7 |
+
}
|
web_contexts/what_are_the_current_research_on_neuroscience_scie.json
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"query": "what are the current research on neuroscience science?",
|
| 3 |
+
"context": "How does the brain learn to predict rewards? In this issue of Nature Neuroscience, Qian, Burrell et al. show that understanding how dopamine guides learning requires knowledge of how animals interpret tasks \u2014 what they believe is happening and when. By carefully manipulating cue\u2013reward contingencies, the authors show that dopamine responses track belief-state reward prediction errors. These findings reaffirm \u2014 against recent challenges \u2014 that mesolimbic dopamine neurons signal prediction errors in line with the temporal difference learning rule, a core algorithm that bridges neuroscience and artificial intelligence.\n\nNeuroscience News is an independent open access science magazine. Since 2001, we have featured neuroscience research news from labs, universities, hospitals and news departments around the world. Topics include brain research, AI, psychology, neuroscience, mental health and neurotech.\n\nSince an MIT team introduced expansion microscopy in 2015, the technique has powered the science behind kidney disease, plant seeds, the microbiome, Alzheimer\u2019s, viruses, and more.\n \nApril 23, 2025\n Read full story \u2192\n\nMay 29, 2025 \u0097 Humans and mice share persistent brain-activity patterns in response to adverse sensory experience, scientists find, opening a window to our emotions and, perhaps, neuropsychiatric ... \nMay 29, 2025 \u0097 Researchers gave participants face tattoos that can track when their brain is working too hard. The study introduces a non-permanent wireless forehead e-tattoo that decodes brainwaves to measure ... \nMay 27, 2025 \u0097 Researchers have a new hypothesis for how brain cells called astrocytes might contribute to memory storage in the brain. Their model, known as dense associative memory, would help explain the ... \nMay 27, 2025 \u0097 A new study suggests how APOE2 is protective while APOE4 increases disease risk by regulating the brain's immune ... \nMay 27, 2025 \u0097 Persons with Parkinson's disease increasingly lose their mobility over time and are eventually unable to walk. Hope for these patients rests on deep brain stimulation, also known as a brain ... \nMay 27, 2025 \u0097 How come you can't tickle yourself? And why can some people handle tickling perfectly fine while others scream their heads off? Neuroscientists argue that we should take tickle research more ... \nMay 27, 2025 \u0097 Taking a statin medication is an effective, safe, and low-cost way to lower cholesterol and reduce risk of cardiovascular events. Despite clinicians recommending that many patients with diabetes take ... \nMay 27, 2025 \u0097 A specific group of nerve cells in the brain stem appears to control how semaglutide affects appetite and weight -- without causing ... \nMay 23, 2025 \u0097 Some patients with a rare form of ALS benefited from an experimental therapy, with biomarker evidence of reduced injury to neurons and even limited functional ... \nMay 22, 2025 \u0097 A new study examines the emergence of overimitation in infants aged between 16 and 21 months to see if and how it is linked to social affiliation and other forms of imitation. The researchers found ... \nMay 22, 2025 \u0097 Worldwide, more than 55 million people suffer from dementia caused by Alzheimer's Disease (AD) and other conditions that destroy cells in the brain and nervous system. While there is no ... \nMay 22, 2025 \u0097 Researchers have identified a remarkably small but critical piece of genetic code that helps determine how brain cells connect, communicate, and function. The discovery not only deepens our ... \nMay 22, 2025 \u0097 New research suggests that acute stress may impair key brain functions involved in managing emotions -- particularly in people living with 'distress disorders' such as depression, anxiety, ... \nMay 21, 2025 \u0097 The smallest grooves on the brain's surface, unique to humans, have largely been ignored by anatomists, but recent studies show that they're related to cognitive performance, including face ... \nMay 21, 2025 \u0097 A mechanism involving potassium channels in the brain that control brain cell activity could provide a new and fundamentally different way of treating depression symptoms in adults with major ... \nMay 21, 2025 \u0097 Research teams have created a versatile set of gene delivery systems that can reach different neural cell types in the human brain and spinal cord with exceptional accuracy. These delivery systems ... \nMay 21, 2025 \u0097 Researchers demonstrated unprecedented rates of recovery for spinal cord injuries. Individuals with incomplete spinal cord injury safely received a combination of stimulation of a nerve in the neck ... \nMay 20, 2025 \u0097 Scientists and medics have developed an ultra-rapid method of genetically diagnosing brain tumors that will cut the time it takes to classify them from 6-8 weeks, to as little as two hours.The team ... \nMay 20, 2025 \u0097 Trauma centers nationwide will begin to test a new approach for assessing traumatic brain injury (TBI) that is expected to lead to more accurate diagnoses and more appropriate treatment and fo",
|
| 4 |
+
"sources": [
|
| 5 |
+
"https://www.nature.com/subjects/neuroscience",
|
| 6 |
+
"https://neurosciencenews.com/",
|
| 7 |
+
"https://news.mit.edu/topic/neuroscience",
|
| 8 |
+
"https://www.sciencedaily.com/news/mind_brain/neuroscience/"
|
| 9 |
+
]
|
| 10 |
+
}
|
web_contexts/what_is_the_current_bit_coin_price_right_now_.json
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"query": "what is the current bit coin price right now?",
|
| 3 |
+
"context": "Bitcoin is a decentralized cryptocurrency that uses peer-to-peer technology and a blockchain to record transactions. It was created by Satoshi Nakamoto and the first block was mined on January 3, 2009. Bitcoin transactions are recorded on a blockchain, which is a distributed ledger that can be accessed by anyone to verify transactions. Transactions are verified by miners, who are rewarded with a set amount of Bitcoin and transaction fees. The supply of Bitcoin is limited to 21 million coins and it is divisible to eight decimal places. A wallet is needed to use Bitcoin and it consists of a public key, which is used to send and receive payments, and a private key, which is used to control the wallet. Bitcoin can be used for a variety of purposes, including everyday transactions, as a store of value, or for investment. What is Bitcoin? Bitcoin is a decentralized digital currency that uses cryptography to secure transactions and control the supply of new coins. It operates on a peer-to-peer network, where every transaction is recorded on a public ledger called the blockchain. As the first digital currency to enable direct transfers of value without intermediaries, Bitcoin has pioneered a new approach to money. Today, it functions as both a medium of exchange and a store of value, influencing global finance and inspiring many other digital currencies. Each bitcoin is made up of 100 million satoshis, making it divisible up to eight decimal places. This means that anyone can purchase a fraction of a bitcoin with as little as one U.S. dollar. So, who created Bitcoin? Then, who manages Bitcoin? How does Bitcoin mining work? What are Bitcoin Halvings? Why Does Bitcoin Appreciate in Value? What is Bitcoin\u2019s All-Time High? What is Bitcoin\u2019s Energy Consumption? How to Invest in a Bitcoin ETF\n\nBitcoin (BTC) is a cryptocurrency launched in 2010. Users are able to generate BTC through the process of mining. Bitcoin has a current supply of 19,874,237. The last known price of Bitcoin is 105,751.72042403 USD and is up 0.42 over the last 24 hours. It is currently trading on 12209 active market(s) with $43,819,958,325.63 traded over the last 24 hours. More information can be found at https://bitcoin.org/.",
|
| 4 |
+
"sources": [
|
| 5 |
+
"https://www.coindesk.com/price/bitcoin",
|
| 6 |
+
"https://finance.yahoo.com/quote/BTC-USD/"
|
| 7 |
+
]
|
| 8 |
+
}
|