检查其他资源
- 为这个问题添加了一个非常描述性的标题。
- 使用集成搜索在LangChain文档中进行搜索。
- 使用GitHub搜索查找类似的问题,但没有找到。
- 我确信这是LangChain中的一个bug,而不是我的代码。
- 通过更新到LangChain的最新稳定版本(或特定集成包)无法解决此bug。
示例代码
from langchain_core.pydantic_v1 import BaseModel, Field
from langchain_openai import ChatOpenAI
from langchain_core.runnables import ConfigurableField
class Joke(BaseModel):
setup: str = Field(description="The setup of the joke")
punchline: str = Field(description="The punchline to the joke")
model = ChatOpenAI(model="gpt-3.5-turbo-0125", temperature=2, api_key="API-KEY").configurable_fields(
temperature=ConfigurableField(id="temperature", name="Temperature", description="The temperature of the model")
)
structured_llm = model.with_structured_output(Joke)
## This line does not raise an exception meaning the temperature field is not passed to the llm
structured_llm.with_config(configurable={"temperature" : 20}).invoke("Tell me a joke about cats")
## This raises exception as expected, as temperature is above 2
model.with_config(configurable={"temperature" : 20}).invoke("Tell me a joke about cats")
错误信息和堆栈跟踪(如果适用)
- 无响应*
描述
在使用 .with_config(configurable={})
与 .with_structured_output()
在ChatOpenAI中时,破坏了传播可配置字段的功能。
这个问题可能存在于其他提供程序实现中。
系统信息
langchain==0.2.3
langchain-anthropic==0.1.15
langchain-community==0.2.4
langchain-core==0.2.5
langchain-google-vertexai==1.0.5
langchain-openai==0.1.8
langchain-text-splitters==0.2.1
3条答案
按热度按时间bvjxkvbb1#
是的,我遇到了和你相同的问题。即使没有使用with_structured_output,with_config也无法传播参数。
v8wbuo2f2#
是的,我遇到了和你一样的这个问题。即使没有使用with_structured_output,with_config也无法传播参数。
你有没有使用过其他替代实现?
ttp71kqs3#
如果有人遇到相同的问题,可以尝试以下解决方法: