* يتوفر غلاف Python غير رسمي ، python-gemini-api، للمستخدمين الذين يواجهون مشكلات متكررة في المصادقة أو غير قادرين على استخدام مصادقة Google. يستخدم هذا المجمع قيم ملفات تعريف الارتباط للتفاعل مع Google Gemini من خلال الهندسة العكسية. تضمن المشروع تعاونًا مع أنطونيو تشيونغ.
على الجانب الرسمي، توفر Google واجهات برمجة تطبيقات Gemini وSDKs الرسمية والنظيفة والمجانية جزئيًا، والتي يمكن الوصول إليها واستخدامها بدقة عبر حزم Python، google-geneativeai.
نصيحة
| 2024-03-26 | [انظر أمثلة التعليمات البرمجية]
تحقق من واجهات برمجة تطبيقات LLM مفتوحة المصدر المجانية مؤقتًا باستخدام Open Router. (الحد المجاني: 10 طلبات/الدقيقة)
| 2024-05-20 | هناك بعض التغييرات في المنطق اعتمادًا على المنطقة/البلد (IP) والحساب. يحتاج المستخدمون إلى التحقق مما يلي للعثور على المنطق المناسب لأنفسهم. تظل الحزمة مناسبة لحالات الاستخدام الأكثر شيوعًا.
BOT_SERVER
في const.pyself._sid
في client.pyself._rcid
في client.py| ورق | الموقع الرسمي | واجهة برمجة التطبيقات الرسمية | وثائق API |
Gemini هي عائلة من نماذج الذكاء الاصطناعي التوليدية التي طورتها Google DeepMind والتي تم تصميمها لحالات الاستخدام متعدد الوسائط. تتيح لك واجهة برمجة تطبيقات Gemini إمكانية الوصول إلى طرازي Gemini Pro وGemini Pro Vision. في فبراير 2024، تم تغيير خدمة Bard من Google إلى Gemini .
نموذج | يكتب | وصول | تفاصيل |
---|---|---|---|
تَوأَم | الملكية | واجهة برمجة التطبيقات [13] | ذكاء اصطناعي متعدد الوسائط خاص بشركة Google DeepMind، بما في ذلك النماذج المتقدمة مثل Gemini Pro وGemini Pro Vision. يقتصر الوصول على استخدام واجهة برمجة التطبيقات؛ يمكن الحصول على رؤى إضافية من خلال الورقة والموقع الإلكتروني. [1][2] |
جيما | مفتوح المصدر | للتحميل واجهة برمجة التطبيقات المجانية | نموذج لغة مفتوح المصدر لتحويل النص إلى نص مناسب لمهام مثل ضمان الجودة والتلخيص. يمكن تنزيل الأوزان للاستخدام المحلي، ويتم توفير الوثائق التفصيلية عبر الورقة والموقع الإلكتروني. [3][4] |
كود جيما | مفتوح المصدر | للتحميل | تم تصميم هذا النموذج مفتوح المصدر خصيصًا لمهام البرمجة، وهو يوفر أوزانًا قابلة للتنزيل لمساعدة المطورين في إنشاء التعليمات البرمجية والأنشطة المماثلة. ارجع إلى الورقة ذات الصلة ومنشور المدونة ومجموعة Hugging Face للحصول على مزيد من المعلومات. [5] [6] [7] |
هذا عبارة عن غلاف Python مشتق من مشروع Bard API، وهو مصمم لاسترداد الاستجابات من Gemini Web بتنسيق REST. يُفضل العملاء المتزامنون على العملاء غير المتزامنين لـ Gemini بسبب مخاوف الحد من المعدل والحظر.
pip install python-gemini-api
pip install git+https://github.com/dsdanielpark/Gemini-API.git
للحصول على النسخة المحدثة، استخدم على النحو التالي:
pip install -q -U python-gemini-api
تفضل بزيارة https://gemini.google.com/
أثناء فتح المتصفح، حاول جمع ملفات تعريف الارتباط تلقائيًا أولاً.
from gemini import Gemini
client = Gemini ( auto_cookies = True )
# Testing needed as cookies vary by region.
# client = Gemini(auto_cookies=True, target_cookies=["__Secure-1PSID", "__Secure-1PSIDTS"])
# client = Gemini(auto_cookies=True, target_cookies="all") # You can pass whole cookies
response = client . generate_content ( "Hello, Gemini. What's the weather like in Seoul today?" )
print ( response . payload )
(يدويًا) F12
لوحدة تحكم المتصفح → Session: Application
→ Cookies
→ انسخ قيمة بعض مجموعات ملفات تعريف الارتباط العاملة. إذا لم ينجح الأمر، فانتقل إلى الخطوة 3.
حاول أولاً استخدام __Secure-1PSIDCC
وحده. إذا لم ينجح الأمر، فاستخدم __Secure-1PSID
و __Secure-1PSIDTS
. لا يوجد حتى الآن النجاح؟ جرب ملفات تعريف الارتباط الأربعة هذه: __Secure-1PSIDCC
, __Secure-1PSID
, __Secure-1PSIDTS
, NID
. إذا لم ينجح أي شيء، انتقل إلى الخطوة 3 وفكر في إرسال ملف تعريف الارتباط بالكامل.
(مستحسن) تصدير ملفات تعريف الارتباط لموقع Gemini عبر ملحق المتصفح. على سبيل المثال، استخدم ملحق Chrome ExportThisCookies، وافتح محتويات ملف txt وانسخها.
مهم
قم بتجربة حسابات Google وإعدادات المتصفح المختلفة للعثور على ملف تعريف ارتباط فعال. قد يختلف النجاح حسب عنوان IP وحالة الحساب. بمجرد الاتصال، يظل ملف تعريف الارتباط فعالًا لمدة تزيد عن شهر. استمر في الاختبار حتى تنجح.
إنشاء المحتوى: إرجاع الاستجابة التي تم تحليلها.
from gemini import Gemini cookies = { "" : "" } # Cookies may vary by account or region. Consider sending the entire cookie file. client = Gemini ( cookies = cookies ) # You can use various args response = client . generate_content ( "Hello, Gemini. What's the weather like in Seoul today?" ) response . payload
إنشاء محتوى من الصورة: يمكنك استخدام الصورة كمدخل.
from gemini import Gemini cookies = { "" : "" } client = Gemini ( cookies = cookies ) # You can use various args response = client . generate_content ( "What does the text in this image say?" , image = 'folder/image.jpg' ) response . payload
ملحوظة
إذا أعادت طريقة generator_content حمولة فارغة، فحاول تنفيذها مرة أخرى دون إعادة تهيئة كائن Gemini.
ضبط اللغة وإصدار Gemini باستخدام متغيرات البيئة:
ضبط لغة استجابة Gemini (اختياري): تحقق من اللغات المدعومة هنا. الافتراضي هو اللغة الإنجليزية.
import os
os . environ [ "GEMINI_LANGUAGE" ] = "KR" # Setting Gemini response language (Optional)
os . environ [ "GEMINI_ULTRA" ] = "1" # Switch to Gemini-advanced response (Experimental, Optional)
# In some accounts, access to Gemini Ultra may not be available. If that's the case, please revert it back to "0".
يرجى الإعلان بوضوح cookies
بتنسيق dict. يمكنك أيضًا إدخال المسار إلى الملف الذي يحتوي على ملف تعريف الارتباط باستخدام cookie_fp
(*.json، *.txt مدعوم). تحقق من نماذج ملفات تعريف الارتباط في مجلد الأصول.
from gemini import Gemini
cookies = {
"__Secure-1PSIDCC" : "value" ,
"__Secure-1PSID" : "value" ,
"__Secure-1PSIDTS" : "value" ,
"NID" : "value" ,
# Cookies may vary by account or region. Consider sending the entire cookie file.
}
client = Gemini ( cookies = cookies )
# client = Gemini(cookie_fp="folder/cookie_file.json") # (*.json, *.txt) are supported.
# client = Gemini(auto_cookies=True) # Or use auto_cookies paprameter
لكي يتم ضبط auto_cookie
على True
، قم بضبط target_cookies
. يجب أن تكون Gemini WebUI نشطة في المتصفح. يتيح browser_cookie3 جمع ملفات تعريف الارتباط تلقائيًا، على الرغم من أن التحديثات قد لا تكتمل بعد.
يُرجع رد الجوزاء، لكن قد يكون الرد الأول فارغًا.
from gemini import Gemini
cookies = {}
client = Gemini ( cookies = cookies )
prompt = "Tell me about Large Language Model."
response = client . generate_content ( prompt )
print ( response . payload )
مهم
لا ترسل نفس المطالبة بشكل متكرر. إذا تم الاتصال بالجلسة بنجاح وتم تشغيل generate_content
بشكل جيد، قم بإغلاق موقع Gemini. إذا ظل موقع Gemini web مفتوحًا في المتصفح، فقد تنتهي صلاحية ملفات تعريف الارتباط بشكل أسرع.
مخرجات الدالة generator_content هي GeminiModelOutput
، بالبنية التالية:
Gemini-API/gemini/src/model/output.py
السطر 16 في fdf064c
إرسال طلب: يُرجع حمولة الطلب ورمز_الحالة، مما يجعل تصحيح الأخطاء أسهل.
from gemini import Gemini
cookies = {}
client = Gemini ( cookies = cookies )
response_text , response_status = client . send_request ( "Hello, Gemini. Tell me about Large Language Models." )
print ( response_text )
يمكنك تتبع العدد الإجمالي للطلبات المقدمة عن طريق الوصول إلى خاصية request_count
ضمن فئة Gemini
.
إرجاع النص الذي تم إنشاؤه بواسطة الجوزاء.
from gemini import Gemini
cookies = {}
client = Gemini ( cookies = cookies )
prompt = "Hello, Gemini. Tell me about Large Language Models."
response = client . generate_content ( prompt )
print ( response . text )
إرجاع الصور التي تم إنشاؤها بواسطة الجوزاء.
تنزيل غير متزامن
from gemini import Gemini , GeminiImage
cookies = {}
client = Gemini ( cookies = cookies )
response = client . generate_content ( "Hello, Gemini. Tell me about Large Language Models." )
generated_images = response . generated_images # Check generated images [Dict]
await GeminiImage . save ( generated_images , "output" , cookies )
# image_data_dict = await GeminiImage.fetch_images_dict(generated_images, cookies)
# await GeminiImage.save_images(image_data_dict, "output")
عرض الصور في IPython يمكنك عرض الصورة أو نقلها إلى تطبيق آخر بتنسيق بايت.
import io
from gemini import Gemini , GeminiImage
from IPython . display import display , Image
cookies = {}
client = Gemini ( cookies = cookies )
bytes_images_dict = GeminiImage . fetch_images_dict_sync ( generated_images , cookies ) # Get bytes images dict
for image_name , image_bytes in bytes_images_dict . items ():
print ( image_name )
image = Image ( data = image_bytes )
display ( image )
برنامج تنزيل المزامنة
from gemini import Gemini , GeminiImage
cookies = {}
client = Gemini ( cookies = cookies )
response = client . generate_content ( "Create illustrations of Seoul, South Korea." )
generated_images = response . generated_images # Check generated images [Dict]
GeminiImage . save_sync ( generated_images , save_path = "output" , cookies = cookies )
# You can use byte type image dict for printing images as follow:
# bytes_images_dict = GeminiImage.fetch_images_dict_sync(generated_images, cookies) # Get bytes images dict
# GeminiImage.save_images_sync(bytes_images_dict, path="output") # Save to dir
غلاف التنزيل غير المتزامن
import asyncio
from gemini import GeminiImage
async def save_generated_images ( generated_images , save_path = "output" , cookies = cookies ):
await GeminiImage . save ( generated_images , save_path = save_path , cookies = cookies )
# Run the async function
if __name__ == "__main__" :
cookies = {}
client = Gemini ( cookies = cookies )
response = client . generate_content ( "Create illustrations of Seoul, South Korea." )
generated_images = response . generated_images
asyncio . run ( save_generated_images ( generated_images , save_path = "output" , cookies = cookies ))
منطق طريقة GeminiImage.save
import asyncio
from gemini import Gemini , GeminiImage
async def save_generated_images ( generated_images , save_path = "output" , cookies = cookies ):
image_data_dict = await GeminiImage . fetch_images_dict ( generated_images , cookies ) # Get bytes images dict asynchronously
await GeminiImage . save_images ( image_data_dict , save_path = save_path )
# Run the async function
if __name__ == "__main__" :
cookies = {}
client = Gemini ( cookies = cookies )
response = client . generate_content ( "Create illustrations of Seoul, South Korea." )
generated_images = response . generated_images
asyncio . run ( save_generated_images ( generated_images , save_path = "output" , cookies = cookies ))
ملحوظة
استخدم GeminiImage لمعالجة الصور. تعمل web_images
بدون ملفات تعريف الارتباط، ولكن بالنسبة لصور مثل generated_image
من Gemini، قم بتمرير ملفات تعريف الارتباط. ملفات تعريف الارتباط مطلوبة لتنزيل الصور من مساحة تخزين Google. تحقق من الاستجابة أو استخدم متغير ملفات تعريف الارتباط الموجود.
إرجاع الصور ردا على الجوزاء.
تنزيل غير متزامن
from gemini import Gemini , GeminiImage
cookies = {}
client = Gemini ( cookies = cookies )
response = client . generate_content ( "Give me a picture of Stanford." )
response_images = response . web_images # Check generated images
await GeminiImage . save ( response_images , "output" )
# image_data_dict = await GeminiImage.fetch_images_dict(response_images)
# await GeminiImage.save_images(image_data_dict, "output")
برنامج تنزيل المزامنة
from gemini import Gemini , GeminiImage
cookies = {}
client = Gemini ( cookies = cookies )
response = client . generate_content ( "Give me a picture of Stanford." )
response_images = response . web_images # Check response images
GeminiImage . save_sync ( response_images , save_path = "output" )
# You can use byte type image dict as follow:
# bytes_images_dict = GeminiImage.fetch_bytes_sync(response_images) # Get bytes images dict
# GeminiImage.save_images_sync(bytes_images_dict, save_path="output") # Save to path
غلاف التنزيل غير المتزامن
import asyncio
from gemini import Gemini , GeminiImage
async def save_response_web_imagse ( response_images , save_path = "output" ):
await GeminiImage . save ( response_images , save_path = save_path )
if __name__ == "__main__" :
cookies = {}
client = Gemini ( cookies = cookies )
response = client . generate_content ( "Give me a picture of Stanford." )
response_images = response . web_images
asyncio . run ( save_response_web_imagse ( response_images , save_path = "output" ))
منطق طريقة GeminiImage.save
import asyncio
from gemini import Gemini , GeminiImage
async def save_response_web_imagse ( response_images , save_path = "output" ):
image_data_dict = await GeminiImage . fetch_images_dict ( response_images ) # Get bytes images dict asynchronously
await GeminiImage . save_images ( image_data_dict , save_path = save_path )
# Run the async function
if __name__ == "__main__" :
cookies = {}
client = Gemini ( cookies = cookies )
response = client . generate_content ( "Give me a picture of Stanford." )
response_images = response . web_images
asyncio . run ( save_response_web_imagse ( response_images , save_path = "output" ))
يأخذ صورة كمدخل ويعيد الاستجابة.
image = 'folder/image.jpg'
# image = open('folder/image.jpg', 'rb').read() # (jpg, jpeg, png, webp) are supported.
# Image file path or Byte-formatted image array
response = client . generate_content ( "What does the text in this image say?" , image = image )
print ( response )
للبدء، يجب عليك ربط Google Workspace لتفعيل هذا الامتداد عبر ملحق الويب Gemini. يرجى الرجوع إلى الإشعار الرسمي ومراجعة سياسات الخصوصية لمزيد من التفاصيل.
أعلام الامتداد
@Gmail, @Google Drive, @Google Docs, @Google Maps, @Google Flights, @Google Hotels, @YouTube
response = client . generate_content ( "@YouTube Search clips related with Google Gemini" )
response . response_dict
مساحة عمل جوجل
خرائط جوجل
رحلات جوجل
فنادق جوجل
يوتيوب
يمكنك تحديد استجابة معينة عن طريق تعيين معرف مرشح الاستجابة (RCID) الخاص بها.
# Generate content for the prompt "Give me some information about the USA."
response1 = client . generate_content ( "Give me some information about the USA." )
# After reviewing the responses, choose the one you prefer and copy its RCID.
client . rcid = "rc_xxxx"
# Now, generate content for the next prompt "How long does it take from LA to New York?"
response2 = client . generate_content ( "How long does it take from LA to New York?" )
# However, RCID may not persist. If parsing fails, reset `client.rcid` to None.
# client.rcid = None
في الجوزاء، يُرجع generator_content الاستجابة الأولى. قد يختلف هذا حسب الطول أو الفرز. ولذلك، يمكنك تحديد فهرس الاستجابة المختارة من 0 إلى n على النحو التالي. ومع ذلك، إذا كان هناك استجابة واحدة فقط، قم بإعادتها إلى 0.
from gemini import GeminiModelOutput
GeminiModelOutput . chosen = 1 # default is 0
response_choice_1 = client . generate_content ( "Give me some information about the USA." )
# If not all Gemini returns are necessarily plural, revert back to 0 in case of errors.
# GeminiModelOutput.chosen = 0
تحليل نص الاستجابة لاستخراج القيم المطلوبة.
باستخدام Gemini.generate_custom_content
، حدد التحليل المخصص لاستخراج قيم محددة. استخدم ParseMethod1 وParseMethod2 بشكل افتراضي، ويمكنك تمرير أساليب التحليل المخصصة كوسائط إذا رغبت في ذلك. ارجع إلى custom_parser.py.
# You can create a parser method that takes response_text as the input for custom_parser.
response_text , response_status = client . send_request ( "Give me some information about the USA." )
# Use custom_parser function or class inheriting from BaseParser
response = client . generate_custom_content ( "Give me some information about the USA." , * custom_parser )
Gemini-API/gemini/client.py
السطر 323 في 31b8424
إذا كنت تريد تجنب الطلبات المحظورة والحظر، فاستخدم Smart Proxy by Crawlbase. يقوم بإعادة توجيه طلبات الاتصال الخاصة بك إلى عنوان IP يتم تدويره بشكل عشوائي في مجموعة من الوكلاء قبل الوصول إلى موقع الويب المستهدف. إن الجمع بين الذكاء الاصطناعي والتعلم الآلي يجعله أكثر فعالية لتجنب اختبارات CAPTCHA والحظر. قد يلزم إضافة الوسيطة الموجودة على مستوى طبقة المقابس الآمنة (SSL) إلى الرأس. استخدمه مع verify=False
.
# Get your proxy url at crawlbase https://crawlbase.com/docs/smart-proxy/get/
proxy_url = "http://xxxxx:@smartproxy.crawlbase.com:8012"
proxies = { "http" : proxy_url , "https" : proxy_url }
client = Gemini ( cookies = cookies , proxies = proxies , timeout = 30 , verify = False )
client . session . header [ "crawlbaseAPI-Parameters" ] = "country=US"
client . generate_content ( "Hello, Gemini. Give me a beautiful photo of Seoul's scenery." )
للحالات القياسية، استخدم فئة الجوزاء؛ للاستثناءات، استخدم كائنات الجلسة. عند إنشاء خادم بوت Gemini جديد، قم بضبط Headers.MAIN.
import requests
from gemini import Gemini , Headers
cookies = {}
session = requests . Session ()
session . headers = Headers . MAIN
for key , value in cookies . items ():
session . cookies . update ({ key : value })
client = Gemini ( session = session ) # You can use various args
response = client . generate_content ( "Hello, Gemini. Tell me about Large Language Model." )
اكتشف الميزات الإضافية في هذا المستند.
إذا كنت ترغب في تطوير التعليمات البرمجية البسيطة الخاصة بك، فيمكنك البدء من مثال التعليمات البرمجية البسيط هذا.
قم بإعداد العناصر الضرورية واحصل على مفتاح API في Google AI Studio. قم بالتثبيت على Python 3.9 أو أعلى وأدخل مفتاح API الصادر. الرجوع إلى البرنامج التعليمي للحصول على التفاصيل.
pip install -q -U google-generativeai
import google . generativeai as genai
GOOGLE_API_KEY = ""
genai . configure ( api_key = GOOGLE_API_KEY )
model = genai . GenerativeModel ( 'gemini-pro' )
response = model . generate_content ( "Write me a poem about Machine Learning." )
print ( response . text )
إذا كانت لديك موارد GPU كافية، فيمكنك تنزيل الأوزان مباشرة بدلاً من استخدام Gemini API لإنشاء المحتوى. خذ بعين الاعتبار Gemma وCode Gemma، وهما نموذجان مفتوحان المصدر متاحان للاستخدام المحلي .
نماذج Gemma هي نماذج لغة Google خفيفة الوزن ومتقدمة لتحويل النص إلى نص ووحدة فك التشفير فقط، وهي مستمدة من أبحاث Gemini. وهي متوفرة باللغة الإنجليزية، وتوفر أوزانًا ومتغيرات مفتوحة، وهي مثالية لمهام مثل الإجابة على الأسئلة والتلخيص. لمزيد من المعلومات، قم بزيارة بطاقة نموذج Gemma-7b.
from transformers import AutoTokenizer , AutoModelForCausalLM
tokenizer = AutoTokenizer . from_pretrained ( "google/gemma-7b" )
model = AutoModelForCausalLM . from_pretrained ( "google/gemma-7b" )
input_text = "Write me a poem about Machine Learning."
input_ids = tokenizer ( input_text , return_tensors = "pt" )
outputs = model . generate ( ** input_ids )
print ( tokenizer . decode ( outputs [ 0 ]))
تم إصدار CodeGemma، وهو إصدار رسمي من Google لـ Code LLMs، في 9 أبريل 2024. وهو يوفر ثلاثة نماذج مصممة خصيصًا لإنشاء التعليمات البرمجية والتفاعل معها. يمكنك استكشاف نماذج Code Gemma وعرض بطاقة النموذج لمزيد من التفاصيل.
from transformers import GemmaTokenizer , AutoModelForCausalLM
tokenizer = GemmaTokenizer . from_pretrained ( "google/codegemma-7b-it" )
model = AutoModelForCausalLM . from_pretrained ( "google/codegemma-7b-it" )
input_text = "Write me a Python function to calculate the nth fibonacci number."
input_ids = tokenizer ( input_text , return_tensors = "pt" )
outputs = model . generate ( ** input_ids )
print ( tokenizer . decode ( outputs [ 0 ]))
يوفر OpenRouter استدلالًا مجانيًا مؤقتًا لطرز محددة. احصل على مفتاح API من Open Router API وتحقق من النماذج المجانية في نماذج Open Router. استخدم النماذج بتكلفة رمزية بقيمة 0 دولار في المقام الأول؛ قد تتحمل النماذج الأخرى رسومًا. شاهد المزيد على دليل LLM API المجاني مفتوح المصدر.
يتم تفضيل عميل المزامنة على غير المتزامن لـ Gemini بسبب مشكلات تقييد المعدل والحظر ، لكن OpenRouter يقدم LLMs موثوقة مفتوحة المصدر للتنفيذ غير المتزامن. (الحد المجاني: 10 طلبات/الدقيقة)
from gemini import OpenRouter
OPENROUTER_API_KEY = ""
gemma_client = OpenRouter ( api_key = OPENROUTER_API_KEY , model = "google/gemma-7b-it:free" )
prompt = "Do you know UCA academy in Korea? https://blog.naver.com/ulsancoding"
response = gemma_client . create_chat_completion ( prompt )
print ( response )
# payload = gemma_client.generate_content(prompt)
# print(payload.json())
تتضمن قائمة النماذج المجانية ما يلي:
google/gemma-7b-it:free
- google/gemma-7b من Google ***mistralai/mistral-7b-instruct:free
- mistralai/Mistral-7B-Instruct-v0.1 للحصول على تعليمات من Mistral AI ****huggingfaceh4/zephyr-7b-beta:free
- HuggingFaceH4/zephyr-7b-beta ***openchat/openchat-7b:free
- openchat/openchat للدردشة **openrouter/cinematika-7b:free
- jondurbin/cinematika-7b-v0.1undi95/toppy-m-7b:free
- Undi95/Toppy-M-7Bgryphe/mythomist-7b:free
- جريفي/ميثوميست-7بnousresearch/nous-capybara-7b:free
- NousResearch/Nous-Capybara-7B-V1 من أبحاث Nous استخدم Crawlbase API لتجميع البيانات بشكل فعال لتدريب نماذج الذكاء الاصطناعي، مع معدل نجاح يصل إلى 98% ووقت تشغيل يصل إلى 99.9%. إنه سريع البدء، ومتوافق مع القانون العام لحماية البيانات/CCPA، ويدعم استخراج البيانات بكميات كبيرة، ويحظى بثقة أكثر من 70 ألف مطور.
قم أولاً بمراجعة HanaokaYuzu/Gemini-API وواجهة برمجة تطبيقات Google Gemini الرسمية قبل استخدام هذه الحزمة. يمكنك العثور على معظم المساعدة على صفحات الأسئلة الشائعة والمشاكل.
ممتن للغاية لأية تقارير عن الميزات الجديدة أو الأخطاء. تعليقاتك القيمة على الكود محل تقدير كبير. قد تحدث أخطاء متكررة بسبب التغييرات في واجهة API لخدمة Google. نرحب دائمًا بكل من تقارير المشكلات وطلبات السحب التي تساهم في التحسينات. نحن نسعى جاهدين للحفاظ على مجتمع مفتوح نشط ومهذب.
احفر البئر قبل أن تعطش.
ونود أن نعرب عن خالص امتناننا لجميع المساهمين.
تهدف هذه الحزمة إلى إعادة تنفيذ وظيفة Bard API، والتي تم أرشفتها لمساهمات مجتمع المصادر المفتوحة المحبوب، على الرغم من توفر واجهة برمجة التطبيقات الرسمية لـ Gemini بالفعل.
المساهمون في Bard API وGemini API.
يلزم إجراء تعديلات على العميل غير المتزامن باستخدام المنطق الخاص بي، إلى جانب جمع ملفات تعريف الارتباط تلقائيًا عبر browser_cookie3 وتنفيذ ميزات Bard API الأخرى (مثل استخراج التعليمات البرمجية والتصدير إلى Replit ورسم الرسم البياني وما إلى ذلك).
يرجى ملاحظة أنه أثناء مراجعة جمع ملفات تعريف الارتباط التلقائي، يبدو أن ملفات تعريف الارتباط تنتهي صلاحيتها فور إرسال طلب التجميع. ولم تنجح الجهود المبذولة لجعله أكثر سهولة في الاستخدام. كما يبدو أن قيمة _sid تعمل بشكل طبيعي حتى عند إرجاعها بلا شيء.
وأخيرًا، إذا لم تعمل خوارزميات CustomParser وResponseParser بشكل صحيح، فيمكن تحديث طرق التحليل الجديدة من خلال البيانات الشرطية في الأقسام ذات الصلة.
لا أخطط لرعاية هذا المستودع بشكل فعال. يرجى مراجعة HanaokaYuzu/Gemini-API أولاً.
شكرا لك، وأتمنى لك يوما عظيما.
ترخيص معهد ماساتشوستس للتكنولوجيا (MIT)، 2024. نحن بموجب هذا ننكر بشدة أي مسؤولية قانونية صريحة أو ضمنية تتعلق بأعمالنا. يتعين على المستخدمين استخدام هذه الحزمة بطريقة مسؤولة وعلى مسؤوليتهم الخاصة. هذا المشروع هو مبادرة شخصية وليس تابعًا لشركة Google أو معتمدًا منها. يوصى باستخدام واجهة برمجة التطبيقات الرسمية لـ Google.
تحذير يتحمل المستخدمون المسؤولية القانونية الكاملة عن GeminiAPI. غير معتمدة من قبل جوجل. الاستخدام المفرط قد يؤدي إلى قيود الحساب. قد تؤثر التغييرات في السياسات أو حالة الحساب على الأداء الوظيفي. الاستفادة من صفحات القضايا والمناقشة.
بايثون 3.7 أو أعلى.