ryoshimu commited on
Commit
acb6830
·
1 Parent(s): 2275717
Files changed (1) hide show
  1. app.py +19 -6
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
- 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 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