Assistants Beta
Note
Please build the client before calling, the build code is as follows:
OpenAiClient client = OpenAiClient.builder()
.apiHost("https://api.openai.com")
.apiKey(System.getProperty("openai.token"))
.build();
System.getProperty("openai.token")
is the key to access the API authorization.
Create assistant
AssistantsEntity entity = AssistantsEntity.builder()
.name("Math Tutor")
.model(CompletionModel.GPT_35_TURBO)
.instructions("You are a personal math tutor. When asked a question, write and run Python code to answer the question.")
.build();
client.createAssistants(entity);
Returns:
{
"id": "asst_abc123",
"object": "assistant",
"created_at": 1698984975,
"name": "Math Tutor",
"description": null,
"model": "gpt-4",
"instructions": "You are a personal math tutor. When asked a question, write and run Python code to answer the question.",
"tools": [
{
"type": "code_interpreter"
}
],
"file_ids": [],
"metadata": {}
}
Create assistant file
client.createAssistantsFile("file-jNuKdx61rNQ0FUhuPFpMNmGZ","asst_xv9N9dNXstuV8OVLElLqgV7U")
Returns:
{
"id": "file-abc123",
"object": "assistant.file",
"created_at": 1699055364,
"assistant_id": "asst_abc123"
}
List assistants
client.listAssistants(null);
// With query params
QueryEntity configure = QueryEntity.builder()
.limit(2)
.build();
client.assistants(configure);
Returns:
{
"object": "list",
"data": [
{
"id": "asst_abc123",
"object": "assistant",
"created_at": 1698982736,
"name": "Coding Tutor",
"description": null,
"model": "gpt-4",
"instructions": "You are a helpful assistant designed to make me better at coding!",
"tools": [],
"file_ids": [],
"metadata": {}
}
],
"first_id": "asst_abc123",
"last_id": "asst_abc789",
"has_more": false
}
List assistant files
client.assistantsFiles("asst_xv9N9dNXstuV8OVLElLqgV7U"));
Returns:
{
"object": "list",
"data": [
{
"id": "file-abc123",
"object": "assistant.file",
"created_at": 1699060412,
"assistant_id": "asst_abc123"
}
],
"first_id": "file-abc123",
"last_id": "file-abc456",
"has_more": false
}
Retrieve assistant
client.retrieveAssistant("asst_xv9N9dNXstuV8OVLElLqgV7U");
Returns:
{
"id": "asst_abc123",
"object": "assistant",
"created_at": 1698984975,
"name": "Math Tutor",
"description": null,
"model": "gpt-4",
"instructions": "You are a personal math tutor. When asked a question, write and run Python code to answer the question.",
"tools": [
{
"type": "code_interpreter"
}
],
"file_ids": [],
"metadata": {}
}
Retrieve assistant file
client.retrieveAssistantFile("asst_xv9N9dNXstuV8OVLElLqgV7U","file-jNuKdx61rNQ0FUhuPFpMNmGZ");
Returns:
{
"id": "file-abc123",
"object": "assistant.file",
"created_at": 1699055364,
"assistant_id": "asst_abc123"
}
Modify assistant
AssistantsEntity entity = AssistantsEntity.builder()
.name("Math Tutor 1")
.model(CompletionModel.GPT_35_TURBO)
.instructions("You are a personal math tutor. When asked a question, write and run Python code to answer the question.")
.build();
client.updateAssistant("asst_xv9N9dNXstuV8OVLElLqgV7U",entity);
Returns:
{
"id": "asst_abc123",
"object": "assistant",
"created_at": 1698984975,
"name": "Math Tutor 1",
"description": null,
"model": "gpt-4",
"instructions": "You are a personal math tutor. When asked a question, write and run Python code to answer the question.",
"tools": [
{
"type": "code_interpreter"
}
],
"file_ids": [],
"metadata": {}
}
Delete assistant
client.deleteAssistant("asst_xv9N9dNXstuV8OVLElLqgV7U");
Returns:
{
"id": "asst_abc123",
"object": "assistant.deleted",
"deleted": true
}
Delete assistant file
client.deleteAssistantFile("asst_xv9N9dNXstuV8OVLElLqgV7U","file-jNuKdx61rNQ0FUhuPFpMNmGZ");
Returns:
{
"id": "file-abc123",
"object": "assistant.file.deleted",
"deleted": true
}