跳到主要内容

dspy.OpenAI

用法

lm = dspy.OpenAI(model='gpt-3.5-turbo')

构造函数

构造函数初始化基类 LM 并验证提供的参数,如 api_providerapi_keyapi_base,以建立 OpenAI 请求检索。kwargs 属性使用默认值进行初始化,用于与 GPT API 通信所需的相关文本生成参数,如 temperaturemax_tokenstop_pfrequency_penaltypresence_penaltyn

class OpenAI(LM):
def __init__(
self,
model: str = "text-davinci-002",
api_key: Optional[str] = None,
api_provider: Literal["openai"] = "openai",
model_type: Literal["chat", "text"] = None,
**kwargs,
):

参数:

  • api_key (Optional[str], optional): API 提供商的身份验证令牌。默认为 None。
  • api_provider (Literal["openai"], optional): 要使用的 API 提供商。默认为 "openai"。
  • model_type (Literal["chat", "text"]): 要使用的指定模型类型。
  • **kwargs: 要传递给 API 提供商的额外语言模型参数。

方法

__call__(self, prompt: str, only_completed: bool = True, return_sorted: bool = False, **kwargs) -> List[Dict[str, Any]]

通过调用 request 从 OpenAI 检索完成内容。

在内部,该方法处理准备请求提示和相应有效载荷以获取响应的具体细节。

生成后,根据 model_type 参数后处理完成内容。如果参数设置为 'chat',生成的内容看起来像 choice["message"]["content"]。否则,生成的文本将是 choice["text"]

参数:

  • prompt (str): 要发送到 OpenAI 的提示。
  • only_completed (bool, optional): 返回仅已完成的响应并忽略由于长度而完成的标志。默认为 True。
  • return_sorted (bool, optional): 使用返回的平均对数概率对完成选择进行排序的标志。默认为 False。
  • **kwargs: 完成请求的其他关键字参数。

返回:

  • List[Dict[str, Any]]: 完成选择的列表。