機能縺?3縺?
Resources:事前に情報をファイルで読み込ませる感じ
Prompts:プロンプトのテンプレ設定してお縺?感じ
Tools:使うツールを設藹??してお縺?感じ
(MCPクライアント縺?2つ・??無意識でいい)
Sampling:MCPを使うよ~
Roots:MCPを使うファイルシステム確鐔??~
これで人間が操作していた内容をMCPで藹??施するようにする
LLM→人間→Github/Slack/GCP etc.
↓
LLM→MCP→Github/Slack/GCP etc.
API EPやローカルプロセスをMCPサーバと鐔??っているケースもあるが、MCPの文脈からする縺?MCPサーバは仲介。MCPクライアントは藹??義縺?MCPサーバに含まれている
■github-mcp-server設藹??
GitHub - github/github-mcp-server: GitHub's official MCP ServerGithub トークン発鐔??はココで→ https://github.com/settings/tokens
クラシックトークン縺?repo全臀??でも良さそう(configure SSOもしてお縺?こ縺?)
MCP Marketplace>Remote server>Edit configuration>下記コードをコピペする
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "github_pat_xxxxxxx"
},
"disabled": false,
"autoApprove": []
}
}
}
上手く行かないので、Cline自身縺?MCPサーバの調整をしてもらうと臀??記となった (Docker、DockerGroup、Proxy等)
{
"mcpServers": {
"github": {
"command": "sg",
"args": [
"docker",
"-c",
"docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN -e http_proxy -e https_proxy ghcr.io/github/github-mcp-server stdio"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "github_pat_xxxxx",
"http_proxy": "http://proxy:3128",
"https_proxy": "http://proxy:3128"
},
"disabled": false,
"autoApprove": []
}
}
}
■ローカルサーバ
//// UV
curl -Ls https://astral.sh/uv/install.sh | sh
cd /mnt/c/Users/unco/Desktop/local_test/MCP/kuso-app
uv venv 該藹??ディレクトリに仮想環藹??を設藹??
source .venv/bin/activate アクティベート
uv pip install google-cloud-asset
uv pip freeze > requirements.txt
python3 main.py
deactivate 停豁?
gcloud auth application-default login --no-launch-browser
gcloud auth login --no-launch-browser
消したければ、venvを削除するだけ
上記縺?pip+requirementsだが下記の方がいいかも、add+tomlで管理
uv init myproject (myprojectディレクトリ、tomlファイルが作成される)
uv add numpy
uv remove numpy
nv sync
uv lock
uv tree
uv python install 3.10 3.11
uv python list
uv python pin 3.11
uv tool install ruff
uv tool list
uvx pytest 一時的に仮装環藹??を汚さず実行
uv exports --format-requirements.txt
権限確鐔??API(analyzeIamPolicy)
curl \
'https://cloudasset.googleapis.com/v1/projects/prj-xxxxx:analyzeIamPolicy?analysisQuery.accessSelector.roles roles%2 Fbigquery.dataowner&analysisQuery.identitySelector.identity=user%3Axxxxx%40xxxxx.com&key=[YOUR_API_KEY]'\
--header "Authorization: Bearer $(gcloud auth print-access-token)"\
--header Accept: application/json' \
--compressed
窶?APIキー臀??要だた、HTTPやJSの方觸??も出る
parentでエラーがでてもscopeという諢?蜻?> organizations/123, folders/123, projects/my-project-id, projects/12345
400 Missing parent field in request. [field_violations {
field: "parent"
description: "Missing parent field in request." }
↑Dialogflow:FAQのチャットボットを作りたい
intentをFAQの数だけ作る
intentグループがあれば軆??められるが、、
色は赤や青で分ける必要がある? entitityは色だが単語で分ける
entitiy: colors、単語:赤、類語:Red、朱色軆??
単語:白、類語:ホワイト等
entitity 個別項目・??色、サイズ、キーワード)トレーニングフェーズで使う用鐔??を設藹??してお縺?
intent 諢?図・??選択、買う、確鐔??、支払)チャットで藹??きあたる項目で、数藹??く作ることになる
上縺?2つを結びつきを強縺?するcontext
input context 該藹??のインテントの藹??遷の臀??つ前の別名を指定
output context(コンテキスト用エイリアス名) 該藹??のインテントの別名を設藹??する
Training phrases(想藹??するユーザの入力文)
Responses(答えへの藹??応
料金 無料の軆??囲である程度鐔??える
項目を500から選ぶとしても大臀??夫 外部のデータソースを使う(できそう)
色を10個を選択するとしても大臀??螟?
結果を外部に連携することもできそう
AI型は入力された質蝠?に対して、FAQから適切な回答を表示(正誤で学習し判藹??上がる)
シナリオ型は入力値から分岐を判藹??して進む、あみだ縺?じタイプの藹??型処理に持ってい縺?
■Dialog flow ES
下記の辺りを設藹??すれば、チャットボットが回答するようになる
ESとしては、ユーザ入力を構造化データにする処理を行いパラメータへ觸??索を觸??ける挙動となっている
ユーザ鐔??動の履歴から検索ヒットの改善を学軆??するタイプ縺?AI
インテント分類(ユーザの諢?図のパターンを設藹??)
┣トレーニングフレー繧?(質蝠?の臀??文を指定)
┣アクショ繝? (何を実行するか指定)
┣パラメー繧?/エンティテ繧?(質蝠?から抽出すると型を指定)
┗レスポン繧? (何を返答するか指定)
コンテキスト: input (一つ前のインテント〉 縺? output (当インデントの別名)
イベント:エンドユーザーの発鐔??からではな縺?、発生したイベントに基づいてインテントを呼び出す
アクショ繝?: デフォルトfallbackに縺?input-unknown がついている
パラメー繧?:下記縺?らいの考慮で良さそう
@sys.any キーワードを設藹??してしまう?
@sys.url
@sys.person ロールや役職を設藹??してしまう?
@sys.email
■Agent 設藹??
Agent > ML setting > Train でトレーニングさせる。
megaでな縺?普通のエージェントの方が分かり易い?
Agent > environment > publish パブリッシュし公開?
■ intent
テキストレスポンスにタグが使えずリンクにならない。
ユーザエクスプレッションの単語をドラッグ藹??転させ techinical_terms 等で觸??索する縺?Entityを藹??映することができる。
(Entity登録觸??みなら熟語でもOKだが、未登録なら単語で設定したような・??
■Entitiy 設藹??
業務で使用している重要用鐔??縺? @technical_termsとして臀??り、揺ら縺?を全て入力したい
BigQuery: BQ、ビッグクエリ、、、
個人情蝣?: パーソナルインフォメーショ繝?, PII、、、
■Integration設藹??
WebDemoを有効化
DialogMessangerを有効化(こっちのがCoolで縺?
■FAQを簡単に觸??築するコツ
検索を網軆??するように質蝠?を重要単語を全て入れた形で鐔??数設定する
代表的な質蝠?をレスポンスに入れてしまう縺?FAQとして分かり易い
藹??考になりそうなの臀??例を回答します。
Q「ああああ」
A「いいい」
■思うような軆??果にならない場合のチューニン繧?
トレーニングフレーズを追加するのが基譛?
できるだけキーワードをEintity化することもよい方觸??
Trainingに驕?去キーワードがあり正誤判藹??することができる
Validationにトレーニングフレーズの追加等の問題觸??起が出ているので対蜃?