Quellcode durchsuchen

Fix pandas indexing method for knowledge base imports (#12637) (#12638)

Co-authored-by: CN-P5 <heibai2006@qq.com>
CN-P5 vor 3 Monaten
Ursprung
Commit
cd257b91c5

+ 2 - 2
api/controllers/console/datasets/datasets_segments.py

@@ -375,9 +375,9 @@ class DatasetDocumentSegmentBatchImportApi(Resource):
             result = []
             for index, row in df.iterrows():
                 if document.doc_form == "qa_model":
-                    data = {"content": row[0], "answer": row[1]}
+                    data = {"content": row.iloc[0], "answer": row.iloc[1]}
                 else:
-                    data = {"content": row[0]}
+                    data = {"content": row.iloc[0]}
                 result.append(data)
             if len(result) == 0:
                 raise ValueError("The CSV file is empty.")

+ 1 - 1
api/core/rag/index_processor/processor/qa_index_processor.py

@@ -112,7 +112,7 @@ class QAIndexProcessor(BaseIndexProcessor):
             df = pd.read_csv(file)
             text_docs = []
             for index, row in df.iterrows():
-                data = Document(page_content=row[0], metadata={"answer": row[1]})
+                data = Document(page_content=row.iloc[0], metadata={"answer": row.iloc[1]})
                 text_docs.append(data)
             if len(text_docs) == 0:
                 raise ValueError("The CSV file is empty.")

+ 1 - 1
api/services/annotation_service.py

@@ -286,7 +286,7 @@ class AppAnnotationService:
             df = pd.read_csv(file)
             result = []
             for index, row in df.iterrows():
-                content = {"question": row[0], "answer": row[1]}
+                content = {"question": row.iloc[0], "answer": row.iloc[1]}
                 result.append(content)
             if len(result) == 0:
                 raise ValueError("The CSV file is empty.")

+ 2 - 2
api/tasks/batch_create_segment_to_index_task.py

@@ -77,8 +77,8 @@ def batch_create_segment_to_index_task(
                 index_node_id=doc_id,
                 index_node_hash=segment_hash,
                 position=max_position + 1 if max_position else 1,
-                content=content,
-                word_count=len(content),
+                content=content_str,
+                word_count=len(content_str),
                 tokens=tokens,
                 created_by=user_id,
                 indexing_at=datetime.datetime.now(datetime.UTC).replace(tzinfo=None),