|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 movit 于 2023-7-29 09:15 编辑
阅读英文内容,不仅仅是想要得到翻译,还想要提取文本中的固定搭配和一些词汇,使用翻译软件肯定是不行的,使用gpt等需要手动复制粘贴到对话框,所以有了用脚本调用chatgpt,自动处理pdf,实现翻译/固定搭配提取/词汇提取工作。
Phind是一款为开发者打造的AI引擎,最近引进了GPT模型和辅助编程功能。https://www.phind.com/
Phind准确来说应该是GPT4模型,不负所望,最终写出了python脚本实现上面的需求。
下面是GPT写的代码,python解析pdf文本,最终翻译后的内容导出为markdown格式,附件pdf有和GPT互动的过程。
- import openai
- import sys
- from PyPDF2 import PdfReader
- # Set your OpenAI API key
- openai.api_key = 'your-api-key'
- def parse_pdf(file):
- with open(file, 'rb') as file:
- pdf = PdfReader(file)
- text = ''
- for page in pdf.pages:
- text += page.extract_text()
- return text
- def translate_and_analyze_text(text):
- model = "gpt-3.5-turbo"
- prompt_message = {
- 'role': "system",
- 'content': """
- 角色:你是一个英语学习助手。
- 作为翻译器请将以下文本进行英中翻译,简化版英文文本,固定搭配解释和单词提取。
- """
- }
- user_message = {
- 'role': 'user',
- 'content': text
- }
- messages = openai.ChatCompletion.create(
- model=model,
- messages=[prompt_message, user_message]
- )
-
- response_message = messages['choices'][0]['message']['content']
- return response_message
- def transform_text(text):
- # Split the text into paragraphs by empty lines
- paragraphs = text.split('\n\n')
- # Translate and analyze each paragraph separately
- result = ''
- for paragraph in paragraphs:
- result += translate_and_analyze_text(paragraph) + '\n\n'
- return result
- def main():
- if len(sys.argv) != 2:
- print("Usage: python translate.py filename.pdf")
- sys.exit(1)
- filename = sys.argv[1] # get the file name from the command line argument
- raw_text = parse_pdf(filename)
- # Use the transform_text function to translate and analyze text paragraph by paragraph
- result = transform_text(raw_text)
- output_filename = filename.rsplit('.', 1)[0] + '.md' # replace .pdf with .md
- with open(output_filename, 'w') as f:
- f.write(result)
- if __name__ == "__main__":
- main()
复制代码
|
|