From 2f66a36d10913a322b6ef837951a81f54105eb60 Mon Sep 17 00:00:00 2001 From: localsoo Date: Mon, 21 Apr 2025 04:57:09 +0000 Subject: [PATCH] Update rag_chain.py --- app/rag_chain.py | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/app/rag_chain.py b/app/rag_chain.py index a2a7a2e..b0b525c 100644 --- a/app/rag_chain.py +++ b/app/rag_chain.py @@ -7,10 +7,12 @@ from weaviate.connect import ConnectionParams from weaviate.auth import AuthApiKey from weaviate.auth import AuthCredentials from weaviate.classes.init import Auth -from langchain.vectorstores import Weaviate +# from langchain.vectorstores import Weaviate from langchain.chains import RetrievalQA from langchain.chat_models import ChatOpenAI from langchain.embeddings import OpenAIEmbeddings +from langchain.vectorstores import Weaviate as WeaviateLangchain +from langchain.embeddings.openai import OpenAIEmbeddings def build_rag_chain(): # 1. Weaviate 클라이언트 @@ -95,14 +97,25 @@ def build_rag_chain(): legacy_client = legacy_weaviate.Client(connection_params=client4.connection_params) # langchain용 - # 2. 벡터스토어 - vectorstore = Weaviate( - client=legacy_client, - index_name="LangDocs", - text_key="text", - embedding=OpenAIEmbeddings(openai_api_key=OPENAI_API_KEY) + client = weaviate.Client( + url="http://183.111.96.67:32668", # 예: http://localhost:8080 + auth_client_secret=weaviate.AuthApiKey(api_key="01js3q6y7twaxccm5dbh3se9bt"), + additional_headers={ + "X-OpenAI-Api-Key": OPENAI_API_KEY + } ) + vectorstore = WeaviateLangchain(client=client, index_name="LangDocs", text_key="text", embedding=OpenAIEmbeddings(openai_api_key=OPENAI_API_KEY)) + + + # 2. 벡터스토어 + # vectorstore = Weaviate( + # client=client, + # index_name="LangDocs", + # text_key="text", + # embedding=OpenAIEmbeddings(openai_api_key=OPENAI_API_KEY) + # ) + # 3. HuggingFace LLM (예: mistralai/Mistral-7B-Instruct-v0.2) llm = ChatOpenAI(temperature=0, openai_api_key=OPENAI_API_KEY)