Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added tools and tool_resources to Assistant and ThreadRequest structures #764

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

zmagdum
Copy link

@zmagdum zmagdum commented Jun 5, 2024

Assistants have changed in V2 version need to adjust accordingly. Link for docs is below

We are migrating assistants from v1 to v2 and have files associated with them. When we switched OpenAI was returning error saying there are no files associated with the assistant. V2 version takes to files little differently

A similar PR may already be submitted!
Please search among the Pull request before creating one.
I did not find any existing PR for this

Describe the change
The change add Tools and ToolResources to ThreadRequest structure and ToolResources to Assistant structure. With this when you retrieve assistant you get tool resource and you can pass that along when you create a thread. Without this you can not create threads and OpenAI returns error saying tool_resources.code_interpreter.file_ids is required

Provide OpenAI documentation link
https://platform.openai.com/docs/assistants/migration

Describe your solution
Solution is simple to update the response definitions for v2 version of the assistant. .

Tests
Did not add any tests. Ran current tests and they seem to be working fine

Additional context
Here is how we use it.

	config := openai.DefaultConfig(token)
	config.AssistantVersion = "v2"
	client := openai.NewClientWithConfig(config)
	assistant, err := client.RetrieveAssistant(ctx, assistantName)
	if err != nil {
		return result, err
	}
	log.Printf("found assistant: %v", assistant)
        thread, err := client.CreateThread(ctx, openai.ThreadRequest{ToolResources: assistant.ToolResources})
        if err != nil {
                return result, err
        }

Issue: #XXXX

Added tools and resources to thread request

Updated module link

updated the package name as it is not importing correctly

Moved tools and tool resources to thread request

Assistant struct updated for tool resource

omitting empty tools and resources

Added omit empty in few more places

Revert "updated the package name as it is not importing correctly"

This reverts commit e2dcb5f.

restored repository name
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant