Compartilhar via


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
str

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
str

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
str

The description of the knowledge base.

Default value: None
retrieval_instructions
str

Instructions considered by the knowledge knowledge base when developing query plan.

Default value: None
answer_instructions
str

Instructions considered by the knowledge knowledge base when generating answers.

Default value: None

Variables

Name Description
name
str

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
str

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
str

The description of the knowledge base.

retrieval_instructions
str

Instructions considered by the knowledge knowledge base when developing query plan.

answer_instructions
str

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:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

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
str

A str using RestAPI structure. JSON by default.

content_type
str

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
str

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