Ниже приведен код
Код: Выделить всё
from langchain.callbacks.manager import CallbackManager
from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler
from langchain.prompts import PromptTemplate
from langchain.chains.combine_documents import create_stuff_documents_chain
from langchain_community.llms import Ollama
from langchain_community.document_loaders import PyPDFLoader
from langchain.text_splitter import CharacterTextSplitter
from langchain_community.embeddings import OllamaEmbeddings
from langchain_community.vectorstores import Chroma
from langchain.chains import create_retrieval_chain
ollama_llm = Ollama(model="qwen2.5:7b", callbacks=CallbackManager([StreamingStdOutCallbackHandler()]))
loader = PyPDFLoader("test.pdf")
docx = loader.load_and_split()
text_splitter = CharacterTextSplitter(chunk_size=5, chunk_overlap=2)
documents = text_splitter.split_documents(docx)
embeddings = OllamaEmbeddings(model="qwen2.5:7b")
vectordb = Chroma.from_documents(docx, embeddings,persist_directory="./knowledge-base")
retriever = vectordb.as_retriever()
template = """
[INST] You are a home assistant designed to help users with a variety of daily life tasks.
Your role includes providing practical advice, offering solutions to common household problems, and assisting with daily planning.
Respond in a helpful, friendly, and concise manner, showing empathy and understanding. [/INST]
[INST] Question: {input}
Context: {context}
Answer: [/INST]
"""
combine_docs_chain = create_stuff_documents_chain(
ollama_llm, PromptTemplate(template=template)
)
retrieval_chain = create_retrieval_chain(retriever, combine_docs_chain)
while True:
user_input = input("User:")
if user_input == 'bye':
break
response = retrieval_chain.invoke({'input':user_input})
print()
print(response)
Пользователь: привет
Привет, Алекс! Похоже, вы очень увлечены GTA 10. Видеоигры могут стать интересным способом расслабиться и исследовать разные миры. Если вам когда-нибудь понадобятся советы по улучшению игрового процесса или вы просто захотите поговорить об игре, не стесняйтесь спрашивать! Кроме того, обязательно совмещайте игры с другими занятиями, чтобы занятия были приятными и полезными для здоровья.
Содержимое PDF-файла
Может кто-нибудь помочь мне понять, почему это происходит и как это решить?
Подробнее здесь: https://stackoverflow.com/questions/791 ... t-with-pdf
Мобильная версия