PaperGPT / src /edit.py
YDTsai's picture
first commit
fe0ce42
import logging
import tiktoken
import gradio as gr
from langchain.text_splitter import CharacterTextSplitter
from utils import fetch_chat
from typing import List
class Editor():
def __init__(self, model: str = "gpt-3.5-turbo"):
self.encoder = tiktoken.encoding_for_model(model)
self.model = model
with open("./sample/sample_abstract.tex", "r") as f:
self.sample_content = f.read()
def split_chunk(self, text, chunk_size: int = 2000) -> List[str]:
text_splitter = CharacterTextSplitter.from_tiktoken_encoder(
chunk_size=100, chunk_overlap=0
)
text_list = text_splitter.split_text(text)
return text_list
def generate(self, text: str, openai_key: str):
logging.info("start editing")
try:
prompt = f"""
I am a computer science student.
I am writing my research paper.
You are my editor.
Your goal is to improve my paper quality at your best.
Please edit the following paragraph and return the modified paragraph.
If the paragraph is written in latex, return the modified paragraph in latex.
```
{text}
```
"""
return fetch_chat(prompt, openai_key, model=self.model)
except Exception as e:
raise gr.Error(str(e))