admin管理员组

文章数量:1570480

使用OpenAPIKey来调用ChatGPT并解决生成回答控制台显示不全的问题

Code:

import os
import openai
import re

def get_ai_response(prompt, engine="text-davinci-002"):
    response = openai.Completion.create(
        engine=engine,
        prompt=prompt,
        # 生成文本的最大长度
        max_tokens=500,
        # 这个参数控制生成的文本数量。在这个例子中,我们设置为1,这意味着我们只生成一个回答。您可以根据需要增加这个值,例如,如果您希望模型生成多个独立的回答。
        n=1,
        # 一个字符串列表,表示在遇到这些字符串时模型应停止生成文本。这可以帮助你控制生成的文本的结构。
        stop=None,
        # 一个浮点数,表示生成文本时的随机性程度。较高的值(例如1.0)会使生成的文本更具创意和多样性,但可能导致不太相关或连贯的输出。较低的值(例如0.2)会让模型生成更保守、更专注于主题的文本。
        temperature=0.7,
    )
    return response.choices[0].text.strip()

def wrap_text(text, line_width=40):
    lines = []
    line = ""
    tokens = re.findall(r'[\u4e00-\u9fff]|[^\u4e00-\u9fff]+', text)

    for token in tokens:
        if len(line + token) > line_width:
            lines.append(line)
            line = token
        else:
            line += token

    if line:
        lines.append(line)

    return lines

api_key = os.getenv("OPENAI_API_KEY") or "填入你的OpenAPIKey"
openai.api_key = api_key

question = "请告诉我如何实现财富自由?,使用中文进行回答"

generated_text = get_ai_response(question)

wrapped_question = wrap_text(question)
wrapped_text = wrap_text(generated_text)

print("Question:")
print("\n".join(wrapped_question))
print("\nAnswer:")
print("\n".join(wrapped_text))

需要科学。

本文标签: 控制台不全OpenAPIKeychatGPT