Mari kita buat sistem RAG yang akan digunakan untuk pengujian.
from myrag import PDFRAG# Membuat fungsi untuk menjawab pertanyaan menggunakan LLMdefask_question_with_llm(llm):# Membuat objek PDFRAG rag =PDFRAG("data/ChatGPT:Keuntungan,Risiko,DanPenggunaanBijakDalamEraKecerdasanBuatan.pdf", llm, )# Membuat retriever retriever = rag.create_retriever()# Membuat chain rag_chain = rag.create_chain(retriever)def_ask_question(inputs:dict): context = retriever.invoke(inputs["question"]) context ="\n".join([doc.page_content for doc in context])return{"question": inputs["question"],"context": context,"answer": rag_chain.invoke(inputs["question"]),}return _ask_question
Buat fungsi yang memanfaatkan model GPT-4o-mini dan model Ollama untuk menghasilkan jawaban atas pertanyaan.
from langchain_openai import ChatOpenAIfrom langchain_community.chat_models import ChatOllamagpt_chain =ask_question_with_llm(ChatOpenAI(model="gpt-4o-mini", temperature=0))ollama_chain =ask_question_with_llm(ChatOllama(model="llama3.1:8b"))
OpenAIRelevanceGrader digunakan untuk menilai apakah pertanyaan (Question), konteks (Context), dan jawaban (Answer) memiliki relevansi.
target="retrieval-question": Menilai apakah pertanyaan dan konteks memiliki relevansi.
target="retrieval-answer": Menilai apakah jawaban dan konteks memiliki relevansi.