OPENAI的“gpt-3.5-turbo-0125”型号正确的提示应该是什么

问题描述 投票:0回答:1
from langchain.llms import OpenAI
import os

os.environ["OPENAI_API_KEY"] = "my api keys"

llm = OpenAI(temperature=0.6)
text = "Write about bangladesh" + "Donot generate any hashtags end the end" + "donot write more than 50 words"

output = llm.predict(text)
print(len(output))
print(output)
print(len(output.split()))

输出:

492

孟加拉国位于南亚,是一个以其郁郁葱葱的绿色景观、充满活力的文化和坚韧的人民而闻名的国家。它拥有超过1.6亿人口,是世界第八大人口大国。尽管面临各种挑战,孟加拉国在教育、卫生、经济等领域取得了显着进展。该国的主要产业包括农业、纺织和旅游业。孟加拉国还拥有世界上最大的红树林——孙德尔本斯。

74

作为用户,我将提供 100 个字符之间的提示,gpt 模型为我提供有关给定提示的 100 个字以内的信息

openai-api prompt chatgpt-api
1个回答
0
投票

首先,看起来您使用的是 gpt-3.5-turbo-instruct 而不是 gpt-3.5-turbo-0125。您可以使用以下方法从代码中打印型号名称:

print(f"Model: {llm.model_name}")

似乎一致认为,没有万无一失的方法可以强制任何 gpt LLM 可靠地设置或限制其输出的字长。但下面的代码运行得相当好。我将其中的温度设置为零。这意味着相同的提示应该始终产生相同的输出。这意味着,如果您确实在特定主题上得到了特别长的答案,您可以尝试调整提示以获得较短的答案。

我还修改了提示,要求进一步编辑到字数限制,这似乎改善了长度限制,并将字数限制设置为 90。您在问题中提到了 100 字数限制,我发现当前提示和指定的 90 个字数限制给出了 100 左右长度的良好聚类,大多数都在 +/- 10% 范围内。

我还添加了一个输入语句,以便轻松测试不同的主题

from langchain.llms import OpenAI
import os
    
os.environ["OPENAI_API_KEY"] = "my api keys"
    
llm = OpenAI(temperature=0)

# print(f"Model: {llm.model_name}")

while True:
    topic = input("\nGive me a topic: ")
    text = f"Write about {topic}. Do not generate any hashtags at the end. Do not write more than " \
           f"90 words. Then edit it down to make sure that it is written to within 90 words."

    output = llm.predict(text)
    # print(len(output))
    print(output)
    print(len(output.split()))

请记住,gpt 的行为就好像它有自己的想法一样,有时会出现意想不到的结果。这可能适用于其回复的长度及其内容!

最后,请注意,虽然此提示适用于大约 100 个单词的回答,但您需要探索其他提示以获得更大的字数。

© www.soinside.com 2019 - 2024. All rights reserved.