KnowledgeBase Class
KnowledgeBase.
All required parameters must be populated in order to send to server.
Constructor
KnowledgeBase(*, name: str, knowledge_sources: list['_models.KnowledgeSourceReference'], models: list['_models.KnowledgeBaseModel'] | None = None, retrieval_reasoning_effort: _models.KnowledgeRetrievalReasoningEffort | None = None, output_mode: str | _models.KnowledgeRetrievalOutputMode | None = None, e_tag: str | None = None, encryption_key: _models.SearchResourceEncryptionKey | None = None, description: str | None = None, retrieval_instructions: str | None = None, answer_instructions: str | None = None, **kwargs: Any)
Keyword-Only Parameters
| Name | Description |
|---|---|
|
name
|
The name of the knowledge knowledge base. Required. |
|
knowledge_sources
|
Required. |
|
models
|
Contains configuration options on how to connect to AI models. Default value: None
|
|
retrieval_reasoning_effort
|
Default value: None
|
|
output_mode
|
The output configuration for this retrieval. Known values are: "extractiveData" and "answerSynthesis". Default value: None
|
|
e_tag
|
The ETag of the knowledge base. Default value: None
|
|
encryption_key
|
A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your knowledge base definition when you want full assurance that no one, not even Microsoft, can decrypt them. Once you have encrypted your knowledge base definition, it will always remain encrypted. The search service will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your knowledge base definition will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019. Default value: None
|
|
description
|
The description of the knowledge base. Default value: None
|
|
retrieval_instructions
|
Instructions considered by the knowledge knowledge base when developing query plan. Default value: None
|
|
answer_instructions
|
Instructions considered by the knowledge knowledge base when generating answers. Default value: None
|
Variables
| Name | Description |
|---|---|
|
name
|
The name of the knowledge knowledge base. Required. |
|
knowledge_sources
|
Required. |
|
models
|
Contains configuration options on how to connect to AI models. |
|
retrieval_reasoning_effort
|
|
|
output_mode
|
The output configuration for this retrieval. Known values are: "extractiveData" and "answerSynthesis". |
|
e_tag
|
The ETag of the knowledge base. |
|
encryption_key
|
A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your knowledge base definition when you want full assurance that no one, not even Microsoft, can decrypt them. Once you have encrypted your knowledge base definition, it will always remain encrypted. The search service will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your knowledge base definition will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019. |
|
description
|
The description of the knowledge base. |
|
retrieval_instructions
|
Instructions considered by the knowledge knowledge base when developing query plan. |
|
answer_instructions
|
Instructions considered by the knowledge knowledge base when generating answers. |
Methods
| as_dict |
Return a dict that can be serialized using json.dump. Advanced usage might optionally use a callback as parameter: Key is the attribute name used in Python. Attr_desc is a dict of metadata. Currently contains 'type' with the msrest type and 'key' with the RestAPI encoded key. Value is the current value in this object. The string returned will be used to serialize the key. If the return type is a list, this is considered hierarchical result dict. See the three examples in this file:
If you want XML serialization, you can pass the kwargs is_xml=True. |
| deserialize |
Parse a str using the RestAPI syntax and return a model. |
| enable_additional_properties_sending | |
| from_dict |
Parse a dict using given key extractor return a model. By default consider key extractors (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor and last_rest_key_case_insensitive_extractor) |
| is_xml_model | |
| serialize |
Return the JSON that would be sent to server from this model. This is an alias to as_dict(full_restapi_key_transformer, keep_readonly=False). If you want XML serialization, you can pass the kwargs is_xml=True. |
as_dict
Return a dict that can be serialized using json.dump.
Advanced usage might optionally use a callback as parameter:
Key is the attribute name used in Python. Attr_desc is a dict of metadata. Currently contains 'type' with the msrest type and 'key' with the RestAPI encoded key. Value is the current value in this object.
The string returned will be used to serialize the key. If the return type is a list, this is considered hierarchical result dict.
See the three examples in this file:
attribute_transformer
full_restapi_key_transformer
last_restapi_key_transformer
If you want XML serialization, you can pass the kwargs is_xml=True.
as_dict(keep_readonly: bool = True, key_transformer: ~typing.Callable[[str, dict[str, typing.Any], ~typing.Any], ~typing.Any] = <function attribute_transformer>, **kwargs: ~typing.Any) -> MutableMapping[str, Any]
Parameters
| Name | Description |
|---|---|
|
keep_readonly
|
If you want to serialize the readonly attributes Default value: True
|
|
key_transformer
|
<xref:function>
A key transformer function. |
Returns
| Type | Description |
|---|---|
|
A dict JSON compatible object |
deserialize
Parse a str using the RestAPI syntax and return a model.
deserialize(data: Any, content_type: str | None = None) -> Self
Parameters
| Name | Description |
|---|---|
|
data
Required
|
A str using RestAPI structure. JSON by default. |
|
content_type
|
JSON by default, set application/xml if XML. Default value: None
|
Returns
| Type | Description |
|---|---|
|
An instance of this model |
Exceptions
| Type | Description |
|---|---|
|
DeserializationError
|
if something went wrong |
enable_additional_properties_sending
enable_additional_properties_sending() -> None
from_dict
Parse a dict using given key extractor return a model.
By default consider key extractors (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor and last_rest_key_case_insensitive_extractor)
from_dict(data: Any, key_extractors: Callable[[str, dict[str, Any], Any], Any] | None = None, content_type: str | None = None) -> Self
Parameters
| Name | Description |
|---|---|
|
data
Required
|
A dict using RestAPI structure |
|
key_extractors
|
<xref:function>
A key extractor function. Default value: None
|
|
content_type
|
JSON by default, set application/xml if XML. Default value: None
|
Returns
| Type | Description |
|---|---|
|
An instance of this model |
Exceptions
| Type | Description |
|---|---|
|
DeserializationError
|
if something went wrong |
is_xml_model
is_xml_model() -> bool
serialize
Return the JSON that would be sent to server from this model.
This is an alias to as_dict(full_restapi_key_transformer, keep_readonly=False).
If you want XML serialization, you can pass the kwargs is_xml=True.
serialize(keep_readonly: bool = False, **kwargs: Any) -> MutableMapping[str, Any]
Parameters
| Name | Description |
|---|---|
|
keep_readonly
|
If you want to serialize the readonly attributes Default value: False
|
Returns
| Type | Description |
|---|---|
|
A dict JSON compatible object |