Google Geminiを使用したQ&Aチャットボット
概要
このプロジェクトは、GoogleのGemini AIを活用して、質問に対する回答を生成するQ&Aチャットボットです。Streamlitフレームワークを使用してWebアプリケーションとして実装されており、ユーザーからの入力に基づいてリアルタイムで回答を提供します。
特徴
- GoogleのGemini AIによる高品質な回答生成
- Streamlitを使用した直感的なウェブインターフェース
- 環境変数によるAPIキーの安全な管理
必要条件
- Python 3
- Streamlit
- Google Generative AI
インストール方法
- このリポジトリをクローンまたはダウンロードします。
- 必要なライブラリをインストールします。
pip install -r requirements.txt
を使用することをお勧めします。 -
.env
ファイルにGoogle APIキーを設定します。
使用方法
- スクリプトを実行します:
streamlit run app.py
- ブラウザで表示されたWebアプリケーションにアクセスします。
- テキストボックスに質問を入力し、「質問する」ボタンをクリックします。
- 画面に表示された回答を確認します。
コード
# Q&Aチャットボット
from dotenv import load_dotenv
load_dotenv() # .envファイルから環境変数を取得する。
import streamlit as st
import os
import textwrap
import google.generativeai as genai
from IPython.display import display
from IPython.display import Markdown
# テキストをMarkdown形式に変換する関数
def to_markdown(text):
text = text.replace('•', ' *')
return Markdown(textwrap.indent(text, '> ', predicate=lambda _: True))
# Google APIキーを環境変数から取得し、genaiを設定する
os.getenv("GOOGLE_API_KEY")
genai.configure(api_key=os.getenv("GOOGLE_API_KEY"))
## OpenAIモデルをロードし、応答を取得する関数
def get_gemini_response(question):
model = genai.GenerativeModel('gemini-pro')
response = model.generate_content(question)
return response.text
## Streamlitアプリを初期化する
st.set_page_config(page_title="Q&Aデモ")
st.header("Google Gemini アプリ")
input=st.text_input("入力: ",key="input")
submit=st.button("質問する")
## 質問するボタンがクリックされた場合
if submit:
response=get_gemini_response(input)
st.subheader("応答")
st.write(response)