Szuflada / app.py
jaczad's picture
Poprawki interfejsu
a35dbf0
raw
history blame
1.79 kB
from langchain_chroma import Chroma
from langchain_huggingface import HuggingFaceEmbeddings
from openai import OpenAI
import gradio as gr
# from langchain.llms import OpenAI as LangchainOpenAI
client=OpenAI()
embeddings = HuggingFaceEmbeddings(model_name='radlab/polish-sts-v2')
vector_store=Chroma(
collection_name='szuflada',
embedding_function=embeddings,
persist_directory='baza'
)
def ask(pytanie):
context_object=vector_store.similarity_search(query=pytanie, k=3)
context=context_object[0].page_content+context_object[1].page_content+context_object[2].page_content
answer=client.chat.completions.create(
model='gpt-4o-mini',
messages=[
{'role': 'system',
'content': 'Nazywasz się Piotr Witek i jesteś entuzjastą technologii asystujących dla osób niewidomych. Odpowiadasz na pytanie korzystając z kontekstu. Stosuj styl wypowiedzi jak w kontekście. Jeżeli odnosisz się do jakiegoś zasobu, dodaj łącze do niego.'},
{'role': 'user',
'content': 'Pytanie: '+pytanie+'\nKontekst:\n'+context}
]
)
return answer.choices[0].message.content
demo=gr.Interface(
fn=ask,
inputs=gr.Text(label='Tu wpisz pytanie', autofocus=True),
outputs=gr.Markdown(show_copy_button=True),
title='Moja szuflada AI',
description='To jest moja szuflada oparta o sztuczną inteligencję. W okienku Pytanie wpisz pytanie i naciśnij Enter. Odpowiedź wyświetli się obok. Jeżeli chcesz ją skopiować, to jest do tego przycisk. Jeżeli zaś chcesz pomóc w poprawianiu, kliknij na 1 z przycisków "Jest dobrze" lub "Co za brednie!".',
allow_flagging='manual',
clear_btn='Wyczyść',
flagging_options=['Jestdobrze', 'Co za brednie'],
submit_btn='Zapytaj'
).launch(show_api=False, inline=False)