国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

在人工智能時(shí)代,Django + 簡(jiǎn)單的 HTML + Whisper + mixtral-8x7b-instruct + SQLite 實(shí)現(xiàn)了一個(gè) TODO應(yīng)用

這篇具有很好參考價(jià)值的文章主要介紹了在人工智能時(shí)代,Django + 簡(jiǎn)單的 HTML + Whisper + mixtral-8x7b-instruct + SQLite 實(shí)現(xiàn)了一個(gè) TODO應(yīng)用。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

構(gòu)建 AI-powered TODO 應(yīng)用

人工智能TODO應(yīng)用程序演示https://ivan-tolkunov–surukoto-run.modal.run/(警告:該應(yīng)用程序可能需要長(zhǎng)達(dá)30秒才能啟動(dòng))。所有數(shù)據(jù)在不活動(dòng)5分鐘后重置。試著告訴它:“添加彩虹的每一種顏色”,然后“標(biāo)記所有提到綠色和紫色之間的待辦事項(xiàng)”和“清理完成的待辦事項(xiàng)。”
在人工智能時(shí)代,Django + 簡(jiǎn)單的 HTML + Whisper + mixtral-8x7b-instruct + SQLite 實(shí)現(xiàn)了一個(gè) TODO應(yīng)用,sqlite,人工智能,django,javascript,whisper,html

新的思考

每個(gè)人都在構(gòu)建TODO應(yīng)用程序,以便開(kāi)始使用編程語(yǔ)言或技術(shù)。我問(wèn)自己一個(gè)問(wèn)題:在人工智能時(shí)代,TODO應(yīng)用程序會(huì)是什么樣子?
所以我想出了一個(gè)主意,構(gòu)建一個(gè)TODO應(yīng)用程序,你可以簡(jiǎn)單地與之交談并給出指示。我從一個(gè)簡(jiǎn)單的用例開(kāi)始,告訴應(yīng)用程序“將牛奶添加到購(gòu)物清單中”。但后來(lái)我意識(shí)到,使用現(xiàn)代LLMs,我還可以讓?xiě)?yīng)用程序根據(jù)用戶命令檢查TODO項(xiàng)目或刪除它們。這個(gè)應(yīng)用程序使用起來(lái)真的很有趣!
它是一個(gè)簡(jiǎn)單的Django網(wǎng)絡(luò)應(yīng)用程序。模型非常簡(jiǎn)單:

from   django.db import models

class Todo(models.Model):
    title = models.CharField(max_length=100)
    created_at = models.DateTimeField('Created', auto_now_add=True)
    update_at = models.DateTimeField('Updated', auto_now=True)
    isCompleted = models.BooleanField(default=False)

    def __str__(self):
        return self.title

然而,在后端,我有一個(gè)接受語(yǔ)音命令的端點(diǎn),而不是典型的CRUD(創(chuàng)建、讀取、更新、刪除)操作:

from django.urls import path
from . import views 

app_name='todos'
urlpatterns = [
    path('', views.IndexView.as_view(), name='index'),
    path('process-voice-command/', views.process_voice_command, name='process_voice_command'),
]

端點(diǎn)是使用簡(jiǎn)單的HTML音頻API從前端觸發(fā)的:

const recordButton = document.getElementById("record"); 
const recordButtonText = document.getElementById("record-text");

let recorder = null;

recordButton.onclick = async () => {
  if (recorder) {
    recorder.stop();
    recorder = null;
    return;
  }

  const chunks = [];
  const stream = await navigator.mediaDevices.getUserMedia({ audio: true });

  recorder = new MediaRecorder(stream);
  recorder.ondataavailable = (e) => chunks.push(e.data);
  recorder.onstop = async () => {
    const blob = new Blob(chunks, { type: "audio/webm;" });
    const formData = new FormData();
    formData.append("audio_file", blob, "voice-command.webm");
    const response = await fetch("/todos/process-voice-command/", {
      method: "POST",
      body: formData,
    });
    window.location.reload();
  };

  recorder.start();
};

當(dāng)用戶提交他們的音頻時(shí),我使用Whisper來(lái)轉(zhuǎn)錄它(使用 medium.en 模型在大小和理解我的英語(yǔ)能力之間取得良好平衡):

