添加初始文件和功能,包括数据集和文档类的定义,以及添加文档块的用户界面
This commit is contained in:
		
							
								
								
									
										20
									
								
								add_chunk.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								add_chunk.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| # 0.提供1个对话框 | ||||
| # 1.下拉选择rag_object.list_datasets()中的一个数据集 | ||||
| # 2.根据选择的数据集,下拉选择rag_object.list_documents()中的一个文档 | ||||
| # 3.按钮选择txt文件,将其内容添加到选中的文档中doc.add_chunk | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| # from ragflow_sdk import RAGFlow | ||||
|  | ||||
| # api_key = "ragflow-I5ZDNjMWNhNTdlMjExZjBiOTEwMzI0ZT" | ||||
| # base_url = "http://192.168.107.165:8099" | ||||
|  | ||||
| # rag_object = RAGFlow(api_key=api_key, base_url=base_url) | ||||
| # datasets = rag_object.list_datasets() | ||||
| # for ds in datasets: | ||||
| #     print(ds.name, ds.id) | ||||
| #dataset = dataset[0] | ||||
|  | ||||
							
								
								
									
										36
									
								
								chunk.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								chunk.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| from ragflow_sdk import RAGFlow | ||||
|  | ||||
| api_key = "ragflow-I5ZDNjMWNhNTdlMjExZjBiOTEwMzI0ZT" | ||||
| base_url = "http://192.168.107.165:8099" | ||||
|  | ||||
| rag_object = RAGFlow(api_key=api_key, base_url=base_url) | ||||
| #dataset = rag_object.create_dataset(name="kb_1") | ||||
|  | ||||
|  | ||||
| dataset = rag_object.list_datasets(name="kb_1") | ||||
| dataset = dataset[0] | ||||
|  | ||||
| # filename1 = "ragflow.txt" | ||||
| # blob = open(filename1 , "rb").read() | ||||
| # dataset.upload_documents([{"display_name":filename1,"blob":blob}]) | ||||
| for doc in dataset.list_documents( page=0, page_size=12): | ||||
|     print(doc) | ||||
|     print("=========================================") | ||||
|  | ||||
|  | ||||
| doc = dataset.list_documents(name= 'ragflow.txt') | ||||
| doc = doc[0] | ||||
| doc.update({"parser_config": {"chunk_token_count": 256}}) | ||||
| chunk = doc.add_chunk(content="xxxxxxx") | ||||
| print(doc) | ||||
| #dataset.upload_documents([{"display_name": "1.txt", "blob": open('1.txt',"rb").read()}]) | ||||
|  | ||||
| # 查询所有知识库 | ||||
| # for dataset in rag_object.list_datasets(): | ||||
| #     print(dataset) | ||||
|  | ||||
|  | ||||
| # dataset = rag_object.list_datasets(name = "制度") | ||||
| #print(dataset)     | ||||
|  | ||||
|  | ||||
							
								
								
									
										2
									
								
								ragflow.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								ragflow.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| ragflow api test!! | ||||
| hello world | ||||
							
								
								
									
										3
									
								
								requirements.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								requirements.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| ragflow_sdk | ||||
| tkinter | ||||
| pandas | ||||
							
								
								
									
										45
									
								
								src/add_chunk.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								src/add_chunk.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | ||||
| from tkinter import Tk, StringVar, Label, OptionMenu, Button, filedialog | ||||
| from ragflow_sdk import RAGFlow | ||||
|  | ||||
| api_key = "ragflow-I5ZDNjMWNhNTdlMjExZjBiOTEwMzI0ZT" | ||||
| base_url = "http://192.168.107.165:8099" | ||||
|  | ||||
| rag_object = RAGFlow(api_key=api_key, base_url=base_url) | ||||
|  | ||||
| def add_chunk_to_document(): | ||||
|     dataset_id = dataset_var.get() | ||||
|     document_id = document_var.get() | ||||
|     file_path = filedialog.askopenfilename(filetypes=[("Text files", "*.txt")]) | ||||
|      | ||||
|     if file_path: | ||||
|         with open(file_path, 'r') as file: | ||||
|             content = file.read() | ||||
|             rag_object.add_chunk(dataset_id, document_id, content) | ||||
|  | ||||
| def update_documents(*args): | ||||
|     dataset_name = dataset_var.get() | ||||
|     dataset = rag_object.list_datasets(name=dataset_name) | ||||
|     dataset = dataset[0] | ||||
|     documents = dataset.list_documents() | ||||
|     document_menu['menu'].delete(0, 'end') | ||||
|     for doc in documents: | ||||
|         document_menu['menu'].add_command(label=doc.name, command=lambda value=doc.name: document_var.set(value)) | ||||
|  | ||||
| root = Tk() | ||||
| root.title("Add Chunk to Document") | ||||
|  | ||||
| dataset_var = StringVar(root) | ||||
| document_var = StringVar(root) | ||||
|  | ||||
| datasets = rag_object.list_datasets() | ||||
| dataset_menu = OptionMenu(root, dataset_var, *[ds.name for ds in datasets], command=update_documents) | ||||
| dataset_menu.pack() | ||||
|  | ||||
|  | ||||
| document_menu = OptionMenu(root, document_var, "") | ||||
| document_menu.pack() | ||||
|  | ||||
| add_chunk_button = Button(root, text="Add Chunk", command=add_chunk_to_document) | ||||
| add_chunk_button.pack() | ||||
|  | ||||
| root.mainloop() | ||||
							
								
								
									
										25
									
								
								src/types/index.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								src/types/index.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| from typing import List, Dict, Any | ||||
|  | ||||
| class Dataset: | ||||
|     def __init__(self, id: str, name: str): | ||||
|         self.id = id | ||||
|         self.name = name | ||||
|  | ||||
| class Document: | ||||
|     def __init__(self, id: str, title: str, content: str): | ||||
|         self.id = id | ||||
|         self.title = title | ||||
|         self.content = content | ||||
|  | ||||
| class RAGFlowResponse: | ||||
|     def __init__(self, status: str, data: Any): | ||||
|         self.status = status | ||||
|         self.data = data | ||||
|  | ||||
| def list_datasets() -> List[Dataset]: | ||||
|     # This function should return a list of Dataset objects | ||||
|     pass | ||||
|  | ||||
| def list_documents(dataset_id: str) -> List[Document]: | ||||
|     # This function should return a list of Document objects for the given dataset_id | ||||
|     pass | ||||
		Reference in New Issue
	
	Block a user