Cognigyテキストフォーマット

v4.53でアップデート

Cognigyテキストフォーマット(ctxt)は、Cognigyが開発した特殊なテキストフォーマットです。このフォーマットは、カスタムチャンクされたコンテンツをCognigy 知識型AIソリューションにインポートするためのものです。

ctxt形式に準拠するためには、ファイルはCognigyが指定するフォーマットガイドラインに準拠している必要があります。これらのガイドラインには、ファイル拡張子.ctxtの使用、ctxtドキュメント構造のルールの適用、有効なMarkdown構文の使用が含まれます。.ctxt ファイルは、Visual Studio CodeNotepad++Sublime Textなどのコードエディタで編集することができます。使用しているテキストエディタに関係なく、Markdown言語モードを選択します。例えば、Visual Studio Codeでは、エディタの下部パネルにある[Change Language Mode]セクションにアクセスすることで、言語モードを調整することができます。

コンテンツ分割の基本ルール

コンテンツを分割するには、以下の基本ルールがあります:

  • コンテンツは見出しに頼らず、二重改行に基づいてチャンクに分けられます。
  • 最初のチャンクは、ファイルの最初の二重改行の直後から始まります。
  • コンテンツのチャンクがサポートされる最大長を超えると、処理が中断され、「Chunk too long(チャンクが長すぎます)」というエラーメッセージが表示されます。

テキストを効果的にチャンクに分割し、広範なメタデータ機能を使用するには、以下の文書構造要件に従った.ctxtファイルを作成してください。

構造

ctxt形式のファイルにはヘッダボディ(本文)の両方のセクションが必要です。

備考

`version: 1`
`title: Cognigy xApps FAQs`
`url: https://www.cognigy.com`
`tags: [cognigy, xapps, architecture]`

What is Cognigy?
Cognigy is a leading enterprise software provider for Conversational AI automation. Our platform, Cognigy.AI, automates customer and employee communications. Available in on-premises and SaaS environments, Cognigy.AI enables enterprises to have natural language conversations with their users on any channel - webchat, SMS, voice and mobile apps - and in any language. Cognigy.AI powers intelligent voice and chatbots that communicate consistently and accurately beyond simple FAQ, resulting in reduced contact center costs and increased efficiency while improving user experiences. The worldwide client portfolio of Cognigy includes Toyota, E.ON, Lufthansa, and many more.
`url: https://www.cognigy.com/`

What are xApps?
Cognigy xApps are infinitely flexible micro-web applications for customer self-service. xApps can be used as a stand-alone application or complimentary to any channel to enhance virtual and human agents' capabilities. In multi-channel scenarios xApps close the experience gaps of existing voice and messaging channels to enable dynamic, fully connected customer engagements by helping to overcome limitations of communication channels like voice, Webchat Widget or Microsoft Teams compromising user experiences.
`url: https://docs.cognigy.com/ai/xApp/overview/`

What are use cases of xApps
The use cases are endless as xApps are infinitely flexible due to the fact that they are essentially micro-web applications. Three potential use cases are listed here:
- Authentication via Credentials: With xApps, you can allow users to authenticate using various methods such as email addresses, user numbers, or other identification details. Users can securely verify their identity and gain access to specific services or information.
- Select a flight seat: With xApps, you can offer users an interface to choose their preferred seat for their flight. Users can view the available seats and select the seat of their choice, enhancing their travel experience.
- Share location: With xApps, you can allow users to share their device's location information. This use case can be useful in various scenarios, such as providing location-based services, tracking deliveries, or finding nearby resources.
`url: https://docs.cognigy.com/ai/xApp/use-cases/`

How do xApps work?
The behavior of xApps is controlled via a set of xApp Flow Nodes. An xApp session can be initialized via the "xApp: Init Session" Node. The xApp session can be updated with the actual xApp Pages in two ways, by providing HTML code via the "xApp: Show HTML" Node or by specifying an Adaptive Card in JSON via the "xApp: Show Adaptive Card" Node. Alternatively, for more customization, you can create your own Node to update the xApps state by implementing and uploading an Extension. To wait for the xApp user Input in a Flow, use the Question or the Optional Question Node. The xApp type of the Question Node is only considered to be answered if submitted results are available as part of the Input.
`url: https://docs.cognigy.com/ai/xApp/build-an-xApp/`

How is the xApps architecture designed?
The xApp Shell Page loads its assets (HTML/CSS/JS) by requesting static files via HTTP/HTTPs 1.1 requests to service-static-files and establishes a WebSocket connection (via Socket.io) to serviceapp-session-manager to retrieve information about xApp sessions. This information includes an async event to initialize an xApp session, which creates a unique URL, and specifies which xApp will be displayed in a specific xApp session. The Elastic Load Balancer helps distribute incoming traffic, while Traefik dynamically routes traffic to backend servers based on specific requirements. The serviceapp-session-manager updates the xApp session state in the App Session DB, and the WebSocket transfers data to the Shell page, which loads xApps and provides data to the SDK.
`url: https://docs.cognigy.com/ai/xApp/architecture/`
`image: https://docs.cognigy.com/ai/images/xApp/architecture.png`       

このcognigy-sample.ctxtファイル.ctxt形式でダウンロードすることもできます。

ヘッダ

ヘッダには、キーと値のペアで構成されるグローバルメタデータ情報が含まれます。

メタデータの単位は、バックスティックで囲まれたキーと値のペアで構成されます。例えば

`url: https://www.cognigy.com`

ヘッダとボディは二重改行で区切る必要があります。

ソースメタデータ