def process_voice_command(request):
    audio_file = request.FILES.get('audio_file', None)
    file_name = default_storage.save(voice.name, voice)
    try:
        audio = whisper.load_audio(MEDIA_ROOT + file_name)
        audio = whisper.pad_or_trim(audio)
        result = self.model.transcribe(MEDIA_ROOT + file_name)
        text = result["text"].strip()
        Todo.objects.create(title=text)
    finally:
        default_storage.delete(file_name)

使用LLM使TODO應(yīng)用程序執(zhí)行操作
我不只是說(shuō)我想做什么,而是想告訴TODO應(yīng)用程序?yàn)槲易鍪隆@?,?dāng)我買牛奶時(shí),我想告訴應(yīng)用程序:“我買了牛奶”,并讓它為我核對(duì)待辦事項(xiàng)。
為了做到這一點(diǎn),我使用了一個(gè)預(yù)先訓(xùn)練過(guò)的LLM和一些巧妙的提示工程。
我最初的計(jì)劃是在本地運(yùn)行LLM。然而,由于圣誕節(jié)假期,我的時(shí)間很短,所以我現(xiàn)在決定使用托管版本。我絕對(duì)不想被OpenAI鎖定,所以我找到了一個(gè)強(qiáng)大的開(kāi)源模型( mixtral-8x7b-instruct ),并使用OpenRouter查詢托管版本。
這個(gè)想法的要點(diǎn)是:我有一個(gè)系統(tǒng)提示,向LLM解釋它的任務(wù)是管理TODO。作為輸出,我告訴模型我需要一個(gè)JSON格式的指令列表。指令可以是 add 、 complete 、 delete 和 error (當(dāng)不確定要做什么時(shí))。
首先,我使用OpenRouter聊天UI測(cè)試了一些提示。當(dāng)我對(duì)提示感到滿意時(shí),我用所需的數(shù)據(jù)進(jìn)行了一個(gè)簡(jiǎn)單的API調(diào)用

def get_command(self, text):  
 response = requests.post(
     url="https://openrouter.ai/api/v1/chat/completions",
     headers= {
         "Authorization" : f"Bearer {os.environ['OPENROUTER_KEY']}"
     },
     data=json.dumps({
         "model": "mistralai/mixtral-8x7b-instruct",
         "messages": [
             {"role": "system", "content": self.prompt + self.todo_to_string()},
             {"role": "user", "content": text},
         ]
     })
 )
 print(response.json()["choices"][0]["message"]["content"])
 return json.loads(response.json()["choices"][0]["message"]["content"])

然后,根據(jù)響應(yīng),我讓它對(duì)數(shù)據(jù)庫(kù)執(zhí)行以下操作:

def process_voice_command(request):
    audio_file = request.FILES.get('audio_file', None)
    text = util.get_voice_text(audio_file)
    commands = util.get_command(text)
    for command in commands:
        action = command['action']
        if action == "add":
            util.add(command['text'])
        elif action == "complete":
            util.complete(command['task_id'])
        elif action == "delete":
            util.delete(command['task_id'])
        elif action == "error":
            messages.add_message(request, messages.ERROR, command['text'])
        else:
            print(f"Unknown action: {action}")

    return JsonResponse({'success': True}) 

這并不完美。主要問(wèn)題是它容易提示注入,即用戶可以告訴它做一些不應(yīng)該做的事情,作為TODO文本的一部分。我還注意到,它甚至可以將TODO的文本解釋為指令的一部分,而且事情變得非?;靵y。
但我很驚訝這一切的效果如此之好!
我能夠?yàn)槲业腡ODO應(yīng)用程序提供如下命令:

 - 添加彩虹的每一種顏色
 - 標(biāo)記所有提到綠色和紫色之間顏色的待辦事項(xiàng)
 - clean up completed todos 清理已完成的待辦事項(xiàng)
 - 現(xiàn)在我的TODO應(yīng)用程序擁有超能力!

與我的其他項(xiàng)目類似,我將該應(yīng)用程序部署到Modal.com,供每個(gè)人玩。它使用容器內(nèi)的本地SQLite數(shù)據(jù)庫(kù)和5分鐘 container_idle_timeout ,因此數(shù)據(jù)會(huì)在一段時(shí)間后重置。非常適合演示!

