<?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>Corsapp on Xainome Blog</title><link>https://xainome-blog.beeskynohito.workers.dev/tags/corsapp/</link><description>Recent content in Corsapp on Xainome Blog</description><generator>Hugo</generator><language>ja</language><lastBuildDate>Sat, 04 May 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://xainome-blog.beeskynohito.workers.dev/tags/corsapp/index.xml" rel="self" type="application/rss+xml"/><item><title>RAGを開発してみたい！ので簡単なものでもいいので作ってみよう！part6</title><link>https://xainome-blog.beeskynohito.workers.dev/posts/2024/05/build-rag-app-part-6/</link><pubDate>Sat, 04 May 2024 00:00:00 +0000</pubDate><guid>https://xainome-blog.beeskynohito.workers.dev/posts/2024/05/build-rag-app-part-6/</guid><description>&lt;p>PCが故障したという話をしたのですが、コンセントから電源が抜けてたというオチでした。&lt;/p>
&lt;p>なのでRAGの開発を再開しました！&lt;/p>
&lt;p>前回開発した部分は&lt;/p>
&lt;ul>
&lt;li>質疑応答画面の作成&lt;/li>
&lt;/ul>
&lt;p>今回開発する部分は&lt;/p>
&lt;ul>
&lt;li>
&lt;p>画面(Next.js)から送られるデータを受け取るエンドポイントをFlaskに設定&lt;/p>
&lt;/li>
&lt;li>
&lt;p>ベクトル化するプログラムをクラス化&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>Flaskも触ったことないのでChat-GPTに質問しながら触ってました。一旦中身は以下の内容にしています。&lt;/p>
&lt;pre tabindex="0">&lt;code>from flask import Flask, request, jsonify
from flask_cors import CORS
import pdf_to_model
import logging
logging.basicConfig(level=logging.DEBUG)
app = Flask(__name__)
CORS(app)
@app.route(&amp;#39;/process&amp;#39;, methods=[&amp;#39;POST&amp;#39;])
def process_question():
data = request.get_json()
query = data.get(&amp;#39;query&amp;#39;)
logging.debug(&amp;#34;Received query: %s&amp;#34;, query)
try:
vector = pdf_to_model.PDFToVector()
result = vector.main(query)
# 結果を JSON 形式で返す
return jsonify(result[0])
# return jsonify({&amp;#39;result&amp;#39;: &amp;#39;Processed result of &amp;#39; + query})
except Exception as e:
logging.error(&amp;#34;Error processing query: %s&amp;#34;, str(e))
return jsonify({&amp;#39;error&amp;#39;: str(e)}), 500
if __name__ == &amp;#34;__main__&amp;#34;:
app.run(debug=True)
&lt;/code>&lt;/pre>&lt;p>ログの設定はする必要はないですが、まだ開発段階なので一旦設定しています。それから&amp;quot;CORS(app)&amp;ldquo;ですね。少し調べたのですが異なるオリジン間でのリソース共有を可能にするために必要な設定みたいです。そもそも同一のオリジンとは以下の3つが同じであることが条件です。&lt;/p></description></item></channel></rss>