mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2025-12-20 12:19:06 +00:00
58 lines
1.3 KiB
Python
58 lines
1.3 KiB
Python
import requests
|
|
import spacy
|
|
|
|
# Enter the Machine where the LLM is hosted
|
|
LLM_MACHINE_IP = ""
|
|
# This is the URL of text-generation-webui
|
|
URL = f"http://{LLM_MACHINE_IP}:5000/api/v1/generate"
|
|
|
|
headers = {
|
|
"Content-Type": "application/json"
|
|
}
|
|
|
|
|
|
def split_text_file(filename, token_count):
|
|
nlp = spacy.load('en_core_web_md')
|
|
|
|
with open(filename, 'r') as file:
|
|
text = file.read()
|
|
|
|
doc = nlp(text)
|
|
total_tokens = len(doc)
|
|
|
|
parts = []
|
|
start_index = 0
|
|
|
|
while start_index < total_tokens:
|
|
end_index = start_index + token_count
|
|
part_tokens = doc[start_index:end_index - 5]
|
|
part = ' '.join(token.text for token in part_tokens)
|
|
parts.append(part)
|
|
start_index = end_index
|
|
|
|
return parts
|
|
|
|
|
|
final_summary = ""
|
|
parts = split_text_file("transcript.txt", 1600)
|
|
|
|
for part in parts:
|
|
prompt = f"""
|
|
### Human:
|
|
Given the following text, distill the most important information
|
|
into a short summary: {part}
|
|
|
|
### Assistant:
|
|
"""
|
|
data = {
|
|
"prompt": prompt
|
|
}
|
|
try:
|
|
response = requests.post(URL, headers=headers, json=data)
|
|
print(response.json())
|
|
except Exception as e:
|
|
print(str(e))
|
|
|
|
with open("summary.txt", "w") as sum:
|
|
sum.write(" ".join(final_summary))
|