ryoshimu commited on
Commit ·
acb6830
1
Parent(s): 2275717
commit
Browse files
app.py
CHANGED
|
@@ -49,20 +49,33 @@ class RAGSystem:
|
|
| 49 |
length_function=len
|
| 50 |
)
|
| 51 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 52 |
def add_documents(self, documents: List[str]):
|
| 53 |
"""ドキュメントをベクトルストアに追加"""
|
| 54 |
chunks = []
|
| 55 |
-
|
| 56 |
-
chunks.extend(self.text_splitter.split_text(doc))
|
| 57 |
-
|
| 58 |
-
# ChromaDBに保存
|
| 59 |
-
self.vectorstore.add_texts(chunks)
|
| 60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 61 |
def query(self, question: str, k: int = 8) -> str: # k値をさらに増加
|
| 62 |
"""質問に対する回答を生成"""
|
| 63 |
# 関連ドキュメントを検索
|
| 64 |
docs = self.vectorstore.similarity_search_with_score(
|
| 65 |
-
question,
|
| 66 |
k=k
|
| 67 |
)
|
| 68 |
|
|
|
|
| 49 |
length_function=len
|
| 50 |
)
|
| 51 |
|
| 52 |
+
# def add_documents(self, documents: List[str]):
|
| 53 |
+
# """ドキュメントをベクトルストアに追加"""
|
| 54 |
+
# chunks = []
|
| 55 |
+
# for doc in documents:
|
| 56 |
+
# chunks.extend(self.text_splitter.split_text(doc))
|
| 57 |
+
|
| 58 |
+
# # ChromaDBに保存
|
| 59 |
+
# self.vectorstore.add_texts(chunks)
|
| 60 |
+
|
| 61 |
def add_documents(self, documents: List[str]):
|
| 62 |
"""ドキュメントをベクトルストアに追加"""
|
| 63 |
chunks = []
|
| 64 |
+
metadatas = []
|
|
|
|
|
|
|
|
|
|
|
|
|
| 65 |
|
| 66 |
+
for i, doc in enumerate(documents):
|
| 67 |
+
split_chunks = self.text_splitter.split_text(doc)
|
| 68 |
+
chunks.extend([f"passage: {chunk}" for chunk in split_chunks])
|
| 69 |
+
metadatas.extend([{"source_doc_id": i}] * len(split_chunks))
|
| 70 |
+
|
| 71 |
+
# ChromaDB に保存(プレフィックス付き・メタデータ付き)
|
| 72 |
+
self.vectorstore.add_texts(texts=chunks, metadatas=metadatas)
|
| 73 |
+
|
| 74 |
def query(self, question: str, k: int = 8) -> str: # k値をさらに増加
|
| 75 |
"""質問に対する回答を生成"""
|
| 76 |
# 関連ドキュメントを検索
|
| 77 |
docs = self.vectorstore.similarity_search_with_score(
|
| 78 |
+
f"query: {question}",
|
| 79 |
k=k
|
| 80 |
)
|
| 81 |
|