Python

AI

Difyの外部ナレッジでPPTXのスライド番号を扱う

Difyの外部ナレッジAPIでPPTXのスライド番号やExcelのシート名をmetadataとして返し、回答時や検索結果確認時に参照元を追いやすくする実装方法を、Flaskのサンプルコードをもとに紹介します。
Tips

GitLab REST APIで複数リポジトリのnodeパッケージバージョンを一括チェックする

GitLab REST APIを使い、自分のネームスペースやグループ配下のリポジトリを横断してpackage-lock.json / yarn.lock / pnpm-lock.yamlを再帰的に走査し、対象Nodeパッケージのバージョンを一覧化する手順をPythonとuvで紹介します。
AI

OpenAI・OllamaとTesseract OCRで日本語テキスト読み取りを比較してみる

はじめに書類や手書きメモを画像からテキストとして取り込みたい場面があり、OCRとLLMの画像読み取りを両方試してみました。 OCRには無料で使えるオープンソースの tesseract を、LLMにはOpenAI APIとローカルで動作する ...
AI

Difyの外部ナレッジベース連携を使用する

DifyのRAGシステムに自前のベクトルDBや検索システムを接続するための外部ナレッジベースAPIの仕様を解説し、Flaskによる最小構成サーバーの実装からDifyへの登録・動作確認までの手順を紹介します。
MCP

Python MCPサーバーにRAG機能を追加する

はじめに前回の記事では Python で MCP サーバーを作成し、Docker コンテナとして起動する手順を紹介しました。今回はそのサーバーに Weaviate を使った RAG (Retrieval-Augmented Generati...
MCP

PythonでMCPサーバーを動かしてみる

はじめにMCP (Model Context Protocol) は、AIエージェントが外部ツールやリソースにアクセスするための標準プロトコルです。この記事では、Python 用の SDK を使って MCP サーバーを作成し、http でア...
セキュリティ

パスワードのハッシュ化 — 必要な理由・種類・実装例

はじめに業務で同僚が作成したWebサービスのコードレビューをしていた際、パスワードが平文(ひらぶん)で保存されているのを見つけました。すぐに修正してもらいましたが、その際になぜハッシュ化が必要なのか、どのようなアルゴリズムがあるのかを説明し...