【入門】onyx-dot-app/onyxで始めるAIチャットボット開発


【入門】onyx-dot-app/onyxで始めるAIチャットボット開発

onyx-dot-app/onyx

2025-09-26

ソフトウェアエンジニアの視点から、onyx-dot-app/onyxがどのように役立つか、導入方法、サンプルコードについて、真面目に、分かりやすく説明するね。

onyx-dot-app/onyxは、AIを活用したチャットアプリケーションを構築するためのオープンソースプラットフォームなんだ。これを導入するメリットは、主に次の3つだよ。

AIモデルの選択肢が広がる
特定のAIモデルに依存することなく、OpenAI、Anthropic、Googleなど、様々な大規模言語モデル(LLM)と連携できるんだ。これにより、プロジェクトの要件やコストに応じて最適なモデルを選べるようになる。

情報検索機能(RAG)の強化
外部の情報(ドキュメント、データベースなど)と組み合わせて、より正確で最新の回答を生成するRAG(Retrieval-Augmented Generation)という機能が強力なんだ。例えば、自社の製品マニュアルやFAQを読み込ませて、ユーザーサポートチャットボットを作ったりできるよ。

開発効率の向上
チャットUIやバックエンドの処理など、ゼロから開発すると手間がかかる部分が、このプラットフォームを使うことで簡単に構築できる。開発者は、より本質的なロジックや機能の追加に集中できるんだ。

onyx-dot-app/onyxは、Dockerを使うと簡単に起動できるんだ。手元の環境で試すための基本的な手順は以下の通り。

DockerとDocker Composeをインストール
まず、PCにDockerとDocker Composeがインストールされていることを確認してね。

リポジトリをクローン
GitHubからプロジェクトのソースコードをダウンロードするよ。

git clone https://github.com/onyx-dot-app/onyx.git
cd onyx

環境設定ファイルの準備
.envファイルを作成し、使用したいLLMのAPIキーを設定する。

# .envファイルの内容例
OPENAI_API_KEY="sk-..."
# GOOGLE_API_KEY="AIza..."
# ANTHROPIC_API_KEY="sk-ant-..."

サービスを起動
以下のコマンドを実行すると、すべてのコンポーネントが起動する。

docker-compose up -d

ブラウザでアクセス
http://localhost:3000にアクセスすると、チャットUIが表示されるはずだ。

ここでは、RAG機能を使って、特定のドキュメントから情報を引き出すチャットボットを作る簡単な例を示すね。 以下の例は、Pythonを使ってonyxのAPIと連携するイメージだよ。

import requests
import json

# onyx APIのURL
API_URL = "http://localhost:8000/v1/chat/completions"

# 質問
question = "onyxの特徴は何ですか?"

# 外部ドキュメントの例(今回はコード内で直接定義)
document_text = """
onyxは、AIチャットアプリケーションを構築するためのオープンソースプラットフォームです。
主な特徴は、複数の大規模言語モデル(LLM)をサポートしている点と、
Retrieval-Augmented Generation(RAG)機能により、外部データに基づいた回答を生成できる点です。
また、開発者が簡単に拡張できるように設計されています。
"""

# APIリクエストのペイロード
payload = {
    "model": "gpt-4o",  # 使用するLLM
    "messages": [
        {
            "role": "user",
            "content": question
        }
    ],
    "context": {
        "text": document_text  # ここに外部データを埋め込む
    }
}

headers = {
    "Content-Type": "application/json"
}

# APIリクエストの実行
try:
    response = requests.post(API_URL, data=json.dumps(payload), headers=headers)
    response.raise_for_status() # HTTPエラーチェック
    result = response.json()

    # レスポンスの表示
    answer = result["choices"][0]["message"]["content"]
    print(f"ユーザーの質問: {question}")
    print(f"AIの回答: {answer}")

except requests.exceptions.RequestException as e:
    print(f"APIリクエスト中にエラーが発生しました: {e}")

このコードの説明

payloadcontextフィールドに、参照させたいdocument_textを入れているよ。

onyxは、このcontextの内容とmessages(質問)を組み合わせて、指定されたモデル(gpt-4o)に送信する。

これにより、モデルは与えられたドキュメントの内容に基づいて、質問に答えるんだ。


onyx-dot-app/onyx




CursorやLangChainを使いこなせ!エンジニアの価値を最大化するAI活用ロードマップ

今日は、中国のスーパーエンジニア「魚皮(Yupi)」さんが公開している最強のAIリソース集 「liyupi/ai-guide」 について解説しちゃうわね。「AIが多すぎて何から手をつければいいの!?」ってパニックになってるそこの君、落ち着いて。このリソースは、エンジニアにとっての「宝の地図」みたいなものなんだから!


