在这个时代,烹饪不仅仅是一种生存技能,更是一种生活的艺术。随着科技的发展,有幸迎来了双子座AI,一个能够让在厨房中体验到前所未有的便捷和乐趣的智能助手。通过简单的拍照,双子座AI能够识别手头的食材,并为推荐个性化的食谱,让烹饪之旅变得更加轻松愉快。
学习目标
本篇文章旨在帮助理解双子座AI如何分析食材并提供个性化食谱。将学习如何使用双子座AI,包括拍摄食材照片和操作界面。同时,还将学习如何根据各种饮食需求调整食谱,确保烹饪的包容性。通过评估和修改食谱建议,将锻炼自己的批判性思维和解决问题的能力。
什么是双子座AI?
想象一下,拥有一个虚拟的副厨,它能够理解食材,并为量身定制食谱。双子座AI就像厨房里的一个虚拟厨师,它能够理解食材,并为提供专属的食谱。无需复杂的技术术语,只需简单愉快的烹饪体验。
快速开始
开始使用双子座AI就像遵循食谱一样简单。不需要任何技术魔法。就像下载最喜欢的烹饪应用一样——快速且无烦恼。以下是逐步指导:
                !pip install -U -q google-generativeai
                # 安装客户端库并导入必要的模块。
                import google.generativeai as genai
                import base64
                import io
                import json
                import mimetypes
                import pathlib
                import pprint
                import requests
                import PIL.Image
                import IPython.display
                from IPython.display import Markdown
            
                genai.configure(api_key=API_KEY)
                for content in contents:
                  for n, part in enumerate(content['parts']):
                    if image:=part.get('image', None):
                      if drive_id:=image.get('drive_id', None):
                        path = next(pathlib.Path(f'/gdrive/.shortcut-targets-by-id/{drive_id}').glob('*'))
                        data = path.read_bytes()
                        mime_type, _ = mimetypes.guess_type(path)
                      elif image_url:=image.get('image_url', None):
                        response = requests.get(image_url)
                        data = response.content
                        mime_type = response.headers['content-type']
                      else:
                        raise ValueError('Either drive_id or image_url must be provided.')
                      if mime_type is None:
                        # Guess!
                        mime_type = 'image/png'
                      blob = {'data': data, 'mime_type': mime_type}
                      content['parts'][n] = {'inline_data': blob}
                import IPython.display
                import PIL.Image
                import io
                for content in contents:
                    for part in content['parts']:
                        if text := part.get('text', None):
                            print(text)
                        elif data := part.get('inline_data', None):
                            img = PIL.Image.open(io.BytesIO(data['data']))
                            img.thumbnail([512,512])
                            IPython.display.display(img)
                print('_'*80)