Update main.py
Browse files
main.py
CHANGED
@@ -4,8 +4,10 @@ import io
|
|
4 |
import gradio as gr
|
5 |
from fastapi.middleware.cors import CORSMiddleware
|
6 |
from fastapi import FastAPI, Request, Header, BackgroundTasks, HTTPException, status
|
7 |
-
import google.generativeai as
|
8 |
-
from google
|
|
|
|
|
9 |
import base64
|
10 |
from collections import defaultdict
|
11 |
from linebot import LineBotApi, WebhookHandler
|
@@ -25,13 +27,13 @@ from transformers import pipeline
|
|
25 |
|
26 |
|
27 |
# 設定 Google AI API 金鑰
|
28 |
-
|
29 |
|
30 |
# 設定生成文字的參數
|
31 |
-
generation_config =
|
32 |
|
33 |
# 使用 Gemini-1.5-flash 模型
|
34 |
-
model =
|
35 |
|
36 |
# 設定 Line Bot 的 API 金鑰和秘密金鑰
|
37 |
line_bot_api = LineBotApi(os.environ["CHANNEL_ACCESS_TOKEN"])
|
@@ -110,21 +112,22 @@ def upload_image_to_imgur(client, image_binary, album=None, name="Hugging Face-i
|
|
110 |
|
111 |
# 使用 Gemini 生成圖片
|
112 |
def generate_image_with_gemini(prompt):
|
113 |
-
client = genai.Client()
|
114 |
|
|
|
115 |
response = client.models.generate_content(
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
response_modalities=['Text', 'Image']
|
|
|
120 |
)
|
121 |
-
)
|
122 |
|
123 |
for part in response.candidates[0].content.parts:
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
|
|
128 |
|
129 |
# 使用 Hugging Face 生成圖片
|
130 |
def generate_image_hf(prompt):
|
|
|
4 |
import gradio as gr
|
5 |
from fastapi.middleware.cors import CORSMiddleware
|
6 |
from fastapi import FastAPI, Request, Header, BackgroundTasks, HTTPException, status
|
7 |
+
import google.generativeai as genai_gen
|
8 |
+
from google import genai
|
9 |
+
from google.genai import types
|
10 |
+
|
11 |
import base64
|
12 |
from collections import defaultdict
|
13 |
from linebot import LineBotApi, WebhookHandler
|
|
|
27 |
|
28 |
|
29 |
# 設定 Google AI API 金鑰
|
30 |
+
genai_gen.configure(api_key=os.environ["GOOGLE_API_KEY"])
|
31 |
|
32 |
# 設定生成文字的參數
|
33 |
+
generation_config = genai_gen.types.GenerationConfig(max_output_tokens=1000, temperature=0.2, top_p=0.5, top_k=16) #2048
|
34 |
|
35 |
# 使用 Gemini-1.5-flash 模型
|
36 |
+
model = genai_gen.GenerativeModel('gemini-2.0-flash-exp', system_instruction="主要用繁體中文回答,但如果用戶使用詢問英文問題,就用英文回應。你現在是個專業助理,職稱為OPEN小助理,個性活潑、樂觀,願意回答所有問題", generation_config=generation_config)
|
37 |
|
38 |
# 設定 Line Bot 的 API 金鑰和秘密金鑰
|
39 |
line_bot_api = LineBotApi(os.environ["CHANNEL_ACCESS_TOKEN"])
|
|
|
112 |
|
113 |
# 使用 Gemini 生成圖片
|
114 |
def generate_image_with_gemini(prompt):
|
|
|
115 |
|
116 |
+
client = genai.Client(api_key=os.environ["GOOGLE_API_KEY"])
|
117 |
response = client.models.generate_content(
|
118 |
+
model="gemini-2.0-flash-exp-image-generation",
|
119 |
+
contents=prompt,
|
120 |
+
config=types.GenerateContentConfig(
|
121 |
response_modalities=['Text', 'Image']
|
122 |
+
)
|
123 |
)
|
|
|
124 |
|
125 |
for part in response.candidates[0].content.parts:
|
126 |
+
if part.text is not None:
|
127 |
+
print(part.text)
|
128 |
+
elif part.inline_data is not None:
|
129 |
+
#image = PIL.Image.open(io.BytesIO(part.inline_data.data))
|
130 |
+
return part.inline_data.data
|
131 |
|
132 |
# 使用 Hugging Face 生成圖片
|
133 |
def generate_image_hf(prompt):
|