openai-php / client

⚡️ OpenAI PHP is a supercharged community-maintained PHP API client that allows you to interact with OpenAI API.
MIT License
4.56k stars 465 forks source link

Undefined array key "file_ids"[Bug]: #389

Closed nedikexpando closed 1 month ago

nedikexpando commented 1 month ago

Description

By calling threads->createAndRun() it throws an exception 'Undefined array key "file_ids"' The same is when calling threads()->messages()->list()

Steps To Reproduce

try {
                $response = $this->client->threads()->createAndRun(
                    [
                        'assistant_id' => $this->getOpenAiAssistantId(),
                        'thread' => [
                            'messages' => [['role' => 'user', 'content' => $userText,],],
                        ],
                    ],
                );

                return $response->threadId;
            } catch (Exception $e) {
               dump($e);
            }

OpenAI PHP Client Version

v0.8.5

PHP Version

8.3

Notes

No response

LMCom commented 1 month ago

I assume you are using GPT-4o which also requires an assistant v2. That's a very recent change to which this repository is not yet adjusted. Try an earlier GPT version with an assistant v1. It should work.

prashantadevkota-bg commented 1 month ago

If you want to see how the V2 API behaves, then you can use the below quick hack to support creating assistants, threads & messages. It will also allow you to read back the responses from the AI. It will even support using the latest Model, which is 'gpt-4o'.

All you need to do is apply the change in three files like shown in the image below. The error happens because the V2 response doesn't have a 'file_ids' array key in the attributes array (I haven't checked whether this is true for all use-cases, but the fix is generic enough that it can easily handle cases where the file_ids key is present), and we just assign an empty array if that is the case.

Please note that this is a hacky solution for people who are too impatient for this library to be fixed.

bug-fix-for-v2

udgithub commented 1 month ago

can you estimate when you will have adapted this cool PHP library to Open AI assistants API v2?

gehrisandro commented 1 month ago

I am currently working on the v2 implementation, but it is a lot to do.

Feel free to give it an extra boost github.com/sponsors/gehrisandro 😅