red*_*123 10 python langchain py-langchain
我在 langchain 中编写了一个应用程序,它将多个链传递给顺序链来运行。我遇到的问题是提示太大,超出了 4K 令牌限制大小。我看到 OpenAI 为 ChatGPT 发布了一个新的 16K 令牌窗口大小的模型,但我似乎无法从 API 访问它。当我尝试时,出现以下错误:
openai.error.InvalidRequestError:这是一个聊天模型,v1/completions 端点不支持。您的意思是使用 v1/chat/completions 吗?
这是我尝试实例化模型的方式:
self.llm = OpenAI(model='gpt-3.5-turbo-16k',temperature = self.config.llm.temperature,
openai_api_key = self.config.llm.openai_api_key,
max_tokens=self.config.llm.max_tokens
)
Run Code Online (Sandbox Code Playgroud)
有人知道我该如何解决这个问题吗?
OpenAIChat 已弃用。请改用ChatOpenAI()模型。另请注意,模型名称应通过model_name参数传递。
from langchain.chat_models import ChatOpenAI
chat = ChatOpenAI(
model_name='gpt-3.5-turbo-16k',
temperature = self.config.llm.temperature,
openai_api_key = self.config.llm.openai_api_key,
max_tokens=self.config.llm.max_tokens
)
Run Code Online (Sandbox Code Playgroud)
它gpt-3.5-turbo-16k应该与聊天完成 API 端点一起使用。请参阅下面的参考:
| 端点 | 型号名称 |
|---|---|
| /v1/聊天/完成 | gpt-4、gpt-4-0613、gpt-4-32k、gpt-4-32k-0613、gpt-3.5-turbo、gpt-3.5-turbo-0613、gpt-3.5-turbo-16k、gpt-3.5-涡轮-16k-0613 |
| /v1/完成次数 | 文本-达芬奇-003、文本-达芬奇-002、文本-居里-001、文本-巴贝奇-001、文本-ada-001 |
因此,不要使用OpenAI()llm(它在底层使用文本完成 API),而是尝试使用OpenAIChat(). 请参阅以下示例并参考您的示例代码:
from langchain.llms import OpenAIChat
self.llm = OpenAIChat(
model_name='gpt-3.5-turbo-16k',
temperature = self.config.llm.temperature,
openai_api_key = self.config.llm.openai_api_key,
max_tokens=self.config.llm.max_tokens
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11419 次 |
| 最近记录: |