完整的源代碼可在https://github.com/ivan-tolkunov/surukoto.歡迎PR!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-806521.html

到了這里,關(guān)于在人工智能時(shí)代,Django + 簡(jiǎn)單的 HTML + Whisper + mixtral-8x7b-instruct + SQLite 實(shí)現(xiàn)了一個(gè) TODO應(yīng)用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Python+Django+Mysql開(kāi)發(fā)簡(jiǎn)單在線課程推薦系統(tǒng)簡(jiǎn)單教程 基于用戶的協(xié)同過(guò)濾推薦算法 個(gè)性化課程推薦系統(tǒng) 爬蟲(chóng) 可視化數(shù)據(jù)分析 機(jī)器學(xué)習(xí) 人工智能 個(gè)性化推薦 相關(guān)推薦

    Python+Django+Mysql開(kāi)發(fā)簡(jiǎn)單在線課程推薦系統(tǒng)簡(jiǎn)單教程 基于用戶的協(xié)同過(guò)濾推薦算法 個(gè)性化課程推薦系統(tǒng) 爬蟲(chóng) 可視化數(shù)據(jù)分析 機(jī)器學(xué)習(xí) 人工智能 個(gè)性化推薦 相關(guān)推薦

    1、開(kāi)發(fā)工具和使用技術(shù) Python3及以上版本,Django3.6及以上版本,mysql8,navicat數(shù)據(jù)庫(kù)管理工具或者sqlyog數(shù)據(jù)庫(kù)管理工具,html頁(yè)面,javascript腳本,jquery腳本,echarts.js可視化圖表工具,自定義星星評(píng)分功能(使用font-awesome星星圖標(biāo)字體)等。 2、實(shí)現(xiàn)功能 前臺(tái)首頁(yè)地址:http://1

    2024年02月05日
    瀏覽(376)
  • AIGC邁向通用人工智能時(shí)代

    AIGC邁向通用人工智能時(shí)代

    2023年1月30日,AIGC概念股突飛猛漲。一時(shí)間,AIGC再次站上風(fēng)口浪尖。 AIGC(AI Generated Content)是指利用人工智能技術(shù)來(lái)生成內(nèi)容,被認(rèn)為是繼UGC、PGC之后的新型內(nèi)容生產(chǎn)方式,常見(jiàn)的 AI繪畫(huà)、AI寫(xiě)作 等都屬于AIGC的分支。 事實(shí)上,AIGC在這一波熱議之前,早已悄然興起。 這要從

    2024年02月09日
    瀏覽(101)
  • 人工智能時(shí)代AIGC繪畫(huà)實(shí)戰(zhàn)

    人工智能時(shí)代AIGC繪畫(huà)實(shí)戰(zhàn)

    送書(shū)第一期 《用戶畫(huà)像:平臺(tái)構(gòu)建與業(yè)務(wù)實(shí)踐》 送書(shū)活動(dòng)之抽獎(jiǎng)工具的打造 《獲取博客評(píng)論用戶抽取幸運(yùn)中獎(jiǎng)?wù)摺?送書(shū)第二期 《Spring Cloud Alibaba核心技術(shù)與實(shí)戰(zhàn)案例》 送書(shū)第三期 《深入淺出Java虛擬機(jī)》 送書(shū)第四期 《AI時(shí)代項(xiàng)目經(jīng)理成長(zhǎng)之道》 送書(shū)第五期 《Kubernetes原生

    2024年02月05日
    瀏覽(26)
  • 走進(jìn)人工智能|自動(dòng)駕駛 開(kāi)啟智能出行新時(shí)代

    走進(jìn)人工智能|自動(dòng)駕駛 開(kāi)啟智能出行新時(shí)代

    自動(dòng)駕駛,也被稱為無(wú)人駕駛或自動(dòng)駕駛汽車,是指能夠在沒(méi)有人類干預(yù)的情況下自主地感知環(huán)境、決策和控制車輛行駛的技術(shù)和系統(tǒng)。 自動(dòng)駕駛汽車是一種通過(guò)電腦系統(tǒng)實(shí)現(xiàn)無(wú)人駕駛的智能汽車。這種車輛依靠人工智能、視覺(jué)計(jì)算、雷達(dá)、監(jiān)控裝置和全球定位系統(tǒng)協(xié)同合作

    2024年02月14日
    瀏覽(24)
  • 人工智能與自動(dòng)駕駛:智能出行時(shí)代的未來(lái)之路

    人工智能與自動(dòng)駕駛:智能出行時(shí)代的未來(lái)之路

    ? ? ? ?首先,我們先來(lái)說(shuō)下什么是人工智能, 人工智能 (Artificial Intelligence,簡(jiǎn)稱AI)是一門研究如何使計(jì)算機(jī)系統(tǒng)能夠模擬、仿真人類智能的技術(shù)和科學(xué)領(lǐng)域。它涉及構(gòu)建智能代理,使其能夠感知環(huán)境、理解和學(xué)習(xí)知識(shí),以及通過(guò)推理、決策和問(wèn)題解決等方式與環(huán)境進(jìn)行

    2024年02月03日
    瀏覽(26)
  • 人工智能的時(shí)代---AI的影響

    人工智能的時(shí)代---AI的影響

    ???????人工智能(AI)是當(dāng)前科技領(lǐng)域的一個(gè)熱門話題,它正在以前所未有的速度改變著我們的生活方式和工作方式。從智能家居到自動(dòng)駕駛,從智能醫(yī)療到智能金融,人工智能正在滲透到我們生活的方方面面。在這篇文章中,我們將從人工智能的領(lǐng)域、人工智能的應(yīng)用以

    2024年02月05日
    瀏覽(36)
  • 人工智能大時(shí)代——AIGC綜述

    人工智能大時(shí)代——AIGC綜述

    模型按照輸入輸出的數(shù)據(jù)類型分類,目前主要包括9類。 有趣的是,在這些已發(fā)布大模型的背后,只有六個(gè)組織(OpenAI, Google, DeepMind, Meta, runway, Nvidia)參與部署了這些最先進(jìn)的模型。 其主要原因是,為了能夠估計(jì)這些模型的參數(shù),必須擁有極其龐大的計(jì)算能力,以及在數(shù)據(jù)科

    2023年04月18日
    瀏覽(27)
  • 人工智能時(shí)代如何加強(qiáng)網(wǎng)絡(luò)安全

    人工智能時(shí)代如何加強(qiáng)網(wǎng)絡(luò)安全

    人工智能正在為軟件開(kāi)發(fā)人員賦予以前被認(rèn)為難以想象的新能力。新的生成式人工智能可以提供復(fù)雜、功能齊全的應(yīng)用程序、調(diào)試代碼或使用簡(jiǎn)單的自然語(yǔ)言提示添加內(nèi)嵌注釋。 它已準(zhǔn)備好以指數(shù)方式推進(jìn)低代碼自動(dòng)化。但與此同時(shí),新一代人工智能可能會(huì)為不良行為者提供

    2024年02月13日
    瀏覽(28)
  • 步入AIGC時(shí)代,展望人工智能發(fā)展

    步入AIGC時(shí)代,展望人工智能發(fā)展

    3 月 18 日,由中國(guó)圖象圖形學(xué)學(xué)會(huì) ( CSIG ) 主辦,合合信息、 CSIG 文檔圖像分析與識(shí)別專業(yè)委員會(huì)聯(lián)合承辦的 “ CSIG 企業(yè)行 ” 系列活動(dòng)取得了圓滿成功?;顒?dòng)主題為“圖文智能處理與多場(chǎng)景應(yīng)用技術(shù)展望”,活動(dòng)中重點(diǎn)分享了圖像文檔處理中的結(jié)構(gòu)建模、底層視覺(jué)技術(shù)、跨媒

    2024年02月02日
    瀏覽(30)
  • ChatGPT:開(kāi)啟人工智能的新時(shí)代

    ChatGPT:開(kāi)啟人工智能新時(shí)代 隨著人工智能技術(shù)的不斷發(fā)展,自然語(yǔ)言處理成為了許多企業(yè)和研究機(jī)構(gòu)關(guān)注的焦點(diǎn)。在此背景下,ChatGPT 技術(shù)應(yīng)運(yùn)而生,成為了推動(dòng)自然語(yǔ)言處理領(lǐng)域發(fā)展的重要力量。 Generative Pre-trained Transformer(簡(jiǎn)稱 GPT)是一種基于深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)模型,

    2024年02月10日
    瀏覽(37)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包