45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
|
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()
|