<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>デバッグ on Xainome Blog</title><link>https://xainome-blog.beeskynohito.workers.dev/tags/%E3%83%87%E3%83%90%E3%83%83%E3%82%B0/</link><description>Recent content in デバッグ on Xainome Blog</description><generator>Hugo</generator><language>ja</language><lastBuildDate>Mon, 22 Apr 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://xainome-blog.beeskynohito.workers.dev/tags/%E3%83%87%E3%83%90%E3%83%83%E3%82%B0/index.xml" rel="self" type="application/rss+xml"/><item><title>RAGを開発してみたい！ので簡単なものでもいいので作ってみよう！part5</title><link>https://xainome-blog.beeskynohito.workers.dev/posts/2024/04/build-rag-app-part-5/</link><pubDate>Mon, 22 Apr 2024 00:00:00 +0000</pubDate><guid>https://xainome-blog.beeskynohito.workers.dev/posts/2024/04/build-rag-app-part-5/</guid><description>&lt;p>さて前回までやったこととしては&lt;/p>
&lt;ul>
&lt;li>
&lt;p>全データのベクトル化(途中で断念)&lt;/p>
&lt;/li>
&lt;li>
&lt;p>画面の作成(Next.jsのインストールと起動)&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>というところまでやってみました。今回は&lt;/p>
&lt;ul>
&lt;li>質疑応答画面の作成&lt;/li>
&lt;/ul>
&lt;p>というところまでやってみます。Next.jsは初めて触るので進みが遅々としていますがご了承ください。&lt;/p>
&lt;p>さてインストールするタイミングでこのようなことを聞かれました。&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Would you like to use TypeScript? » No / Yes&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Would you like to use ESLint? » No / Yes&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Would you like to use &lt;code>src/&lt;/code> directory? » No / Yes&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>他にもいくつか聞かれたので一応Claudeにどんな意味があって導入することのメリットデメリットを聞きながら質問に答えました。大体Yesにしましたが…&lt;/p>
&lt;p>さて前回の画面表示まで行けたのでここからどう作業を進めればいいのかわかってなかったので聞いてみました。&lt;/p>
&lt;p>&lt;img loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/04/build-rag-app-part-5/images/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2024-04-21-144001.png">&lt;/p>
&lt;p>ということで質疑応答画面を作っていきます。本格的なデザインは気にせずに簡易的なものを作っていきます。&lt;/p>
&lt;p>と言ってもからコード書くのは大変ですし、学ぶのにも時間がかかるので今回もClaudeに手伝ってもらおうと思います。それで最初書いてもらったコードがこちら&lt;/p>
&lt;p>page.jsx&lt;/p>
&lt;pre tabindex="0">&lt;code>import QuestionForm from &amp;#39;./components/QuestionForm&amp;#39;;
const HomePage = () =&amp;gt; {
return (
&amp;lt;div&amp;gt;
&amp;lt;h1&amp;gt;RAGシステム&amp;lt;/h1&amp;gt;
&amp;lt;QuestionForm /&amp;gt;
&amp;lt;/div&amp;gt;
)
}
export default HomePage;
&lt;/code>&lt;/pre>&lt;p>QuestionForm.jsx&lt;/p>
&lt;pre tabindex="0">&lt;code>import { useState } from &amp;#39;react&amp;#39;;
const QuestionForm = () =&amp;gt; {
const [question, setQuestion] = useState(&amp;#39;&amp;#39;);
const handleSubmit = (e) =&amp;gt; {
e.preventDefault();
// 質問をサブミットする処理をここに書く
console.log(&amp;#39;Submitted question:&amp;#39;, question);
setQuestion(&amp;#39;&amp;#39;);
}
return (
&amp;lt;form onSubmit={handleSubmit}&amp;gt;
&amp;lt;textarea
value={question}
onChange={(e) =&amp;gt; setQuestion(e.target.value)}
placeholder=&amp;#34;質問を入力してください&amp;#34;
rows={5}
/&amp;gt;
&amp;lt;button type=&amp;#34;submit&amp;#34;&amp;gt;送信&amp;lt;/button&amp;gt;
&amp;lt;/form&amp;gt;
)
}
export default QuestionForm;
&lt;/code>&lt;/pre>&lt;p>ちなみに上記の書いてる内容はよくわかってないのでこっちはChat-GPTに解説してもらってました。新卒の時の研修で書いたHTMLやJSを思い出します。&lt;/p></description></item></channel></rss>