Spaces:
Sleeping
Sleeping
File size: 2,026 Bytes
ec16604 1757e11 d7ce517 2ca909f d7ce517 70511cb 3567445 f1d619d ab5ba09 2686f1f a35f127 2686f1f 91a25c0 659ec36 8d8044c 6b94a4b 3567445 6b94a4b 1757e11 6b94a4b 1757e11 6b94a4b 1757e11 6b94a4b 1757e11 2ca909f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
from openai import OpenAI
import crawl_the_site
import create_database
import streamlit as st
api_key = "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"
openai_client = OpenAI(base_url="https://openrouter.ai/api/v1",api_key=api_key)
prompt_template = """Answer the question only according to the information provided below. Answer only the user's question, dont give additional information.
## Information :
{}
## Question :
# {}"""
try:
if st.session_state.stage == "remove-crawl":
st.session_state.stage = "prompt-input"
except Exception:
st.session_state.stage = "crawl-input"
if st.session_state.stage == "crawl-input":
config = st.text_area("Enter the start URL and the limit of crawling (in this format : URL,limit):")
config_btn = st.button("Start crawling!")
st.write("im here")
if not (st.session_state.stage == "remove-crawl") and config and config_btn:
start = config.split(",")[0]
limit = int(config.split(",")[1])
txt = crawl_the_site.crawl(start,limit)
st.session_state.collection = create_database.create_database(txt)
st.write("Crawling is done.")
st.session_state.stage = "remove-crawl"
if st.session_state.stage == "prompt-input":
prompt = st.text_area("Ask the documentation a question :")
prompt_btn = st.button("Enter")
if prompt and prompt_btn:
results = st.session_state.collection.query(query_texts=[prompt],n_results=5)
infos = results["documents"][0]
info_text = ""
for info in infos:
info_text += info + "\n---\n"
info_text = info_text.strip()
prompt = prompt_template.format(info_text,prompt)
completion = openai_client.chat.completions.create(
extra_headers={},
extra_body={},
model="deepseek/deepseek-r1:free",
messages=[{"role":"user","content":prompt}])
st.write((completion.choices[0].message.content)) |