GPT-4又帮了我一个小忙

2024-01-17 17:09:39 浏览数 (1)

前文:ChatGPT 沦为了我的打工仔

最近在学吴恩达和Langchain合作开发了JavaScript 生成式 AI 短期课程:《使用 LangChain.js 构建 LLM 应用程序》 课程地址:https://learn.deeplearning.ai/build-llm-apps-with-langchain-js

课程简介如下:

GitHub 最近报告称 JavaScript 再次成为世界上最流行的编程语言。为了支持 Web 开发人员探索和开发生成式 AI,我们刚刚推出了一个新的 JavaScript 短期课程,由 @LangChainAI 的创始工程师 @Hacubu 教授。在使用 LangChain.js 构建 LLM 应用程序中,您将学习人工智能开发中常见的元素,包括:

(i) 使用数据加载器从 PDF、网站和数据库等常见来源提取数据 (ii) 提示,用于提供 LLM 上下文 (iii) 支持 RAG 的模块,例如文本分割器以及与向量存储的集成 (iv) 使用不同的模型来编写不特定于供应商的应用程序 (v) 解析器,提取并格式化输出以供下游代码处理

我对这门课非常感兴趣,但是deeplearning官网还没有字幕,学起来非常困难

已经有up搬运并配了机翻字幕,但是感觉很多地方翻译的不是很准确

所以我准备一边学习一边翻译并上传,但是这个字幕翻译工作还是蛮费功夫的,原本更了一期就弃疗了

但是有点不甘心,又摸索了一下,目前已找到一个相对完美的工作流,效率和效果还算满意,准备继续翻译下去了

感兴趣的同学可以关注一下:https://www.bilibili.com/video/BV1Te411m7ys

这里GPT-4帮了我两个大忙,一个是翻译,一个是让它帮我写了一段Python脚本整理翻译的文案

我的提问如下**:

我有两个文本

一个是

代码语言:javascript复制
1
00:00:00,000 --> 00:00:07,000
In this lesson, you'll learn some of the basic building blocks of LLM applications, namely prompt templates, models, and parsers.

2
00:00:07,000 --> 00:00:12,000
And you'll learn a bit about how to combine them together to create chains with Langchain Expression Language.

3
00:00:12,000 --> 00:00:13,000
Let's dive in.

另一个是

代码语言:javascript复制
[
    "在这节课中,你将学习LLM应用的一些基础组成部分,即提示模板、模型和解析器。",
    "你还会了解一些如何将它们结合起来,使用Langchain表达式语言创建链条。",
    "让我们开始吧。",
]

请帮我写一段Python,将其整理为

代码语言:javascript复制
1
00:00:00,000 --> 00:00:07,000
在这节课中,你将学习LLM应用的一些基础组成部分,即提示模板、模型和解析器。

2
00:00:07,000 --> 00:00:12,000
你还会了解一些如何将它们结合起来,使用Langchain表达式语言创建链条。

3
00:00:12,000 --> 00:00:13,000
让我们开始吧。

GPT-4 给了我完美可执行代码:

你可以使用Python来读取这两个文本,然后把它们结合在一起,输出最终的格式。以下是一个简单的Python脚本,它将执行这个任务:

代码语言:javascript复制
# 假设第一个文本储存在english_subtitles.srt中,第二个文本储存在translated_texts.json中

# 读取SRT文件
with open('english_subtitles.srt', 'r', encoding='utf-8') as file:
    english_subtitles = file.readlines()

# 读取翻译后的JSON文件
with open('translated_texts.json', 'r', encoding='utf-8') as file:
    translated_texts = eval(file.read())

# 确保翻译文本的数量与SRT文件中的条目数量相同
assert len(translated_texts) == english_subtitles.count('n') / 2

# 初始化索引和结果列表
index = 0
result = []

# 遍历英文字幕列表
for line in english_subtitles:
    if '-->' in line:
        # 时间轴保持不变
        result.append(line)
    elif line.strip().isdigit():
        # 序号保持不变
        result.append(line)
    elif line.strip() == '':
        # 翻译文本替换原文本
        result.append(translated_texts[index].strip()   'n')
        index  = 1
        result.append('n')

# 写入最终的翻译字幕文件
with open('translated_subtitles.srt', 'w', encoding='utf-8') as file:
    file.writelines(result)

print("翻译字幕已经成功保存为translated_subtitles.srt")

这个脚本会做以下工作:

  1. 读取英文字幕文件(SRT格式)
  2. 读取翻译后的文本(JSON格式)
  3. 遍历SRT文件的每一行,当遇到时间轴或序号时,保持原样输出
  4. 当遇到英文文本时,用对应的中文翻译替换
  5. 将最终结果写入新的SRT文件

确保你的文件名与脚本中的文件名相匹配,或者根据你的文件名修改脚本中的路径。此外,确保你有权限读取和写入这些文件。

ok,继续学习去了,88

0 人点赞