キー説明必須
バージョンctxt 形式のバージョン。現在対応しているバージョンは1だけなので、1に設定する。バージョン番号は、新しいバージョンが導入されたときに変更することができます。yes
タイトルタイトルキーは、ドキュメントの名前を定義するカスタム定義メタデータキーの一例です。ユーザーが情報ソースを要求すると、応答メッセージにドキュメントのタイトルを表示するように、バーチャルエージェントを設定することができます。このパラメータは、Inputオブジェクトのinput.knowledgeSearch.topK[0].sourceMetaData.titleで見つけることができます。no
URLurlキーは、ドキュメントのソース(例えば、情報を取得したウェブサイト)へのurlを定義するカスタム定義メタデータキーの一例です。ユーザーが情報ソースを要求すると、応答メッセージにソースへのリンクを表示するようにバーチャルエージェントを設定することができます。このパラメータにより、ユーザーは詳細や検証のために情報源にアクセスすることができます。例えば、ドキュメントの情報が御社のウェブサイトから取得されたものであれば、URLフィールドにはウェブサイトのURLが含まれます。このパラメータは、Inputオブジェクトのinput.knowledgeSearch.topK[0].sourceMetaData.urlで見つけることができます。no
タグタグキーは、カスタム定義メタデータキーの一例で、ユーザーが知識検索をフィルタリングし、関連情報に焦点を当て、最終的により正確な検索結果を得るために役立つタグを定義するために使用されます。1知識ソースあたりのタグの最大数は10です。no

メタデータのキーは、自由に作成することができます。 例:author: Cognigyauthorはキーです)。

ソースメタデータの制限については、[Limitation(制限)]セクションをご覧ください。

`version: 1`
`title: Cognigy xApps FAQs`
`url: https://www.cognigy.com`
`tags: [cognigy, xapps, architecture]`

ボディ(本文)

ボディには、明確で有益なテキストと関連するメタデータを含むチャンクが含まれます。

各チャンクは二重改行で区切ります。

チャンクテキスト

チャンクテキストは、Flow内で取り込まれ、返されるテキストです。テキストは、明確で簡潔であり、見出しの候補で示された質問やトピックに直接対応していることをご確認ください。読み手は、求める情報を見つけるためにテキストを参照するため、明確さと正確さが非常に重要です。

たとえば、見出しが「xApps構造はどのように設計されている?」である場合、本文はxApps構造の設計に使用された原則と方法を説明する必要があります。

テキストにはMarkdown形式の箇条書きや番号付きリストを含めることができます。リンクなどの他の要素はチャットトークで正しく表示されない可能性があります。

チャンクのメタデータ

メタデータはチャンクに関連する追加情報で、Input オブジェクトの input.knowledgeSearch.topK[0].chunkMetaData にあります。メタデータを使用すると、ユーザーのコンテンツに対する理解や関与を高めるコンテキスト関連の詳細を表示できます。

メタデータはキーバリュー形式で表示されるため、含めるコンテンツの種類に多様性があります。

たとえば、チャンクでxApp構造のトピックについて説明する場合、関連ドキュメントのURLへのリンク、構造図の画像、または限られたユーザーが興味を持ちそうな追加の詳細情報をメタデータに含めることができます。このような情報を再利用することは、[Search Extract Output Node]でSearch onlyタイプを使用する場合に有益です。

メタデータユニットは、バックスティックで囲まれたキーと値のペアとして構造化されます。例

`image: https://docs.cognigy.com/ai/images/xApp/architecture.png`

一般的なメタデータには次のような要素があります:

  • URL:外部ソースへのリンクや追加情報を示す。
  • 画像:概念を説明したり、視覚的な補助を示す。
  • ビデオ:文章にマルチメディアコンテンツを追加。
  • 参考文献:出典や関連記事を追加。

メタデータには、「詳細」など、お好みの種別の要素を作成することができます: 詳細については、サポートチームまでお問い合わせください。

チャンクメタデータの制限については、[Limitations]セクションをご覧ください。

以下の例には2つのチャンクが含まれています。

What are use cases of xApps
The use cases are endless as xApps are infinitely flexible due to the fact that they are essentially micro-web applications. Three potential use cases are listed here:
- Authentication via Credentials: With xApps, you can allow users to authenticate using various methods such as email addresses, user numbers, or other identification details. Users can securely verify their identity and gain access to specific services or information.
- Select a flight seat: With xApps, you can offer users an interface to choose their preferred seat for their flight. Users can view the available seats and select the seat of their choice, enhancing their travel experience.
- Share location: With xApps, you can allow users to share their device's location information. This use case can be useful in various scenarios, such as providing location-based services, tracking deliveries, or finding nearby resources.
`url: https://docs.cognigy.com/ai/xApp/use-cases/`

How is the xApps architecture designed?
The xApp Shell Page loads its assets (HTML/CSS/JS) by requesting static files via HTTP/HTTPs 1.1 requests to service-static-files and establishes a WebSocket connection (via Socket.io) to serviceapp-session-manager to retrieve information about xApp sessions. This information includes an async event to initialize an xApp session, which creates a unique URL, and specifies which xApp will be displayed in a specific xApp session. The Elastic Load Balancer helps distribute incoming traffic, while Traefik dynamically routes traffic to backend servers based on specific requirements. The serviceapp-session-manager updates the xApp session state in the App Session DB, and the WebSocket transfers data to the Shell page, which loads xApps and provides data to the SDK.
`url: https://docs.cognigy.com/ai/xApp/architecture/`
`image: https://docs.cognigy.com/ai/images/xApp/architecture.png`

詳細はこちら