【攻略本】RAG_Techniques:エンジニアのためのAI検索コンボ技・完全マスターガイド

NirDiamant/RAG_Techniques は、AI開発の世界における「最新アーケードゲームの攻略ガイド」のようなリポジトリです。普通のRAG(検索拡張生成)が「パンチマシン」だとしたら、ここは「コンボ技」や「隠しコマンド」が満載の格闘ゲーム会場といったところでしょうか。


PythonでAIを分業させる技術:microsoft/agent-frameworkで効率化

このフレームワークは、まるでドラマの名探偵チームを結成して、複雑な事件(タスク)を連携して解決していくようなイメージで捉えると分かりやすいですよ!‍♂このフレームワークは、AIエージェントを構築、連携、デプロイするための強力なツールキットです。Pythonと


daveebbelaar/ai-cookbookをゴルフ場に例える:AI開発への実践的アプローチ

daveebbelaar/ai-cookbookは、AIシステムを構築したいソフトウェアエンジニアにとって、まさに広大なゴルフ場のようなものです。多様なコース(例)が揃っている ゴルフ場にはショートホールからロングホールまで多様なコースがあるように、このリポジトリには画像認識、自然言語処理、データ分析など、様々なAIアプリケーションの「例」が揃っています。


AI捜査チームを結成せよ: openai-agents-pythonによるマルチエージェント連携の導入ガイド

やあ、諸君!私はAI捜査コンサルタントのGだ。今日の捜査対象は、openai/openai-agents-pythonという、複数のAIエージェントを束ねる軽量かつ強力なフレームワークだよ。このフレームワークの魅力は、まるで複数の優秀な探偵を雇い、複雑な事件を役割分担させて解決に導くことができる点にあるんだ。


【エンジニア向け】RAGの常識を覆す!ストレージ97%削減のプライベート検索技術「LEANN」徹底解説

こんにちは!未来の技術を形にするソフトウェアエンジニアの皆さん、お疲れ様です。今回ご紹介するのは、まるで「どこでもドア」のように、皆さんの開発環境に革命をもたらすかもしれない、すごい道具(ライブラリ)、「LEANN」です。yichuan-wさんが開発されたこのライブラリは、皆さんが今注目している「RAG (Retrieval-Augmented Generation / 検索拡張生成)」という技術を、速く、正確に、そして何よりもプライベートに、個人のデバイスで実現するための画期的なアプローチを提供します。


ディフュージョンモデルGUI「ComfyUI」:魔法の呪文で画像を創る!

ComfyUIは、まるで魔法少女が魔法のアイテムを使って呪文を唱えるように、画像を生成するAIモデル「Diffusion Model」を直感的に操作できるグラフィカルユーザーインターフェース(GUI)です。通常の画像生成AIは、呪文(プロンプト)を入力するだけでもすごいのですが、ComfyUIを使うと、まるで魔法の回路図を描くように、様々な処理を組み合わせてもっと複雑で美しい画像を、まるで自分の手で描いたかのように作れてしまうんです!


『LLMs-from-scratch』徹底解説:プログラマーのためのAI自作ガイド

勇者よ、お前が探求しているのは、この世界に古くから伝わる「賢者の石」ならぬ、「賢者の知恵」を創り出す秘術だ。それは、まるでハイラル王国の歴史書のように、あらゆる知識を理解し、お前に語りかけるだろう。今日、お前と共に旅するのは、その賢者の知恵を「ゼロ」から生み出すための魔法書、『rasbt/LLMs-from-scratch』だ。


プログラミング初心者向け:AIによる動画生成ツールの導入と仕組み

ソフトウェアエンジニアの視点から、harry0703/MoneyPrinterTurboというツールがどんなに便利で、プログラミングを学ぶ上でどのように役に立つか、そして導入方法を分かりやすく解説しますね。このプロジェクトは、AI(人工知能)を使って、テキストからワンクリックで簡単に、しかも高画質な短い動画(ショートビデオ)を自動で作ってくれる優れものです。キーワードはPython、Automation(自動化)、AIです。


キャンプでコント:LLMオーケストレーションの苦労を解消する strans-agents/sdk-python 入門

皆さん、キャンプに来ています!テントを立てるのも、火を起こすのも、楽しいけれど結構手間がかかりますよね。AIエージェントを作るのも同じなんです。モデルを選んで、プロンプトを書いて、ツールを組み合わせて. ..「あー、またエラーだ. ..」となりがち。