Evaaaaa06 commited on
Commit
d0e2bcd
·
verified ·
1 Parent(s): 7a2c78a

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +17 -14
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 genai
8
- from google.generativeai import types
 
 
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
- genai.configure(api_key=os.environ["GOOGLE_API_KEY"])
29
 
30
  # 設定生成文字的參數
31
- generation_config = genai.types.GenerationConfig(max_output_tokens=1000, temperature=0.2, top_p=0.5, top_k=16) #2048
32
 
33
  # 使用 Gemini-1.5-flash 模型
34
- model = genai.GenerativeModel('gemini-2.0-flash-exp', system_instruction="主要用繁體中文回答,但如果用戶使用詢問英文問題,就用英文回應。你現在是個專業助理,職稱為OPEN小助理,個性活潑、樂觀,願意回答所有問題", generation_config=generation_config)
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
- model="gemini-2.0-flash-exp-image-generation",
117
- contents=prompt,
118
- config=types.GenerateContentConfig(
119
  response_modalities=['Text', 'Image']
 
120
  )
121
- )
122
 
123
  for part in response.candidates[0].content.parts:
124
- if part.inline_data is not None:
125
- return part.inline_data.data # 回傳 binary 圖片資料
126
-
127
- return None # 如果無法生成圖片,回傳None
 
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):