网站上gemini pro 输出时,没过一阵就需要 go on,能否一口气输出?
1. 网站上gemini pro 输出时,没过一阵就需要 go on,能否一口气输出?2. 在api调用时,怎么让它对长文本不出错呢? 长文本只能通过程序调用 API 本帖最后由 blackantt 于 2024-4-26 17:25 编辑
不二如是 发表于 2024-4-26 17:09
长文本只能通过程序调用 API
`) 本帖最后由 blackantt 于 2024-4-26 17:24 编辑
不二如是 发表于 2024-4-26 17:09
长文本只能通过程序调用 API
想给 srt 字幕文件加标点。图形界面下,每几百行,输入 go on 勉强能走完。
但api下怎么给 srt 长文件 加标点呢?
给个简单长文代码吧, blackantt 发表于 2024-4-26 17:13
想给 srt 字幕文件加标点。图形界面下,每几百行,输入 go on 勉强能走完。
但api下怎么给 srt 长 ...
受到 tokens 长度的,一般都要做截断处理,分段落发送和接收合并。 小甲鱼的二师兄 发表于 2024-5-2 20:37
受到 tokens 长度的,一般都要做截断处理,分段落发送和接收合并。
分割和合并代码参考:
def split_text(text, max_length):
"""
将文本分割成多个不超过max_length的段落。
"""
paragraphs = []
current_paragraph = ""
for word in text.split():
if len(current_paragraph) + len(word) + 1 > max_length:
paragraphs.append(current_paragraph)
current_paragraph = word
else:
if current_paragraph:
current_paragraph += " "
current_paragraph += word
if current_paragraph:
paragraphs.append(current_paragraph)
return paragraphs
def translate(text, source_lang="en", target_lang="zh"):
"""
假设的API翻译函数,这里只是简单返回输入的文本加上 " (translated)"。
实际使用时应调用具体的翻译API。
"""
# 模拟网络延时
import time
time.sleep(1)
return text + " (translated)"
def translate_long_text(text, source_lang="en", target_lang="zh", max_length=1000):
"""
处理长文本的翻译,自动分割并合并翻译结果。
"""
segments = split_text(text, max_length)
translated_segments = []
for segment in segments:
translated_text = translate(segment, source_lang, target_lang)
translated_segments.append(translated_text)
return ' '.join(translated_segments)
# 示例文本
long_text = "This is a very long text that needs to be split into multiple segments for translation. " * 20
# 翻译长文本
translated_text = translate_long_text(long_text, source_lang="en", target_lang="zh")
print(translated_text)
页:
[1]