APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

Llama HubのConfluence LoaderをGoogle Colabで試す

こんにちはACSD松崎です。先月より、OpenAI APIを使ったアプリを色々と作って遊んでいますが、 従来のWebアプリケーション開発とは色々と感覚が違って面白いですね。

今回は、LlamaIndexとConfluence Loaderを使ってConfluce Cloud上の記事に基づいて、 質問に回答するアプリをGoogle Colab上で作ることに挑戦してみました!

Confluence Loaderとは

llama-hub において、Conflunce Cloudに対応したData Loaderです。 詳しくは以下を参照ください。

作成するアプリケーションの概要

Conbflunce Cloud上のページを読み込ませると、その情報に基づいた回答がなされる簡易BotをGoogle Colab上で作ります。

動作イメージ

予め以下のConfluneceページをConflunece Cloud上に用意します。

上記のページの情報を質問すると、ページに記載の情報を元にした回答が得られます。

Google Colabでの実行手順

パッケージのインストール

!pip install openai
!pip install llama-index
!pip install llama_hub
!pip install llama-cpp-python

OpenAI APIの鍵の登録

import openai

openai.api_key = "sk-xxx"

Conflunece ReaderによるConflunece Pageの取得とdocumentsオブジェクト化

from llama_hub.confluence.base import ConfluenceReader

import os
os.environ['CONFLUENCE_USERNAME'] = "matsuzaki@example.com"
os.environ['CONFLUENCE_PASSWORD'] = "xxx"

base_url = "https://example.atlassian.net/wiki"

reader = ConfluenceReader(base_url=base_url)

page_ids = [xxx,xxx]

documents = reader.load_data(page_ids=page_ids)

indexの作成

from llama_index import GPTVectorStoreIndex

index = GPTVectorStoreIndex.from_documents(documents)

queryの実行

query_engine = index.as_query_engine()

question = "10.10.10.20のIPアドレスを持つサーバー名は?"

response = query_engine.query(question)
print(response)

おわりに

llama-hubのおかげで色んなデータソースから簡単に情報が取得できるのは便利ですね! 良い感触が得られたので次回ステップとして、この処理をSlack Bot化する方向で作業を進めようと思います。