Closed liangpn closed 1 day ago
看样子是 SDK 直接拒绝了这个参数,有可能是 windows 和 mac 的 openai SDK 在审查参数合规性方面的差别。 我按照你的方法注释了这一行,在 mac 下也都正常工作,看来这样可以获得最大兼容性。
非常感谢!
看样子是 SDK 直接拒绝了这个参数,有可能是 windows 和 mac 的 openai SDK 在审查参数合规性方面的差别。 我按照你的方法注释了这一行,在 mac 下也都正常工作,看来这样可以获得最大兼容性。
非常感谢!
我使用Linux环境测试了一下,确实不注释这一行也没问题;看来确实是windows下openai sdk 的问题 但今天再次在windows 把这一段取消注释了,执行测试,也没报错了,这就奇了怪了。你们有windows可以在0.5.2版本再测试看看会不会有问题 不清楚您一开始涉及加上 index 这个参数是出于什么考虑呢?
这边部署 是使用conda创建python 3.10 后 pip install illufly
直接执行
embeddings = OpenAIEmbeddings(
model=openai_embeddings_model,
base_url=openai_embeddings_url,
dim=1024
)
db = FaissDB(embeddings=embeddings, top_k=3)
db.load("./docs")
qwen = ChatOpenAI(openai_model, knowledge=[db])
qwen("请你帮我写封一句话情书,深情又逗比的那种")
print(qwen.memory)
会提示 pip install -U openai,升级后openai是1.53.0版本 @arcstep
这是我的代码:
def get_current_weather(location: str=None): """获取城市的天气情况""" return f"{location}今天是晴天。 "
qwen = ChatOpenAI(model=openai_model, tools=[get_current_weather])
qwen("今天广州可以晒被子吗")
这是日志:
(illufly) PS E:\localpath\AI\illufly_demo> python .\test_RAG.py 要判断今天广州是否适合晒被子,我需要先查询广州今天的天气情况。我将查询广州今天的天气预报。
[FINAL_TOOLS_CALL] [{"index": 0, "id": "chatcmpl-tool-576c28ae7fe44cde8ffeed533d5e3a02", "type": "function", "function": {"name": "get_current_weather", "arguments": "{\"location\": \"\u5e7f\u5dde\"}"}}] 广州今天是晴天。
Traceback (most recent call last): File "E:\localpath\AI\illufly_demo\test_RAG.py", line 101, in
qwen("今天广州可以晒被子吗")
File "E:\path\Anaconda\Anaconda2023\envs\illufly\lib\site-packages\illufly\core\runnable\base.py", line 133, in call
return self.handle_sync_call(*args, verbose=verbose, handlers=handlers, action_method=method, kwargs) File "E:\path\Anaconda\Anaconda2023\envs\illufly\lib\site-packages\illufly\core\runnable\base.py", line 150, in handle_sync_call for block in resp: File "E:\path\Anaconda\Anaconda2023\envs\illufly\lib\site-packages\illufly\core\runnable\agent\chat\base.py", line 273, in call for block in self.generate(chat_memory, args, kwargs): File "E:\path\Anaconda\Anaconda2023\envs\illufly\lib\site-packages\illufly\community\openai\chat.py", line 67, in generate completion = self.client.chat.completions.create(_kwargs) File "E:\path\Anaconda\Anaconda2023\envs\illufly\lib\site-packages\openai_utils_utils.py", line 274, in wrapper return func(args, kwargs) File "E:\path\Anaconda\Anaconda2023\envs\illufly\lib\site-packages\openai\resources\chat\completions.py", line 815, in create return self._post( File "E:\path\Anaconda\Anaconda2023\envs\illufly\lib\site-packages\openai_base_client.py", line 1277, in post return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls)) File "E:\path\Anaconda\Anaconda2023\envs\illufly\lib\site-packages\openai_base_client.py", line 954, in request return self._request( File "E:\path\Anaconda\Anaconda2023\envs\illufly\lib\site-packages\openai_base_client.py", line 1058, in _request raise self._make_status_error_from_response(err.response) from None openai.BadRequestError: Error code: 400 - {'object': 'error', 'message': '1 validation error for ValidatorIterator\n0.index\n Extra inputs are not permitted [type=extra_forbidden, input_value=0, input_type=int]\n For further information visit https://errors.pydantic.dev/2.9/v/extra_forbidden', 'type': 'BadRequestError', 'param': None, 'code': 400}
经排查是因为在 illufly\community\openai\chat generate方法中的
注释这一行就可以了,请问是openai的版本不一致吗?