-
IT
OpenLLM API テストフォーム
bootstrapで簡素な作りだけでオープンLLMに接続してレスポンスを取得して表示する基本のコードを書きました。 このHTMLコードは、オープンLLMのAPIを利用したウェブフォームを作成するためのものです。以下、各部分の説明です: このウェブフォームは、ユーザーが質問を入力し、送信すると、その質問をOpenLLMサーバーに送信し、得られた回答を表示するという流れで動作します。サーバーサイドのPHPスクリプトは、APIとの通信を処理し、クライアントサイドのJavaScript(custom-scripts.js)はユーザーインターフェイスの機能を担います。 -
IT
OpenAIのAPIを使ってPHPのフォームから送信とレスポンスを表示する。(5)
jsを外部ファイル化する。 外部ファイル化するためには、以下の手順で進めます: custom-scripts.js HTMLファイルでの参照 HTMLファイル内で外部ファイルを読み込むには、以下のように<script>タグを追加します。この例では、custom-scripts.jsが現在のHTMLファイルと同じディレクトリにあることを 前提としています。パスは環境に応じて調整してください。 この方法で、HTMLファイルとJavaScriptコードを分離することができ、メンテナンス性や再利用性が向上します。 サンプルコード index.php -
IT
OpenAIのAPIを使ってPHPのフォームから送信とレスポンスを表示する。(4)
テンプレートリテラルとは? テンプレートリテラルは、ECMAScript 2015 (ES6) で導入されたJavaScriptの機能で、文字列を作成する新しい方法です。従来の文字列リテラル(シングルクオート’やダブルクオート”で囲まれた文字列)に代わるもので、バックティック(`)を使用して定義します。テンプレートリテラルは、複数行にわたる文字列や、埋め込み式(式の結果を文字列中に挿入する機能)を扱うことができるため、動的な文字列の生成が簡単に行えるようになります。 テンプレートリテラルの特徴 テンプレートリテラルの例 テンプレートリテラルは、従来の文字列操作に比べて直感的で読みやすいコードを書くことが可能になるため、JavaScriptで動的な文字列を扱う場合の推奨される方法です。 -
IT
OpenAIのAPIを使ってPHPのフォームから送信とレスポンスを表示する。
サンプルコード -
IT
オープンLLMのバックエンドにデーターベースを持たす設計
MySQLを使用してテキスト生成Web UIのデータベースを設計する際には、主に以下のような情報を管理するテーブルが必要になります: 以下はこれらのテーブルを設計するための基本的なSQLスキーマです: ユーザー情報 (users) リクエスト情報 (requests) 生成テキスト (generated_texts) これらのテーブルは、テキスト生成Web UIで最も基本的なデータを管理するためのものです。実際のプロジェクトでは、セキュリティ、性能、そしてユーザー体験を考慮して、さらに詳細な設計や追加のテーブルが必要になるかもしれません。たとえば、ユーザー認証のためのパスワード管理、リクエストや生成テキストに対するタグ付けやカテゴライズ、ユーザーのアクションログ記録などです。 はい、WordPressを使用してテキスト生成のWeb UIを構築することは可能です。WordPressは柔軟性が高く、プラグインやカスタムコードを用いて多様な機能を実装できます。テキスト生成機能をWordPressサイトに統合するには、いくつかのアプローチが考えられます: カスタムプラグインの開発 ショートコードの利用 REST APIの利用 データベースの活用 セキュリティとパフォーマンス WordPressを用いることで、開発の時間を節約し、より幅広いユーザーにサービスを提供することが可能になります。カスタムプラグインの開発やAPIの統合は、WordPressの強力なカスタマイズ性を生かす良い例です。開発プロセスは、具体的な要件や目的に応じて調整することができます。 -
IT
ローカルサーバーに外部からSSHで接続させる。
何が正解なのだろう?といろいろ試している。とりあえず下記で動いたので下記でやることにする。本当は固定のサブドメインを割り当ててやりたかったがエラーがでる。 ポートを固定サブドメインを使って接続 サブドメインなしで接続 -
IT
秘密鍵を使用したSSH自動再接続スクリプト
提供されたSSHコマンドの設定を使用し、新たなポートフォワーディング設定(-R ai7:80:127.0.0.1:7890)を含むPowerShellスクリプトを更新します。このスクリプトは、指定されたリモートホストに対してSSH接続を確立し、接続が切断された場合に自動的に再接続を試みます。 PowerShellスクリプト例 スクリプトの使用上の注意: このスクリプトを使用することで、Windows環境においてもautosshのような自動再接続機能を実現することが可能です。 PowerShellスクリプトを保存して使用する方法は以下の通りです。 ステップ1: スクリプトをテキストエディタに貼り付ける ステップ2: スクリプトを保存する ステップ3: PowerShellスクリプトを実行する PowerShellスクリプトを実行するには、以下の手順に従います。 このコマンドは、信頼されていないスクリプトの実行を許可するために必要です。セキュリティ上の警告が表示された場合は、続行する前に内容を確認してください。 次に、以下のコマンドを使用してスクリプトを実行します。 ここで、AutoSSHReconnect.ps1はあなたが保存したスクリプトのファイル名に置き換えてください。 注意点 これらの手順に従えば、PowerShellスクリプトを保存し、Windows環境で使用することができます。 -
IT
自宅ローカルサーバーで生成AIサービス一覧
生成AIで何ができるという方のために自宅で作れる生成でできるサービスを公開しています。具体的には、生成AI系の「オープンソース」をローカルサーバーで動かしてサーバーを「ポートウォワーディングリバースSSH」を使用して生成AIのサービスを外部公開しています。 システム環境 普通のデスクトップにNVIDIAのグラフイックボードを搭載させています。 1号サーバー RTX3080(VRAM10G)2号サーバー RTX3060(VRAM12G)3号サーバー RTX4090(VRAM24G) windows10/11,Dockerを使ったりWSL2を使っています。外部公開にはngrokとsishを併用しています。本番運用はデーターセンターでUbuntuがいいと思います。 テキストto画像生成 https://ai2.ex-pa.pro/ テキストから画像を生成することができます。オープンソース名は、stable diffisionです。やり方は簡単で、サイトにアクセスして下記のプロンプトとネガティブプロンプトを入力するだけです。後はお好みでプロンプトを調整してください。 ai2.ex-pa.pro モデルは、yayoi_mixです。 プロンプト ネガティブプロンプト できた画像です。 動画生成共有サイト https://ai3.ex-pa.pro/ 動画共有サイトです。ログインして動画をアップロードすることができます。YoutubeのURLを入力してfechしてがサムネイル、動画をひっぱることができます。 ai3.ex-pa.pro ChatGPTクローンオープンLLM(バックエンド) https://ai4.ex-pa.pro/ ChatGPTのクローンを複数管理できるオープンLLMのWebUIのバックエンド画面です。モデルを選択して会話モードや教師モードで会話、教師モードで話すことができます。Loraを使って強化、追加学習することが可能です。 ChatGPTクローンオープンLLM(API) […] -
IT
Google Cloud Speech API をPHPで書く
Google Cloud Speech API をPHPで利用するためには、まずGoogle Cloud Platform (GCP) のプロジェクトを作成し、Speech-to-Text APIを有効にする必要があります。また、適切なサービスアカウントを作成し、その認証情報をダウンロードする必要があります。以下は、Google Cloud Speech APIをPHPで使用するための基本的な手順とサンプルコードです。 ステップ 1: GCP の設定 ステップ 2: PHP クライアントライブラリのインストール Google Cloud Speech APIのPHPクライアントライブラリを使用するために、Composerを使用してインストールします。以下のコマンドを実行します。 […] -
IT
動画共有サーバーを閉鎖するので履歴と設定だけバックアップ
動画共有サーバーのために3年間レンタルサーバーを借りていたのですが、サーバーも古くなってしまってローカルに引っ越しをしたので閉鎖します。その前に一応設定とか残しておきます。また見直す機会があるかもしれません。 サーバー操作履歴 nginxの設定 -
IT
Sish
-
IT
Google Cloud Platform (GCP)の確認
Google Cloud Platform (GCP) の Cloud Shell を使用して、さまざまなリソースや設定の状態を確認するには、gcloud コマンドラインツールを利用します。以下に、異なるリソースの状態を確認するための例を挙げます: これらのコマンドは、Cloud Shell を通じて GCP 環境内のさまざまなリソースの状態を確認するための出発点を提供します。各 gcloud コマンドには、出力をフィルタリングやフォーマットするための多くのフラグとオプションがあり、これらは任意の gcloud コマンドに –help フラグを使用して探索できます。例えば、gcloud compute instances list –help は […] -
IT
sishの設定(SSL化の処理)
sishのGitHubのサイトに行きます。 Cloud Shell | Google Cloudに行きます。 変更前 HTTPSでサイトに接続するために設定を変更するには、以下の手順に従ってください。この設定は、Let’s Encryptを介して自動的にSSL証明書を取得し、サイトをHTTPSで安全に公開することを目的としています。 修正後のコマンド例は以下のようになります(YOURDOMAINとcerts@YOURDOMAINを適切な値に置き換えてください): 変更後 変更前: 変更後: これらの変更により、HTTPSでのセキュアな接続を実現し、Let’s EncryptからSSL証明書を自動的に取得し、更新することが可能になります。ドメイン名と証明書に関連するメールアドレスを適切に設定することが重要です。 -
IT講座
SSHの使い方
1.公開鍵と秘密鍵とは? 秘密鍵と公開鍵は、公開鍵暗号方式の2つの主要なコンポーネントです。この方式は、安全な通信のために広く利用されています。以下に、それぞれの鍵について簡単に説明します。 公開鍵 秘密鍵 公開鍵暗号方式の特徴 秘密鍵と公開鍵は、公開鍵暗号化(非対称暗号化)システムにおける2つの主要な要素です。このシステムでは、2つの異なる鍵が使用されます:一つは公開鍵で、もう一つは秘密鍵です。これらの鍵は数学的に関連しており、一方の鍵で暗号化されたデータはもう一方の鍵でのみ復号化することができます。以下に、それぞれの鍵の特徴と使用方法について詳しく説明します。 2. 秘密鍵と公開鍵の生成 必要なツール 手順 ここで、-tは鍵の種類(ここではrsa)、-bは鍵のビット数(ここでは4096)、-Cは鍵に関連付けるコメント(通常はメールアドレス)です。 3. 保存先とパスフレーズの入力: コマンドを実行すると、鍵の保存先(デフォルトは~/.ssh/id_rsa)と、オプションで鍵を保護するためのパスフレーズを入力するよう求められます。 結果 C:\Users\ユーザー名\.ssh 3. 公開鍵の登録 公開鍵は、SSH接続を受け入れるサーバーに登録する必要があります。例として、GitHubに公開鍵を登録する方法を説明します。 4. 鍵の試験 SSH接続を試して、設定が正しく完了していることを確認します。GitHubの場合、以下のコマンドを使用してテストできます。 成功すれば、GitHubからあなたのユーザー名で認識されたメッセージが表示されます。 これで、秘密鍵と公開鍵の生成から登録、そして試験までのプロセスが完了しました。SSHキーを利用することで、パスワードなしで安全にリモートサーバーへの接続が可能になります。 -
WordPress
wsl のコマンドを教えてください。
WSL (Windows Subsystem for Linux) は、Windows 10 以降の環境で Linux ディストリビューションを実行できるようにする機能です。以下は、WSL を操作するためによく使われる基本的なコマンドのリストです。 これらのコマンドは WSL の基本的な操作に関するもので、より高度な機能や設定については Microsoft の公式ドキュメントやヘルプコマンド (wsl –help) を参照してください。 -
WordPress
FAQやお問い合わせの上にChatGPTを搭載してみる
拙作のcustom_gpt_formをgithubにアップしました。 プラグインを有効化して、 ショートコードを貼るだけで、 どこでもカスタムGPTになります。 ファインチューニングはサイトのURLを打ち込むだけでクローリングしてきます。 PDF、テキスト、CSVでも追加学習を取り込むことができます。 -
IT
LINE AIチャットボットのレシピ
LINE AIチャット君 1週間で20万ユーザー、現在50万人ユーザーを獲得したLINE AIチャット君を作ってみませんか? LINE AIチャット君を作って見よう! LINE 公式アカウントとOpenAI のAPIが利用できれば誰でもオリジナルのLINE AIチャット君を簡単に作ることができます。 準備しておくもの ・LINE公式アカウント(LINEアカウントではありません。)・OpenAI APIキー・googleアカウント(会社で使用される場合はgoogle WorkspaceとDNSを紐付けてGoogle Docsを動作している状態にしておくこと)・google スプレッドシート・GAS(google Apps script) LINE AIチャットのシステム概要 最初にゴールから説明すると、LINE messingAPIのweb hook機能を使ってGAS(google Apps scripts)と連携させます。GAS側でゴニョゴニョさせて、OpenAPIに接続してpostしてrequestを拾ってきて、LINEに返してやります。ければOpenAIとの会話のログが必要であれば、google […] -
IT
ChatGPTとおしゃべりしながら「サイトのフォームからOpenAPIに投げてリクエストを返すプログラム」を開発
OpenAPIのAPIが3月2日に公開されてまだ3日しか経っていません。それなのにtwitterを見ていると土、日も挟んで世間では休みなのに物凄い速度で開発が進んでいます。LINEでのチャットボットはできたので、次はウェブサイトにチャットボットを埋め込むことができればと思ってちょっと書いてみました。正確には、これも私が質問してChatGPT君がソースを書いてくれたのです。 フォームからOpenAPIに投げてリクエストを返すプログラム 下記のソースコードは、OpenAIのAPIを使用して文字生成を行うWebページを作成するものです。 ソースコードの説明 HTMLのボディ部分のフォーム部分には、「Enter prompt:」というテキストボックスがあり、そこに入力したテキストから文字生成を行います。入力したテキストは、「Generate Text」ボタンを押すことで、OpenAI APIに送信されます。 OpenAI APIに送信されるリクエストには、APIキー、リクエストボディ、リクエストヘッダが含まれています。リクエストボディには、生成させたいテキスト(「prompt」)、生成する最大トークン数(「max_tokens」)、生成する文章数(「n」)、生成を終了するトークン(「stop」)、生成する文章の温度(「temperature」)などが含まれます。 cURLを使用してOpenAI APIにリクエストを送信します。APIからのレスポンスを受け取った後、cURLを終了します。 APIからのレスポンスをデコードし、「choices」キーが存在するかどうかをチェックします。「choices」キーが存在する場合、生成されたテキスト(「choices」配列の「text」キー)を抽出して表示します。「choices」キーが存在しない場合は、「An error occurred while generating text.」というエラーメッセージを表示します。 デバッグ方法 私の質問 このエラーは何ですか? An error occurred while […] -
WordPress
データーの取得パータン
データーの取得パターンは、① rss、xml、jsonで取得② file_get_contentsからsimple_html_domで取得③ formからpostで取得④ csv importで取得とりあえず、URLをリストで束にして拾えば、後は、foreach文で廻していけばいい。WordPressとかの場合、$wpdb->preparewp_insert_postを使う。 -
IT
新規のクライアントさんとの面談準備
ITエンジニアが案件を取るための新規のクライアントさんとの面談の準備 ITエンジニアが新規のクライアントさんとの面談の準備をする場合、以下の点に注意することが重要です。 クライアントの業界やビジネスモデルについて理解する クライアントの業界やビジネスモデルを理解することは、クライアントのニーズを正確に把握するために必要です。事前に業界情報や市場動向、競合情報などを調べ、クライアントのビジネスに関する知識を深めておくことが大切です。 クライアントが抱える課題や問題を洗い出す 面談の目的は、クライアントが抱える課題や問題を把握することです。クライアントの話をよく聞き、何が問題であるか、どのような課題があるのかを洗い出しましょう。それによって、クライアントのニーズに合わせた提案ができます。 自分自身が持っているスキルや経験について整理する クライアントが抱える問題を解決するためには、自分自身が持っているスキルや経験を理解しておくことが必要です。自分自身がどのような技術や知識を持っているのかを整理し、クライアントの問題に対してどのようにアプローチできるかを考えておきましょう。 提案内容や見積もりなどの準備を行う 面談での提案内容や見積もりについては、事前に準備しておくことが必要です。クライアントの問題に合わせた提案を考え、それに対する見積もりを作成しましょう。また、クライアントが求める条件や要件に対して、どのように対応できるかを検討しておくことも重要です。 以上の点に注意して、クライアントとの面談に臨むことが大切です。クライアントのニーズに合わせた提案を行い、信頼関係を築くことが成功の鍵となります。 海外でのリモートワークでも円滑に作業を進めれることをどう説明したらいいですか? リモートワークでも円滑に作業を進めることができる理由を以下のように説明することができます。 「私は、遠隔地からでもチームとのコミュニケーションを取ることが得意です。ビデオ会議、チャット、メールなど、様々な手段を使い分かりやすく、適切なタイミングでコミュニケーションを取るように心がけています。」タイと日本の時差は2時間です。日本での始業時間が10時であればタイは8時です。部屋でリモートで仕事をする分通勤に時間がかからないぶん朝8時から仕事を始めることができます。「私は、オンラインツールを活用することで、リモートワークでも作業を円滑に進めることができます。Googleドキュメント、Googleスプレッドシート、Slack、Backlogなどの共有ツールを使い、チームメンバーとの情報共有やタスク管理を行うことができます。」「私は、リモートワークでもプロジェクトの進捗管理をきちんと行います。進捗状況の報告や締め切りの管理など、プロジェクトのスケジュール管理には特に気を配っています。」「私は、自己管理能力に自信があります。リモートワークになると、自分自身が自己管理を行う必要がありますが、私はデッドラインを守ることができ、自己管理能力を高めることができます。」「私は、リモートワークでも適切な作業環境を整えることができます。 私がPHPのベテランだと説明するにはどう答えたらいいですか? 「私は、PHPを長年にわたって使用してきた経験があります。」IT歴は1995年くらいなのでかれこれ27年になります。PHPは2000年くらい使ってきたので22年になります。最初は主に掲示板として利用していました。要件定義や詳細設計、サーバー構築も得意です。 オープンソースのSNSのOpenPNEやWordPressを主に使用してきました。OpenPNE3系はSymphonyを使用しています。.ASPやRuby on Railsも業務して使用してきた経験があります。JavaやC言語は業務で使用はしていないですが、IT講師として教えていた経験があります。 拙書がAmazonにあります。https://www.amazon.co.jp/%E6%9C%AC-%E7%94%B0%E7%AB%AF-%E5%8E%9A%E8%B3%A2/s?rh=n%3A465392%2Cp_27%3A%E7%94%B0%E7%AB%AF+%E5%8E%9A%E8%B3%A2 「私は、PHPで様々なウェブアプリケーションを構築し、それらをリリースしてきました。」 OpenPNEをカスタマイズした様々なWebアプリケーションがあります。 「私は、PHPの開発に関する深い知識と経験を持っています。」 Dockerやwsl2によるローカルでの環境構築を行っています。エディターはvscodeまたは秀丸を使っています。 WordPressのプラグインをいくつか私のgit上に公開しています。 […] -
タイ語
タイで頻繁に利用される50個ピックアップして、タイ語、カタカタ発音、日本語で表にだして
If you’re planning to visit or live in Thailand, it’s essential to learn some basic Thai phrases. The Thai language may seem intimidating at first, […]