Tag: AI

  • ChatGPT的联网搜索功能闪亮回归:智能助手的新篇章

    ChatGPT的联网搜索功能闪亮回归:智能助手的新篇章

    有一天,我在编写一个项目时,突然想起了一个问题,但我却一时想不起来某个特定函数的使用方法。于是,我迅速唤起了我的智能助手ChatGPT。它以前的版本需要我自己去网络上搜索答案,但现在的它却有了联网搜索功能。我只需要简单地问它一个问题,它就能为我找到答案。这简直像是我脑海中闪现的灵感,让我感受到了科技的力量。

    新功能的推出

    ChatGPT在一段时间前丧失了联网搜索功能,这对于依赖它来获取信息的用户来说,无疑是一个沉重的打击。但现在,这项功能强势回归,给用户带来了前所未有的便利。通过联网搜索功能,ChatGPT可以在互联网上为我们找到准确的信息,解决我们的疑惑。

    快速而准确

    以往如果我们在使用ChatGPT时遇到不清楚的地方,可能需要花费额外的时间在网络上搜索。但现在,ChatGPT的联网搜索功能使得获取信息变得快速而准确。它可以在短时间内为我们提供精准的答案,节省了我们宝贵的时间。

    丰富的信息源

    ChatGPT的联网搜索不仅仅是一个简单的搜索功能,它通过检索海量的网络数据,为我们提供了丰富多彩的信息源。无论是新闻、学术还是技术问题,ChatGPT都能为我们找到满意的答案。

    更为强大的智能助手

    有了联网搜索功能的加持,ChatGPT不仅仅是一个简单的文本生成工具,它变成了一个更为强大的智能助手。它可以帮助我们解决实际问题,提供更为精准的信息,让我们的工作和学习变得更为轻松。

    问题解决变得简单

    遇到问题不再需要花费大量时间在网络上搜索答案。现在,我们只需要简单地向ChatGPT提问,它就能为我们找到解决方法。这让问题解决变得更为简单,也让我们的生活变得更为美好。

    效率的极大提高

    ChatGPT的联网搜索功能不仅为我们节省了时间,也极大地提高了我们的效率。我们可以更快地完成任务,更快地获取信息,让我们在快节奏的生活中也能轻松应对。

    结语

    ChatGPT的联网搜索功能的回归,不仅仅是一个简单的功能更新,它代表了智能助手的进一步升级。它使得我们的生活变得更为便利,也让我们感受到了科技的魅力。在未来,我们有理由期待ChatGPT会带来更多令人兴奋的功能。

  • 掌握这些工具,英语语法分析无往不利!

    掌握这些工具,英语语法分析无往不利!

    记得有一次,我需要给外国合作伙伴写一封重要的邮件。我信心满满地认为我的英语水平绝对能应付这样的挑战。结果呢?邮件发出去不到10分钟,就收到了回复:他们表示“有些句子看不太懂。”当时的我就像被泼了一盆冷水,彻底陷入了自我怀疑。

    那一刻,我意识到仅仅掌握单词和句型是远远不够的,一个人的英语能力还需要在语法的高墙上经受考验。这让我开始探索各种英语语法分析工具,希望能找到一个既准确又易用的帮手。

    如果你和我有着同样的困扰,那今天就是你翻身的日子!下面,我将为你一一介绍几个值得信赖的英语语法分析工具。

    简单易用:Grammarly

    • 为什么选择它?
      Grammarly 不仅是一个拼写检查工具,它还能做到词性标注、句型分析等。尤其是它的实时建议功能,非常适合写作新手。

    • 使用场景
      你可以将它添加为浏览器扩展,这样在写邮件或社交媒体更新时,Grammarly 会自动给出修改建议。

    社区推崇:ChatGPT

    • 为什么选择它?
      很多人认为 ChatGPT 在处理语法方面比 Grammarly 强。确实,作为一个训练有素的语言模型,ChatGPT 能在更多方面给出专业的语法建议。

    • 使用场景
      除了可以用作单纯的文本编辑器外,ChatGPT 还可以集成到你自己的项目中,提供更加个性化的语法分析服务。

    网页版利器:Enpuz

    • 为什么选择它?
      Enpuz 是一个专门的在线英语句子语法分析工具。不需要安装,直接在网页上就能使用。

    • 使用场景
      对于不常用英语但偶尔需要进行语法检查的人来说,这是一个非常方便的选择。

    应用推荐:百度翻译和句解霸

    • 为什么选择它们?
      除了基础的翻译功能,这两款应用还具有简单的语法分析能力。

    • 使用场景
      如果你只是偶尔需要进行简单的语法检查,那么这两款应用都是很好的选择。

    小结

    选对工具,英语学习就能事半功倍。每个人的需求都是不同的,因此我建议你根据自己的实际情况来选择最适合你的英语语法分析工具。

  • Google 25周年庆典:从大学生宿舍到全球搜索巨头

    Google 25周年庆典:从大学生宿舍到全球搜索巨头

    嗨,大家好!今天,我们要一起庆祝一个互联网巨头的生日,一个让我们找到各种答案、解决各种问题的不可或缺的存在。是的,就是Google!在这里,我们将回顾Google成长的关键时刻,从两名大学生在宿舍内搭建搜索引擎开始,到如今的全球搜索巨头,以及他们未来的探索,让我们一起来看看。

    开篇故事:两位大学生的宿舍梦想

    故事要从1998年说起,那一年,两名斯坦福大学的学生,拉里・佩奇(Larry Page)和谢尔盖・布林(Sergey Mikhaylovich Brin)在他们的宿舍里搭建了一个名叫”BackRub”的搜索引擎。这个小小的开始,标志着一场关于信息获取的革命的开始。

    Larry Page 和 Sergey Brin

    从”BackRub”到Google:重要的改名

    最初,这个搜索引擎并不叫Google,而是”BackRub”。直到1998年,他们决定更名为Google。这个名字的灵感来自于数学词汇”googol”,表示1后面跟着100个零,强调了搜索引擎的强大搜索能力。

    成为雅虎的默认搜索引擎

    Google在2000年迈出了重要的一步,成为当时最热门的门户网站雅虎的默认搜索引擎。这一合作使得Google的知名度迅速提升,开始走向全球。

    Gmail、Google Map、和安卓系统的推出

    2004年,Google推出了Gmail,这一免费电子邮件服务在全球迅速普及,改变了人们的电子邮件使用习惯。紧接着,2005年,Google Map和安卓手机系统相继上线,进一步巩固了Google在用户生活中的地位。

    YouTube的并购

    2006年,Google收购了视频分享平台YouTube。这一举动不仅丰富了Google的服务生态系统,也让他们成为了在线视频领域的领导者之一。

    不断升级的搜索体验

    Google一直致力于提升用户的搜索体验。从2010年开始,他们逐渐增加了图像搜索、视频搜索等多种搜索选项,使得用户可以更轻松地找到他们需要的信息。然而,也值得一提的是,自2010年以来,Google在中国大陆市场全面退出,但他们的全球影响力依然持续扩大。

    跨足智能手机领域

    Google的触角不仅限于网络搜索,2008年,他们推出了第一款安卓手机——HTC Dream。这标志着Google开始进军智能手机领域,为移动设备用户提供更多便捷的服务。

    Alphabet的成立和新兴领域的探索

    2015年,Google的母公司Alphabet成立,为Google公司提供了更多的发展方向。他们开始涉足无人自动驾驶、人工智能(AI)等全新领域。在2020年,Google公司市值达到了1兆美元,成为全球市值最高的科技公司之一。

    未来展望:结合人工智能的Google

    尽管Google的创始人已经退居幕后多年,但他们打造的搜索引擎仍在不断发展。下一步,Google计划结合人工智能,为用户提供更全面、创新的使用体验。这将进一步改变我们在互联网上搜索和获取信息的方式。

    Google 25周年庆典上线!这个搜索引擎已经不仅仅是一个工具,而是一个不可或缺的生活伙伴,帮助我们解决问题、找到答案,同时也推动了互联网的发展。无论是过去还是未来,Google都将继续引领我们走向数字化世界的未来。

    这就是Google的25年历程,从大学生宿舍到全球搜索巨头,一路走来,Google不仅改变了我们的生活,还改变了整个世界的行为方式。我们期待着看到Google未来的探索和创新,为我们带来更多惊喜!

    希望你们喜欢这篇文章,如果有任何关于Google或其他话题的问题,请随时向我提问。感谢你们一直支持我的博客!

  • 微软:用小型核反应堆助力AI未来

    微软:用小型核反应堆助力AI未来

    你是否曾经想过,人工智能(AI)究竟会在未来的科技世界中扮演怎样的角色?或许你已经体验过AI带来的便利,比如智能语音助手、自动驾驶汽车或智能推荐系统。然而,AI的发展也伴随着一个巨大的挑战:能源需求。

    据估计,到了2030年,AI将消耗全球电力供应的50%。这是一个庞大的数字,也是一个巨大的挑战。那么,为了解决这个问题,微软公司提出了一个令人振奋的解决方案:小型核反应堆。

    小型核反应堆:AI能源的未来

    你可能会问,什么是小型核反应堆(SMR)?它是一种相对较小、更简单的核裂变工厂,可以大规模生产,并且比传统核反应堆更容易选址。虽然目前还没有商业化的小型反应堆投入使用,但由于其有望提供无限清洁能源,许多风险投资支持的初创公司正致力于将其变为现实。

    微软高层对AI未来充满信心和期待,认为AI将给人类带来巨大的机遇和价值。同时,他们也意识到AI可能带来的风险和挑战,如数据隐私、算法偏见、道德伦理等。因此,他们主张以负责任的方式推动AI创新和社会进步,遵循一系列原则,包括公平性、可靠性与安全性、隐私与安全性、包容性、透明度和可问责性。

    微软不仅在自身的AI产品和服务中实施了严格的标准和流程,还与政府、学术界、行业和社会组织等多方合作,共同制定和推动AI的全球治理和伦理规范。微软还积极参与和支持AI的教育和普及,帮助更多的人获得AI的知识和技能,提升AI的可及性和可用性。

    微软的AI愿景

    微软公司是全球最大的软件公司,也是云计算、人工智能、物联网等领域的领导者。微软的愿景是“赋能每个人和每个组织在地球上实现更多”。为了实现这一愿景,微软将AI作为其业务发展的引擎,打造智能云和智能边缘的平台。

    智能云利用云计算、大数据、机器学习等技术,为客户提供高效、可扩展、安全、可信的服务和解决方案。而智能边缘则利用物联网、边缘计算、人机交互等技术,将智能推送到设备和用户最近的地方,实现实时、个性化、自适应的体验。

    微软在AI领域拥有强大的研发实力和丰富的产品线。微软拥有全球最大的研究院之一,拥有超过1000名顶尖的AI研究人员,在自然语言处理、计算机视觉、语音识别、机器学习等方面取得了重要突破。微软还与OpenAI等合作伙伴建立了深度合作关系,共同开发和推广大规模AI模型,如GPT-3等。此外,微软还提供了一系列的AI服务和工具,如Azure AI服务、Azure OpenAI服务、GitHub Copilot、Microsoft Sales Copilot等,帮助开发者和企业快速构建和部署智能应用。

    微软的AI未来

    这些举措表明,微软对AI未来有着长期的承诺和投入。微软预计其AI业务年收入将达到100亿美元,并将继续加大对AI领域的研发、人才、合作、社会责任等方面的投入。微软认为,AI是推动数字化转型、提升生产效率、创造社会价值、解决全球挑战的关键技术,也是微软实现其愿景和使命的重要手段。

    微软与AI业务结合的想象力在于它可以帮助客户实现智能化转型,提升竞争力和创新力。以Azure AI服务为例,它是一套全面的AI解决方案,涵盖了从数据处理、模型训练、应用部署、性能监控等各个环节的服务。Azure AI服务已经被广泛应用于各个行业和领域,帮助客户解决各种实际问题,创造商业和社会价值。

    微软用小型核反应堆为AI业务提供能源,展现了其对AI未来的远见和雄心。微软希望通过AI,为人类带来更多的机遇和价值,也为自己赢得更多的市场和声誉。

    结语

    在AI领域,微软展现了其对未来的远见和雄心。小型核反应堆为AI业务提供了稳定、清洁、可再生的能源,为AI的持续发展提供了有力支持。微软坚信,AI将成为推动社会进步和创新的关键技术,也将继续致力于推动AI的发展,以实现其愿景:“赋能每个人和每个组织在地球上实现更多”。

    希望通过本文,你对微软在AI领域的愿景和承诺有了更深入的了解。AI的未来充满可能性,而微软正是其中的重要推动者之一。

  • 如何在小红书上下载无水印的图片

    如何在小红书上下载无水印的图片

    嗨,大家好!今天我要和你分享一个有趣的技巧——如何在小红书上下载无水印的图片。你知道吗?小红书上有很多精彩的图片,但有时候我们想要保存它们却不知道该怎么办。别担心,我将向你展示一种简单的方法,让你轻松下载这些美丽的图片,而且不会留下任何水印。接下来,让我们一起来探索这个技巧吧!

    步骤 1:发起网络请求

    首先,我们需要发起网络请求,获取小红书上的网页源码。为了做到这一点,我们需要使用Python编程语言以及一些库来帮助我们完成这个任务。以下是一个简单的Python函数,用于发起网络请求:

    import requests
    
    def fetchUrl(url):
        headers = {
            'User-Agent': '你的浏览器User-Agent',
        }
        r = requests.get(url, headers=headers)
        return r.text

    这个函数允许我们向指定的URL发起请求并返回网页源码。

    步骤 2:解析网页源码

    一旦我们获得了网页源码,下一步就是解析它,以便提取无水印图片的URL。我们可以使用BeautifulSoup库来处理HTML文本。以下是解析链接的代码:

    from bs4 import BeautifulSoup
    
    def parsing_link(html):
        soup = BeautifulSoup(html, 'html.parser')
        script = soup.find('script', string=re.compile('window\.__INITIAL_STATE__'))
    
        # 处理字符串json数据不合理的地方
        # 转换成json数据
        # 获取对应字段
        # 提取图片
        # 调用生成以title为名的文件夹, 可自定义要保存的路径
        # 提取图片
        for i in imageList:
            picUrl = f"https://sns-img-qc.xhscdn.com/{i['traceId']}"
            yield picUrl, i['traceId'], title

    这段代码解析了HTML源码,提取了无水印图片的URL以及图片的标题。

    步骤 3:下载图片

    现在,我们已经获得了无水印图片的URL,下一步就是下载它们。以下是下载图片的代码:

    def download(url, filename, folder):
        headers = {
            'User-Agent': '你的浏览器User-Agent',
        }
        try:
            r = requests.get(url, headers=headers)
            # 获取图片格式
            content_type = r.headers.get('Content-Type')
            image_format = content_type.split('/')[-1]
    
            # 如果 image_format 不是图片格式的后缀,则将其更改为 jpeg
            if image_format not in ['jpeg', 'png', 'gif', 'bmp']:
                image_format = 'jpeg'
    
            # 根据检测到的格式保存文件
            with open(f'image/{folder}/{filename}.{image_format}', 'wb') as v:
                v.write(r.content)
        except Exception as e:
            print('图片下载错误!')

    这个函数将从给定的URL下载图片,并根据检测到的格式保存文件。

    步骤 4:修正文件夹命名

    为了确保文件夹的命名合法,我们可以使用以下代码:

    def sanitize_folder_name(name: str) -> str:
        # 替换非法字符
        name = re.sub(r'[<>:"/\\|?*]', '_', name)
        # 删除首尾空格
        name = name.strip()
        # 截断过长的名称
        if len(name) > 255:
            name = name[:255]
        return name

    这个函数将文件夹名称中的非法字符替换为下划线,并确保名称长度不超过255个字符。

    结语

    通过以上步骤,你现在已经知道如何在小红书上下载无水印的图片了!这个技巧可以帮助你保存你喜欢的图片,而且不会留下任何水印。希望这个教程对你有所帮助!

    如果你有任何问题或意见,请随时在下方留言,我将尽力回答。谢谢你的阅读!

  • CivitAI模型分类及推荐指南

    CivitAI模型分类及推荐指南

    嗨,大家好,我是王大神。今天我要和你聊聊一个令人兴奋的话题——CivitAI模型分类和推荐指南。如果你也像我一样对人工智能和图像生成技术充满兴趣,那么你来对地方了。让我们一起深入了解CivitAI的不同模型类型以及如何选择最适合你的模型,让你的图像生成体验更上一层楼。

    CivitAI模型分类

    CivitAI的模型可以分为四大类,分别是Checkpoint、LoRA、Textual Inversion和Hypernetwork。这四类模型采用不同的训练方式,各有各的特点。

    1. Checkpoint

    Checkpoint模型是通过Dreambooth训练方式得到的大模型。它的最大特点是出图效果出色,图像质量高,细节丰富。但由于训练的是一个全新的模型,所以训练速度相对较慢,而且生成的模型文件相对较大,通常需要几个G的存储空间。这些模型的文件格式通常为safetensors或ckpt。

    2. LoRA

    LoRA模型是一种轻量化的模型微调训练方法。它是在原有大模型的基础上,对模型进行微调,用于输出具有固定特征的人或事物。LoRA模型的出图效果也很好,尤其擅长捕捉特定风格的特征。与Checkpoint不同,LoRA模型的训练速度较快,生成的模型文件相对较小,通常在几十到一百多MB之间。它需要搭配大模型一起使用。

    3. Textual Inversion

    Textual Inversion模型是一种使用文本提示来训练模型的方法。它可以简单理解为一组打包的提示词,用于生成具有固定特征的人或事物。Textual Inversion模型同样擅长捕捉特定风格特征,而且生成的模型文件非常小,通常只有几十KB。然而,训练速度较慢,需要搭配大模型使用。

    4. Hypernetwork

    Hypernetwork模型类似于LoRA,但模型效果不如LoRA。它需要与大模型一起使用,并且通常不是首选的模型类型。

    模型推荐

    在CivitAI上,模型的推荐顺序通常是:Checkpoint > LoRA > Textual Inversion > Hypernetwork。这个推荐顺序是根据模型的训练方式和出图效果来确定的。如果你追求高质量的图像生成,Checkpoint模型是首选。如果你需要更快的训练速度和相对小的模型文件,可以考虑使用LoRA或Textual Inversion模型。

    通常情况下,Checkpoint模型可以与LoRA或Textual Inversion模型搭配使用,以获得更好的出图效果。这种组合可以在保持高质量的同时,提高效率。

    补充:VAE模型

    除了上述四类模型之外,还有一类VAE模型。简单来说,VAE模型的作用是提升图像的色彩效果,让画面看起来更加生动和鲜艳,不再灰蒙蒙。此外,它还可以对图像细节进行微调,让图像更加精致。

    结语

    在CivitAI上,选择合适的模型对于图像生成至关重要。根据你的需求和喜好,你可以从Checkpoint、LoRA、Textual Inversion和Hypernetwork中选择一个最适合你的模型。如果你追求高质量和多样性,不妨尝试不同类型的模型,以发掘更多可能性。

    无论你是刚刚踏入图像生成的世界,还是已经是一位经验丰富的探索者,CivitAI的模型都能为你提供强大的工具,让你的创作更上一层楼。

  • 如何使用Gradio构建机器学习Web应用

    如何使用Gradio构建机器学习Web应用

    你好,亲爱的读者们!今天,我将向你们介绍一个强大的Python库,它可以让你在几分钟内构建出令人印象深刻的机器学习Web应用。无需深厚的编程知识,Gradio将成为你的得力助手,助你将机器学习模型和数据科学工作流变成令人愉悦的应用程序。

    开篇故事

    你是否曾经想要将你的机器学习模型展示给他人,但却发现这个过程充满了繁琐的工作和技术挑战?或者你是否希望快速部署你的模型,并让用户通过浏览器与之互动?如果是的话,那么Gradio正是你需要的工具。

    什么是Gradio?

    Gradio是一个开源的Python库,用于构建机器学习和数据科学演示和Web应用程序。通过Gradio,你可以快速创建一个漂亮的用户界面,围绕你的机器学习模型或数据科学工作流,并允许人们通过浏览器拖放他们自己的图像、粘贴文本、录制自己的声音,并与你的演示互动。

    Gradio的用途广泛,包括:

    • 演示 你的机器学习模型,供客户、合作伙伴、用户或学生使用。
    • 快速部署 模型,生成可分享的链接,并获得模型性能的反馈。
    • 在开发过程中交互式地调试 你的模型,使用内置的操作和解释工具。

    快速入门

    先决条件:Gradio需要Python 3.8或更高版本,仅此而已!

    Gradio的功能

    与他人分享你的机器学习模型、API或数据科学工作流的最佳方式之一是创建一个允许用户或同事在其浏览器中尝试演示的交互式应用程序。

    Gradio允许你在Python中构建演示并分享它们,通常只需几行代码!那么,让我们开始吧。

    Hello,世界

    要使用一个简单的“Hello,World”示例运行Gradio,请按照以下三个步骤进行操作:

    1. 使用pip安装Gradio:

    pip install gradio

    2. 将以下代码保存为Python脚本并运行,或在Jupyter Notebook(或Google Colab)中运行:

    import gradio as gr
    
    def greet(name):
        return "Hello " + name + "!"
    
    demo = gr.Interface(fn=greet, inputs="text", outputs="text")
    
    demo.launch()

    我们将导入的名称缩短为gr,以提高Gradio代码的可读性。这是一种被广泛采用的约定,你应该遵循,以便任何与你的代码一起工作的人都能轻松理解。

    3. 在Jupyter Notebook中,演示将自动显示,或者如果在脚本中运行,则会在浏览器中弹出,并在http://localhost:7860上运行:

    在本地开发时,如果希望将代码作为Python脚本运行,可以使用Gradio CLI以重新加载模式启动应用程序,这将提供无缝快速的开发。了解有关重新加载的更多信息,请参阅自动重新加载指南。

    gradio app.py

    注意:也可以使用python app.py,但它不会提供自动重新加载机制。

    Interface 类

    你会注意到,为了创建演示,我们创建了一个gr.Interface。这个Interface类可以将用户界面包装在任何Python函数周围。在上面的示例中,我们看到了一个简单的基于文本的函数,但该函数可以是任何东西,从音乐生成器到税收计算器再到预训练机器学习模型的预测函数。

    核心的Interface类初始化时需要三个必需参数:

    • fn:要在其周围包装UI的函数
    • inputs:用于输入的组件(例如 "text"、"image" 或 "audio")
    • outputs:用于输出的组件(例如 "text"、"image" 或 "label")

    让我们更详细地看看这些用于提供输入和输出的组件。

    组件属性

    我们在前面的示例中看到了一些简单的Textbox组件,但如果你想更改UI组件的外观或行为,该怎么办?

    假设你想要自定义输入文本字段 – 例如,你希望它更大,并且有一个文本占位符。如果我们使用Textbox的实际类而不是使用字符串快捷方式,你可以通过组件属性获得更多的自定义能力。

    import gradio as gr
    
    def greet(name
    
    ):
        return "Hello " + name + "!"
    
    demo = gr.Interface(
        fn=greet,
        inputs=gr.Textbox(lines=2, placeholder="在这里输入姓名..."),
        outputs="text",
    )
    demo.launch()

    多个输入和输出组件

    假设你有一个更复杂的函数,带有多个输入和输出。在下面的示例中,我们定义了一个函数,该函数接受一个字符串、一个布尔值和一个数字,并返回一个字符串和一个数字。请看如何传递输入和输出组件的列表。

    import gradio as gr
    
    def greet(name, is_morning, temperature):
        salutation = "早上好" if is_morning else "晚上好"
        greeting = f"{salutation} {name}。今天气温是{temperature}度"
        celsius = (temperature - 32) * 5 / 9
        return greeting, round(celsius, 2)
    
    demo = gr.Interface(
        fn=greet,
        inputs=["text", "checkbox", gr.Slider(0, 100)],
        outputs=["text", "number"],
    )
    demo.launch()

    你只需将组件包装在列表中。inputs列表中的每个组件与函数的参数对应,按顺序排列。outputs列表中的每个组件与函数返回的值对应,同样也按顺序排列。

    图像示例

    Gradio支持许多类型的组件,例如 Image、DataFrame、Video 或 Label。让我们尝试一个图像到图像的函数,以了解这些组件的感觉!

    import numpy as np
    import gradio as gr
    
    def sepia(input_img):
        sepia_filter = np.array([
            [0.393, 0.769, 0.189], 
            [0.349, 0.686, 0.168], 
            [0.272, 0.534, 0.131]
        ])
        sepia_img = input_img.dot(sepia_filter.T)
        sepia_img /= sepia_img.max()
        return sepia_img
    
    demo = gr.Interface(sepia, gr.Image(shape=(200, 200)), "image")
    demo.launch()

    当使用Image组件作为输入时,你的函数将收到一个形状为(height, width, 3)的NumPy数组,其中最后一个维度表示RGB值。我们也会返回一个图像,以NumPy数组的形式。

    你还可以使用type=关键字参数设置组件使用的数据类型。例如,如果你希望你的函数接受图像文件的文件路径而不是NumPy数组,那么输入的Image组件可以这样写:

    gr.Image(type="filepath", shape=...)

    还要注意,我们的输入Image组件附带了一个编辑按钮,允许裁剪和缩放图像。通过这种方式操作图像可以帮助揭示机器学习模型中的偏见或隐藏缺陷!

    你可以在Gradio文档中阅读更多关于许多组件以及如何使用它们的信息。

    聊天机器人

    Gradio包括一个高级类gr.ChatInterface,它类似于gr.Interface,但专门设计用于聊天机器人的UI。gr.ChatInterface类也包装一个函数,但这个函数必须具有特定的签名。函数应该接受两个参数:message和history(参数名可以是任何名字,但必须按照这个顺序)

    • message:表示用户输入的str
    • history:表示到目前为止的会话的list的list。每个内部列表包含两个str,表示一对:[用户输入,机器人回复]。

    除此之外,gr.ChatInterface没有必需的参数(尽管有几个用于自定义UI的参数可用)。

    以下是一个玩具示例:

    import random
    import gradio as gr
    
    def random_response(message, history):
        return random.choice(["是的", "不是"])
    
    demo = gr.ChatInterface(random_response)
    
    demo.launch()

    你可以在这里阅读更多关于gr.ChatInterface的信息。

    Blocks:更灵活和可控

    Gradio提供了两种构建应用程序的方法:

    1. Interface 和 ChatInterface,为创建演示提供了高级抽象,这是我们到目前为止讨论的内容。

    2. Blocks,这是一种低级API,用于设计具有更灵活布局和数据流的Web应用程序。Blocks允许你做一些事情,比如展示多个数据流和演示、控制组件出现在页面的位置、处理复杂的数据流(例如,输出可以作为其他函数的输入),以及根据用户交互更新组件的属性/可见性 – 仍然都是在Python中。如果你需要这种自定义能力,可以尝试使用Blocks!

    Hello,Blocks

    让我们看一个简单示例。请注意,此处的API与Interface不同。

    import gradio as gr
    
    def greet(name):
        return "Hello " + name + "!"
    
    with gr.Blocks() as demo:
        name = gr.Textbox(label="姓名")
        output = gr.Textbox(label="输出框")
        greet_btn = gr.Button("问候")
        greet_btn.click(fn=greet, inputs=name, outputs=output, api_name="greet")
    
    demo.launch()

    需要注意的事项:

    • 使用with子句制作Blocks,此子句中创建的任何组件都会自动添加到应用程序中。
    • 组件按垂直顺序出现在应用程序中,按照创建的顺序排列。(稍后我们将介绍如何自定义布局!)
    • 创建了一个Button,然后为该按钮添加了一个click事件侦听器。这个API看起来应该很熟悉!像Interface一样,click方法接受Python函数、输入组件和输出组件。

    更复杂的示例

    以下是一个应用程序,让你感受一下使用Blocks可以实现的可能性:

    import numpy as np
    import gradio as gr
    
    def flip_text(x):
        return x[::-1]
    
    def flip_image(x):
        return np.fliplr(x)
    
    with gr.Blocks() as demo:
        gr.Markdown("使用此演示翻转文本或图像文件。")
        with gr.Tab("翻转文本"):
            text_input = gr.Textbox()
            text_output = gr.Textbox()
            text_button = gr.Button("翻转")
        with gr.Tab("翻转图像"):
            with gr.Row():
                image_input = gr.Image()
                image_output = gr.Image()
            image_button = gr.Button("翻转")
    
        with gr.Accordion("展开查看更多!"):
            gr.Markdown("看看我...")
    
        text_button.click(flip_text, inputs=text_input, outputs=text_output)
        image_button.click(flip_image, inputs=image_input, outputs=image_output)
    
    demo.launch()

    这里有更多的东西!我们将在使用Blocks构建部分介绍如何创建像这样的复杂Blocks应用程序。

    恭喜,你现在已经熟悉了Gradio的基础知识! ? 转到我们的下一个指南了解更多关于Gradio的关键特性。

    许可证

    Gradio根据位于此存储库根目录的LICENSE文件中的Apache许可证2.0获得许可。

    引用

    还请阅读我们的论文Gradio:在野外轻松共享和测试ML模型,ICML HILL 2019,如果您在您的工作中使用了Gradio,请引用它。

    @article{abid2019gradio,
      title = {Gradio: Hassle-Free Sharing and Testing of ML Models in the Wild},
      author = {Abid, Abubakar and Abdalla, Ali and Abid, Ali and Khan, Dawood and Alfozan, Abdulrahman and Zou, James},
      journal = {arXiv preprint arXiv:1906.02569},
      year = {2019},
    }
  • 解锁ChatGPT的潜力:如何在JavaScript中接收返答

    解锁ChatGPT的潜力:如何在JavaScript中接收返答

    嗨,大家好!欢迎来到王大神的AI技术博客。今天,我们将探讨如何通过JavaScript API,使ChatGPT的回复能够被您的应用程序接收和处理。这是一个令人兴奋的技术,让我们一起来看看吧。

    开篇故事:探索ChatGPT的未来

    在现代互联网中,ChatGPT等自然语言处理模型已经变得越来越重要。它们可以用于聊天机器人、虚拟助手、自动回复系统等各种应用中。但是,有时我们希望更灵活地使用ChatGPT的回复,将其集成到自己的应用程序中。

    在这个故事中,我们将介绍一种方法,通过JavaScript API,您可以在chat.openai.com上运行对话,并接收ChatGPT的回复。这种技术不仅令人兴奋,还具有潜力改变我们与ChatGPT互动的方式。

    如何实现

    要实现这一目标,我们需要一些技术的帮助。首先,我们将拦截到来自ChatGPT的回复,然后将其传递给一个JavaScript函数以供进一步处理。

    以下是实现的步骤:

    1. 我们通过修改TextDecoder类,拦截到来自ChatGPT的回复。

    2. 在TextDecoder类的decode方法中,我们解析回复的JSON,并将其存储在msg变量中。

    3. 我们检查msg变量是否包含有效的回复,并且回复是否完成。如果是,我们将回复传递给预定义的JavaScript函数ongpt。

    4. 最后,我们将修改后的TextDecoder类应用于ChatGPT的回复。

    使用示例

    要使用这个方法,您需要在全局上下文中定义一个名为ongpt的JavaScript函数。这个函数将接收ChatGPT的回复并进行处理。例如:

    function ongpt(message) {
        console.log("接收到ChatGPT的回复: " + message);
    }

    然后,当您在chat.openai.com上运行对话时,ChatGPT的回复将被传递给ongpt函数进行处理。您可以根据需要自定义ongpt函数的行为,以满足您的应用程序的需求。

    结论

    通过使用JavaScript API,您可以更灵活地接收和处理ChatGPT的回复,将其集成到自己的应用程序中。这种方法打开了全新的可能性,让我们可以更好地利用自然语言处理模型的潜力。

    如果您对这个方法有任何疑问或需要进一步的指导,请随时在评论中提出。感谢您阅读本文,希望这个技术对您有所帮助!

  • 创造无限可能:稳定扩散(Stable Diffusion)教程

    创造无限可能:稳定扩散(Stable Diffusion)教程

    嗨,大家好!欢迎来到王大神的AI技术博客。今天,我们将探讨一项令人兴奋的深度学习技术——稳定扩散(Stable Diffusion)。这项技术于2022年发布,基于扩散技术,主要用于生成与文本描述相关的详细图像。不仅如此,它还可以应用于其他任务,如修复图像、生成与文本提示相关的图像翻译等。让我们深入了解这项令人惊叹的技术。

    开篇故事:探索无限的创造力

    在数字时代,我们对于创造力的渴望似乎没有止境。无论是艺术家、设计师还是普通人,我们都渴望将我们的想象变成现实。但有时,我们的技能和资源可能受限,难以创造出我们理想中的图像。这时,稳定扩散就像一扇通向无限创造可能性的大门,让我们一同探索它的神奇之处。

    什么是稳定扩散?

    稳定扩散是一种深度学习模型,于2022年发布。它基于扩散技术,旨在将文本描述转化为详细的图像。这意味着您可以用文字告诉它您想要什么图像,然后它就会为您创造出来。无论是描述一个太空人骑马的场景还是一幅宏伟的山脉日出,稳定扩散都能帮助您将想法转化为视觉艺术。

    如何运行稳定扩散?

    稳定扩散是一个相对轻量级的模型,只需要至少8GB VRAM的中档GPU即可运行。这标志着与以前的专有文本到图像模型不同,稳定扩散是开放的,可以在个人硬件上运行。这为创作者提供了更多的自由,不再受制于云服务的限制。

    技术背后的原理

    稳定扩散采用了一种称为“潜在扩散模型”的深度生成人工神经网络。它的工作方式是通过逐步去噪随机噪声来生成图像。模型首先将图像从像素空间压缩到较小的潜在空间,捕捉图像的更基本的语义含义。然后,在前向扩散期间,将高斯噪声迭代应用于压缩的潜在表示。接着,使用U-Net块对前向扩散的输出进行反向去噪,以获得潜在表示。最后,VAE解码器将表示转换回像素空间,生成最终的图像。这个过程可以根据文本、图像或其他模态进行条件化。对于文本条件化,模型使用了一个预训练的文本编码器,将文本提示转换成嵌入空间。

    训练数据的来源

    稳定扩散模型是在一个包含了5亿个图像-文本对的公开数据集上进行训练的,这个数据集来源于Common Crawl网站抓取的数据。这个数据集由一个德国非营利组织LAION创建,并受到了Stability AI的资助。这个模型是在256个Nvidia A100 GPU上使用亚马逊网络服务训练的,总计花费60万美元。

    创造力的限制与突破

    然而,稳定扩散也有其局限性。例如,最初版本的模型在生成图像时对分辨率有要求,如果与其“预期”的512×512分辨率不符,生成的图像质量会明显下降。但随着后续版本的发布,模型可以原生地生成768×768分辨率的图像,甚至更高。此外,模型在生成人体肢体和面部方面也存在一定的困难,因为训练数据中这些特征的质量有限。不过,稳定扩散的最新版本引入了更高分辨率和改进的人体肢体和文本生成功能,不断突破创造力的界限。

    创作者的责任

    使用稳定扩散等生成模型的人需要对其道德和法律责任有所认识。模型的开放可用性引发了一些伦理和法律问题,因为这些模型是基于受版权保护的图像进行训练的,而没有获得原始艺术家的同意。创作者需要慎重使用这些技术,确保不侵犯他人的权利,避免生成具有侵犯性或不合法内容的图像。

    结语

    稳定扩散是一项令人兴奋的技术,它为创作者提供了前所未有的创作自由。无论您是一名艺术家、设计师还是普通用户,都可以通过

    这个模型将您的想象力转化为视觉艺术。然而,请始终牢记伦理和法律责任,确保您的创作是合法和道德的。

    这就是关于稳定扩散的一些重要信息。如果您对这个主题有更多的疑问或想要了解更多细节,请随时在评论中提出。感谢您阅读本文,我们下次再见!

  • 了解全新Bing Chat:与ChatGPT的对比

    了解全新Bing Chat:与ChatGPT的对比

    曾经,Bing只是一款备受争议的搜索引擎,往往被谷歌所遮盖。但是,事情发生了变化。微软将大量资金投入Bing,并将其赋能了生成式人工智能。今天,我们将揭开Bing Chat的神秘面纱,看看它与ChatGPT的差异和优势。

    如何使用Bing Chat

    步骤1:打开Microsoft Edge并访问Bing

    要开始使用全新的Bing Chat,首先需要打开Microsoft Edge浏览器,然后前往Bing网站。如果你没有Edge浏览器,可以在Windows、Mac和Linux上下载它,甚至还可以在Android和iOS上的移动设备上使用。

    步骤2:登录Microsoft账户(可选)

    尽管你可以在未登录Microsoft账户的情况下访问Bing AI聊天机器人,但你的对话将受到限制,每次只能获得五次回应。如果你想要更长的对话,最多可获得来自Bing的30次回应,那么你需要登录你的Microsoft账户。你可以使用Outlook.com、Hotmail.com等电子邮件地址和密码,或者是你用于Microsoft Office、OneDrive或Xbox等服务的登录信息来创建Microsoft账户。

    步骤3:如果使用Bing.com,请选择“聊天”选项卡

    在Microsoft Edge窗口的左上方查找“聊天”选项卡。从搜索栏下方的搜索选项中,单击“聊天”以访问新的AI动力Bing Chat的聊天选项卡。如果通过Microsoft Edge侧边栏访问了Bing Chat,请继续执行第四步。

    步骤4:了解Bing Chat的工作原理

    Bing Chat与ChatGPT稍有不同,虽然你可以以类似的方式输入提示,但答案的格式、对话风格和Bing AI界面都有很大不同。

    以下是帮助你了解新的Bing Chat窗口的一些重要信息:

    • 文本区域:屏幕底部有一个文本区域,你可以在其中输入提示和问题,以获取Bing Chat的回应。
    • 添加图片:最近,微软添加了用户上传照片供Bing Chat处理的功能,就像Google Lens一样。单击此按钮可以添加图片。
    • 与Bing交流:如果你宁愿使用设备的麦克风而不是键盘向Bing Chat提问,可以选择文本区域中的麦克风图标。
    • 新话题:当你点击“新话题”时,Bing将删除以前的对话,并提示你开始新的对话。
    • 源:Bing作为一个具有对话能力的AI搜索引擎,虽然不会以搜索引擎的列表格式提供答案,但它确实从网络上收集了大部分回应。当你获得对话的回应时,Bing还将在消息气泡下方列出任何来源和链接。
    • 建议的后续问题:在获得来自Microsoft Bing的回应后,它将生成不同的后续问题的建议,供你使用。例如,如果你问Bing:“天空是什么颜色?”它可能会建议以下后续问题:“其他行星的天空是蓝色的吗?”或“污染如何影响天空的颜色?”
    • 搜索或聊天:屏幕左上角允许你在传统搜索结果和AI聊天机器人之间切换。单击其中一个以进行切换。
    • 对话风格:Bing Chat被编程为对查询提供比搜索引擎更类似人类的回答,因此它提供了三种响应格式 – 更具创意、更平衡和更精确。每一种格式都具有自我描述性:选择“更具创意”将为你提供原创和富有想象力的答案,它还可以生成图像;“更平衡”在语调上与ChatGPT相似,提供信息丰富且友好的人类般答案;而“更精确”将提供简明扼要的答案。
    • 提示计数器:当Bing对对话中的查询做出回应时,你会看到一个数字,帮助你记录收到的回应次数。每次对话最多有30次回复。
    • 反馈按钮:在扫描屏幕时,你很快会注意到聊天窗口右下角有一个反馈按钮。这个按钮允许用户向Microsoft Bing提供关于建议、喜欢或不喜欢的事物的反馈,还可以包括截图。
    • Microsoft账户:你的账户信息可以在屏幕右上角找到。

    步骤5:开始写作

    现在,你可以使用Bing Chat并开始在聊天窗口的文本区域中编写提示和问题了。然后,按下回车键以提交它们。

    常见问题解答

    Bing Chat能做什么?

    与ChatGPT一样,全新的AI动力Bing可以生成文本对话、撰写文章、创建信函、总结内容、编写代码以及回答复杂问题。但与ChatGPT不同的是,Bing Chat具有互联网访问权限,使其能够提供有关当前事件的最新回应。

    值得注意的是,免费版本的ChatGPT仅在2021年之前的数据上进行了训练,因此无法提供与更近期事件和发展相关的答案。这意味着Bing可以回答关于昨天发生的事件的问题,而ChatGPT则不会知道去年发生的事情。

    除了互联网访问权限,Bing还可以使用AI在聊天窗口内生成图像。你只需要求它创建一幅图像并描述你想要的照片,它就会立即生成一幅图像。它还可以处理你在聊天中上传的图像,例如识别植物物种等。

    如何访问Bing Chat?

    要快速访问Bing Chat,有几种方法:

    • Microsoft Edge浏览器在窗口右侧的侧边栏上轻松访问新的Bing Chat。
    • 用户可以前往Bing首页,即Bing.com,与新的Bing AI聊天机器人交谈。
    • 下载设备上的Bing移动应用程序的移动设备版本。
    • 你还可以通过Edge浏览器在移动设备上使用Bing。

    Bing Chat是否在Chrome上可用?

    Bing Chat目前仅在Microsoft Edge上可用。某些第三方扩展尚未得到微软的官方支持,无法通过Google Chrome访问新的Bing。

    是否可以在移动设备上使用全新的Bing?

    如果你的移动设备上安装了Edge浏览器,你可以像在计算机上一样使用新的AI动力Bing搜索。此外,你还可以跳过Edge浏览器,从设备的应用商店下载Microsoft Bing应用程序。

    该应用程序提供了通向Bing AI聊天机器人的捷径,无需访问网站,还可以将小部件添加到手机的主屏幕。

    Microsoft Bing应用程序和Edge浏览器在移动设备上支持语音口述,因此你可以无需键入问题而提出问题。

    Bing Chat是否使用ChatGPT?

    Bing Chat不使用ChatGPT,但它使用GPT-4与用户进行对话。目前,新的Bing是免费使用GPT-4的唯一方式,并且微软声称与最新语言模型的集成使Bing比ChatGPT更强大和准确。

    OpenAI的ChatGPT使用GPT 3.5版本的语言模型。当GPT-4通过ChatGPT的更新版本广泛提供时,是通过OpenAI的订阅服务ChatGPT Plus,每月需支付20美元的费用。

    GPT-4是OpenAI的最新大型语言模型,可以通过每月订阅或Bing Chat获得。后者使用GPT-4,并以对话格式提供类似AI动力搜索引擎的性能,而不是ChatGPT。

    Bing Chat是否会提供错误答案?

    与ChatGPT和其他大型语言模型一样,全新的AI动力Bing Chat也容易提供错误信息。Bing提供的大部分答案都来自在线来源,我们知道我们不能相信在线上读到的一切。

    类似地,在聊天模式下使用新的Bing可能会生成与原始问题无关的无意义答案,也就是所谓的“幻觉”。在与AI聊天机器人交谈时,要注意采取预防措施,不要分享个人和私人信息,也不要依赖它提供医疗或威胁生命的信息。

    Bing Chat是否立即可用?

    自从今年早些时候推出以来,全新的AI动力Bing Chat一直只能通过等待列表来获得。微软最近向所有Microsoft Edge用户提供了广泛的访问权限,无论是否有有效的账户。全新的Bing Chat正处于公开预览阶段,所以用户可以通过访问Edge网页浏览器或使用Bing移动应用程序来尝试它。

    Bing Chat与搜索引擎有何不同?

    与搜索引擎相比,Bing Chat与其他AI聊天机器人最大的区别在于它在幕后运行的大型语言模型带来的对话性质。将搜索结果智能地格式化成对特定问题的答案,使任何寻找在线信息的人都更容易找到所需内容。

    除了标准Bing搜索引擎已经具备的搜索功能之外,Bing Chat是一个全功能的AI聊天机器人,可以做类似工具可以做的许多事情,比如ChatGPT。例如,Bing和ChatGPT都可以生成文本,如文章或诗歌,编写代码,提出复杂问题并进行后续问题的对话。

    是否有Bing图像创建器?

    微软还推出了Bing Image Creator作为其生成式AI工具的一部分。你可以通过Bing Chat或单独访问Bing.com/Create来使用它。

    微软正在使用来自OpenAI的人工智能图像生成器DALL-E。这是Edge浏览器中Bing的一个工具,用户可以在现有对话中为Bing提供一个提示,以生成图像,而无需访问其他网站。

    Bing Chat是免费的吗?

    全新的Bing不仅是

    完全免费的,而且是目前免费预览GPT-4的最佳方式。你可以使用Bing AI聊天机器人提问、解决问题或寻求灵感,但每次交互只能进行300次查询。

    我与Bing Chat的对话会被保存吗?

    微软最近通过一系列更新向Bing Chat添加了聊天历史记录功能。现在,你可以在聊天窗口的右侧访问它。

    如果你在使用Bing Chat时登录了Microsoft账户,搜索历史将保存在该账户中,具体取决于你的设置,因此之前的提示可能会被保存。

    新的Bing是否有等待列表?

    微软最近宣布,全新的AI动力Bing处于公开预览阶段,因此任何使用Edge登录其Microsoft账户的用户都可以立即获得访问权限。这个新版本的Bing的早期访问等待列表对所有人都是开放的。

    以上是关于如何使用全新的Bing Chat以及与ChatGPT的区别的详细信息。无论你是寻求在线信息,还是需要进行文本生成,Bing Chat都提供了强大的工具来满足你的需求。希望这篇文章对你有所帮助!