{"command":{"effect":"write","timeoutSeconds":120,"inputSchema":{"type":"object","description":"Search a vector store for relevant chunks based on a query and file attributes filter.","properties":{"path":{"type":"object","properties":{"vector_store_id":{"type":"string","examples":["vs_abc123"],"description":"The ID of the vector store to search."}},"required":["vector_store_id"],"additionalProperties":false},"body":{"$ref":"#/definitions/VectorStoreSearchRequest"}},"required":["path","body"],"additionalProperties":false,"definitions":{"VectorStoreSearchRequest":{"type":"object","additionalProperties":false,"properties":{"query":{"description":"A query string for a search","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string","description":"A list of queries to search for.","minItems":1}}]},"rewrite_query":{"description":"Whether to rewrite the natural language query for vector search.","type":"boolean","default":false},"max_num_results":{"description":"The maximum number of results to return. This number should be between 1 and 50 inclusive.","type":"integer","default":10,"minimum":1,"maximum":50},"filters":{"description":"A filter to apply based on file attributes.","oneOf":[{"$ref":"#/definitions/ComparisonFilter"},{"$ref":"#/definitions/CompoundFilter"}]},"ranking_options":{"description":"Ranking options for search.","type":"object","additionalProperties":false,"properties":{"ranker":{"description":"Enable re-ranking; set to `none` to disable, which can help reduce latency.","type":"string","enum":["none","auto","default-2024-11-15"],"default":"auto"},"score_threshold":{"type":"number","minimum":0,"maximum":1,"default":0}}}},"required":["query"]},"ComparisonFilter":{"type":"object","additionalProperties":false,"title":"Comparison Filter","description":"A filter used to compare a specified attribute key to a given value using a defined comparison operation.\n","properties":{"type":{"type":"string","default":"eq","enum":["eq","ne","gt","gte","lt","lte","in","nin"],"description":"Specifies the comparison operator: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, `in`, `nin`.\n- `eq`: equals\n- `ne`: not equal\n- `gt`: greater than\n- `gte`: greater than or equal\n- `lt`: less than\n- `lte`: less than or equal\n- `in`: in\n- `nin`: not in\n"},"key":{"type":"string","description":"The key to compare against the value."},"value":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"}]}}],"description":"The value to compare against the attribute key; supports string, number, or boolean types."}},"required":["type","key","value"]},"CompoundFilter":{"type":"object","additionalProperties":false,"title":"Compound Filter","description":"Combine multiple filters using `and` or `or`.","properties":{"type":{"type":"string","description":"Type of operation: `and` or `or`.","enum":["and","or"]},"filters":{"type":"array","description":"Array of filters to combine. Items can be `ComparisonFilter` or `CompoundFilter`.","items":{"oneOf":[{"$ref":"#/definitions/ComparisonFilter"},{"$ref":"#/definitions/CompoundFilter"}]}}},"required":["type","filters"]}}},"name":"Search vector store","id":"openai.searchvectorstore","example":{"path":{"vector_store_id":"vs_abc123"},"body":{"query":"example"}},"maxRequests":1,"summary":false}}