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

.Net也能輕松接入AI模型!

這篇具有很好參考價值的文章主要介紹了.Net也能輕松接入AI模型!。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

ML.Net?-?開源的跨平臺機器學習框架

  • 支持CPU/GPU訓練
  • 輕松簡潔的預測代碼
  • 可擴展其他的機器學習平臺
  • 跨平臺

.Net也能輕松接入AI模型!

1.使用Visual?Studio的Model?Builder訓練和使用模型

Visual?Studio默認安裝了Model?Builder插件,可以很快地進行一些通用模型類型的訓練和部署,提高接入機器學習的開發(fā)效率

1.1?新建模型

通過非常簡單地 右鍵項目-添加-機器學習模型

.Net也能輕松接入AI模型!

1.2?選擇模型

ModelBuilder中提供了集中常用的模型類型以供開發(fā)者使用,開發(fā)者可以通過這些類別的模型快速接入,并且訓練自己的數(shù)據(jù),本節(jié)內容將會使用計算機視覺中的”圖像分類“進行演示

.Net也能輕松接入AI模型!

1.3?選擇訓練環(huán)境

接下來要選擇訓練的環(huán)境,提供了CPU/GPU/Azure云三種方式訓練,這里為了簡單演示,我使用了CPU訓練,如果數(shù)據(jù)量大且復雜的請選擇GPU,并且提前安裝CUDA、cuDNN
.Net也能輕松接入AI模型!

1.4?添加訓練數(shù)據(jù)

我從搜索引擎中,搜集到了一系列”奧特曼“的圖片(我相信不是所有人都可以認出各個時代的各個奧特曼 哈哈哈)
然后將這些圖片進行了文件夾分類,導入到ModelBuilder中,如下:
.Net也能輕松接入AI模型!

1.5 開始訓練

本次演示訓練157張圖片,耗時50秒
.Net也能輕松接入AI模型!

1.6 評估

此環(huán)節(jié),為了檢驗訓練成果和準確率,ModelBuilder中提供了圖形化的方式進行預測檢測,我在另外的搜索引擎中,找到了一張沒有經過訓練的圖片,它準確地判斷出了”迪迦奧特曼“的概率為63%
.Net也能輕松接入AI模型!

1.7 代碼編寫

這一環(huán)節(jié)中,ModelBuilder給出了示例代碼,直接復制粘貼就可以用到自己的實際項目中
同時還提供了,一鍵生成控制臺或者WebAPI項目的入口。給力!??

我新建了一個WPF項目,添加了一個Button,進行簡單測試:

 <Grid>
        <Button Click="Button_Click" Content="預測一個奧特曼" />
    </Grid>
private void Button_Click(object sender, RoutedEventArgs e) {
            OpenFileDialog dialog= new OpenFileDialog();
            if (dialog.ShowDialog().Value) {
                //Load sample data
                var imageBytes = File.ReadAllBytes(dialog.FileName);
                UltraMan.ModelInput sampleData = new UltraMan.ModelInput() {
                    ImageSource = imageBytes,
                };

                //Load model and predict output
                var result = UltraMan.Predict(sampleData);
                if (result.Score.Any(s=>s>=0.6)) {
                    MessageBox.Show(result.PredictedLabel);
                } else {
                    MessageBox.Show("沒有識別到奧特曼");
                }
            }
            
        }

選擇一張圖片,導入之后,即可彈出預測結果
.Net也能輕松接入AI模型!

ModelBuilder的操作非常簡單,基本不需要了解機器學習的原理或者python,對一些有這些內置模型需求的.Net開發(fā)者很有幫助!~??


2.使用ONNX模型進行分類預測

如果團隊中有其他專業(yè)的AI人員進行模型訓練和機器學習代碼編寫,如何將pytorch、tensenflow等框架訓練的模型用在.Net中呢?

ML.Net在支持使用內置的ModelBuilder模型外,還支持使用onnx模型進行預測

  • 開放式神經網(wǎng)絡交換?(ONNX)?是一種用于表示機器學習模型的開放標準格式。ONNX?由合作伙伴社區(qū)提供支持,這些合作伙伴已在許多框架和工具中實現(xiàn)了它
  • 開源的onnx模型系列下載(有很多第三方的優(yōu)質onnx現(xiàn)成模型可供下載使用):onnx/models:ONNX?格式的預訓練、最先進的模型集合?(github.com)
  • ML模型儀表盤(可以查看模型詳細推導流程和輸入輸出列)?:Release?WinML?Dashboard?v0.7.0?·?microsoft/Windows-Machine-Learning?(github.com)

這里需要提前介紹一下ML模型儀表盤
.Net也能輕松接入AI模型!
右側的Inputs和Outputs在后續(xù)步驟中比較關鍵

2.1?下載所需模型

進入github根據(jù)需求下載模型文件,本篇文章使用了【Emotion?FERPlus】模型進行情緒預測
下載地址:github

根據(jù)github中的接入說明,理解輸入、輸出、預處理、預測、后處理等流程后,開始接入
.Net也能輕松接入AI模型!

2.2?流程說明

輸入:N*1*64*64?的float數(shù)組

表示可以預測多張(N)圖片,且輸入圖片要是單色通道圖(1),尺寸為64*64(需要縮放)

預處理:導入圖片路徑進行預測

python代碼中,將圖片導入,并進行了縮放處理,然后使用np.array把圖片數(shù)據(jù)轉為了float數(shù)組形式,最后把數(shù)組進行[1,1,64,64]的形狀縮放,將rgb提取了單色數(shù)據(jù)

輸出:1*8?的float數(shù)組

輸出了一個8長度的一維數(shù)組,分別代表了8種表情的分數(shù)值,可能性最高的值為最終結果

2.3?ML.Net接入

使用ML.Net接入onnx前,需要安裝幾個nuget包:

  • Microsoft.ML
  • Microsoft.ML.ImageAnalytics
  • Microsoft.ML.OnnxTransformer

2.3.1?定義輸入和輸出的類

??輸入:

    public class EmotionInput {
            [ImageType(64,64)]
            public MLImage Image { get; set; }  
        }

定義了一個輸入類EmotionInput,標記圖像為64*64,且類型為MLImage

??輸出:

    public class EmotionOutput {
            [ColumnName("Plus692_Output_0")]
            public float[] Result { get; set; }
        }

根據(jù)ML?Dashboard可以看到輸出列名為Plus692_Output_0,類型為一維浮點數(shù)組

??開始預測:

     public class EmotionPrediction {
            private readonly string modelFile = "emotion-ferplus-8.onnx";
            private string[] emotions = new string[] { "一般", "快樂", "驚訝", "傷心", "生氣", "疑惑", "害怕", "蔑視" };
            private PredictionEngine<EmotionInput, EmotionOutput> predictionEngine;
            public EmotionPrediction()
            {
                MLContext context = new MLContext();
                var emptyData = new List<EmotionInput>();
                var data = context.Data.LoadFromEnumerable(emptyData);
                var pipeline = context.Transforms.ResizeImages("resize", 64, 64, inputColumnName: nameof(EmotionInput.Image), Microsoft.ML.Transforms.Image.ImageResizingEstimator.ResizingKind.Fill).
                    Append(context.Transforms.ExtractPixels("Input3", "resize", Microsoft.ML.Transforms.Image.ImagePixelExtractingEstimator.ColorBits.Blue)).
                    Append(context.Transforms.ApplyOnnxModel(modelFile));
    
                var model = pipeline.Fit(data);
                predictionEngine = context.Model.CreatePredictionEngine<EmotionInput, EmotionOutput>(model);    
            }
    
            public string Predict(string path) {
                using (var stream = new FileStream(path, FileMode.Open)) {
                    using(var bitmap = MLImage.CreateFromStream(stream)) {
                        var result = predictionEngine.Predict(new EmotionInput() { Image = bitmap });
                        var max = result.Result.Max();
                        var index = result.Result.ToList().IndexOf(max);
                        return emotions[index];
                    }
                }
            }
        }

其中預測部分,比較關鍵的地方是預測管道部分,從Input中拿到圖片數(shù)據(jù)-->Resize-->提取圖片的藍色數(shù)據(jù)-->作為Input3輸入列傳入模型

這里使用藍色作為提取色,是因為藍色在色彩表示中較為明亮,計算機更容易識別這些像素和區(qū)域

??使用WPF接入試試看:

<Grid>
        <Button Click="Button_Click" Content="預測表情" />
    </Grid>
private EmotionPrediction prediction = new EmotionPrediction();

        private void Button_Click(object sender, RoutedEventArgs e) {
            OpenFileDialog dialog = new OpenFileDialog();
            if (dialog.ShowDialog().Value) {
                var result = prediction.Predict(dialog.FileName);
                MessageBox.Show(result);
            }
        }

導入一張普通圖片試試:
.Net也能輕松接入AI模型!
.Net也能輕松接入AI模型!

導入一張?zhí)鹦拿郎倥囋嚕?/font>
.Net也能輕松接入AI模型!
.Net也能輕松接入AI模型!

onnx模型的接入,使得ML.Net的可擴展性更高,不僅僅是內置模型,還可以更多~


3.?使用ONNX模型進行識別分割

接下來是一個稍微復雜一點的模型的接入方法
卷積神經網(wǎng)絡中,人臉識別、車牌識別、物體識別很火熱(比如有名的開源模型YOLO)
當然ModelBuilder已經內置物體識別模型,可以識別的物體在圖中位置和矩形區(qū)域

進入github根據(jù)需求下載模型文件,本篇文章使用了【UltraFace】模型進行人臉識別
下載地址:github

.Net也能輕松接入AI模型!

通過描述,可以看出此模型會復雜一些。需要將數(shù)據(jù)進行BGR2RGB、偏移、歸一化等預處理,也需要對預測結果進行非極大值抑制、矩形框變化處理

3.1?流程說明

??輸入:1*3*320*240

一張圖片,進行縮放處理到320*240,且不要透明度

??預處理:BRG-RGB?+?Resize?+?偏移?+?歸一化?+?數(shù)據(jù)轉chw

這里是opencv中的一系列圖片處理的方法,為了匹配模型的輸入且加快訓練預測的速度

在深度學習中,神經網(wǎng)絡模型的輸入數(shù)據(jù)一般都需要經過一些預處理才能被正確地輸入到模型中進行訓練或者預測。下面是對各個預處理步驟的解釋:

-?BGR-RGB轉換:在OpenCV中讀取圖像時,圖像的通道順序是BGR,而在深度學習中通常使用的是RGB格式。因此,需要對輸入圖像進行BGR-RGB通道轉換。

-?Resize:由于神經網(wǎng)絡模型對輸入圖像的大小有一定的要求,因此在輸入圖像大小不符合要求時,需要進行圖像的縮放操作。縮放操作有助于保留輸入圖像中的重要特征,并且可以減少訓練和預測的時間和計算資源消耗。

-?偏移:在進行歸一化操作前,先將圖像每個像素點的值減去一個常數(shù),這個常數(shù)一般是對訓練數(shù)據(jù)集像素值取平均值。通過這個操作,可以將輸入圖像的像素值整體向左偏移一定的偏移量,使得整個像素值的范圍更加平衡,便于模型的訓練和優(yōu)化。

-?歸一化:在神經網(wǎng)絡模型中,通過對輸入數(shù)據(jù)進行歸一化的操作,可以使得數(shù)據(jù)更加平滑,減少噪聲和異常情況的影響。一般地,歸一化會將數(shù)據(jù)的數(shù)值范圍縮放到0到1之間或者-1到1之間(或其他固定范圍內),這樣有助于加快訓練和提高模型的穩(wěn)定性。

-?數(shù)據(jù)轉置和重排:在深度學習框架中,輸入數(shù)據(jù)的格式通常是(batch_size,?channel,?height,?width),所以需要將預處理后的圖像從(height,?width,?channel)的格式轉化為(channel,?height,?width)的格式,并加上一維batch_size,以便于輸入到網(wǎng)絡中進行訓練或者預測。

綜上所述,這些預處理步驟是為了將圖像處理成與模型輸入相對應的格式,并且預處理后的圖像可以減少噪聲、保留重要特征、加快訓練和提高模型的穩(wěn)定性。

??輸出:1*4420*2?和?1*4420*4的兩個數(shù)組

分別代表了分數(shù)和矩形框的數(shù)據(jù)

??后處理:矩形框的轉換+非極大值抑制

需要對輸出的兩個多維浮點數(shù)組進行處理,根據(jù)分數(shù)排列、根據(jù)非極大值抑制篩選出最確定的矩形框結果

在目標檢測中,經常會出現(xiàn)多個檢測框(bounding?box)重疊覆蓋同一目標的情況,而我們通常只需要保留一個最佳的檢測結果。非極大值抑制(Non-Maximum?Suppression,NMS)就是一種常見的目標檢測算法,用于在冗余的檢測框中篩選出最佳的一個。

NMS?原理是在對檢測結果進行處理前,按照檢測得分進行排序(一般檢測得分越高,表明檢測框越可能包含目標),然后選擇得分最高的檢測框加入結果中。接下來,遍歷排序后的其余檢測框,如果檢測框之間的IoU(Intersection?over?Union,交并比)大于一定閾值,那么就將該檢測框刪除,因為被保留的那一個框已經足夠表明目標的存在。

該過程不斷迭代,直到所有框都被遍歷完畢為止,從未刪除的框中即為最終結果。由于?NMS?算法可以過濾掉重疊檢測框中的冗余結果,因此在很多基于深度學習的目標檢測算法(如?YOLO、SSD?等)中都被廣泛使用。

== 以上作為了解,具體看下面代碼 ==

3.2?ML.Net接入

3.2.1?輸入

    public class RTFInput {
            [ImageType(640, 480)]
            public MLImage Image { get; set; }
        }

3.2.2?輸出

    public class RTFOutput {
            [ColumnName("scores")]
            [VectorType(1, 17640, 2)]
            public float[] Scores { get; set; }
            [ColumnName("boxes")]
            [VectorType(1, 17640, 4)]
            public float[] Boxes { get; set; }
        }

3.2.3?預測

    public class RTFPrediction {
            private readonly string modelFile = "version-RFB-640.onnx";
            private PredictionEngine<RTFInput, RTFOutput> predictionEngine = null;
            public RTFPrediction() {
                MLContext context = new MLContext();
                var emptyData = new List<RTFInput>();
                var data = context.Data.LoadFromEnumerable(emptyData);
                var pipeline =
                      context.Transforms.ResizeImages(
                      resizing: Microsoft.ML.Transforms.Image.ImageResizingEstimator.ResizingKind.Fill,//填充Resize
                      outputColumnName: "resize",//Resize的結果放置到 data列
                      imageWidth: 640,
                      imageHeight: 480,
                      inputColumnName: nameof(RTFInput.Image)//從Image屬性來源,
                      )
                      .Append(
                          context.Transforms.ExtractPixels(
                              offsetImage: 127f,
                              scaleImage: 1 / 128f,
                              inputColumnName: "resize",
                              outputColumnName: "input")
                      ).Append(
                      context.Transforms.ApplyOnnxModel(
                          modelFile: modelFile,
                          inputColumnNames: new string[] { "input" },
                          outputColumnNames: new string[] { "scores", "boxes" }));
                var model = pipeline.Fit(data);
                predictionEngine = context.Model.CreatePredictionEngine<RTFInput, RTFOutput>(model);//生成預測引擎
            }
    
            public ImageSource Predict(string path) {
                using (var stream = new FileStream(path, FileMode.Open)) {
                    using (var bitmap = MLImage.CreateFromStream(stream)) {
                        var prediction = predictionEngine.Predict(new RTFInput() { Image = bitmap });
                        var boxes = ParseBox(prediction);
                        boxes = boxes.Where(b => b.Score > 0.9).OrderByDescending(s => s.Score).ToList();
                        boxes = HardNMS(boxes, 0.4);
                        var bitmapimage = new BitmapImage(new Uri(path));
                        var rtb = new RenderTargetBitmap(bitmap.Width, bitmap.Height, 96, 96, PixelFormats.Pbgra32);
                        int t = 0;
    
                        var dv = new DrawingVisual();
                        using (DrawingContext dc = dv.RenderOpen()) {
                            dc.DrawImage(bitmapimage, new Rect(0, 0, bitmap.Width, bitmap.Height));
                            foreach (var item in boxes) {
                                dc.DrawRectangle(null, new Pen(Brushes.Red, 2), new Rect(item.Rect.X * bitmap.Width, item.Rect.Y * bitmap.Height, item.Rect.Width * bitmap.Width, item.Rect.Height * bitmap.Height));
                            }
                        }
                        rtb.Render(dv);
                        return rtb;
    
                    }
    
                }
            }
    
            private List<Box> ParseBox(RTFOutput prediction) {
                var length = prediction.Boxes.Length / 4;
                var boxes = Enumerable.Range(0, length).Select(i => new Box() {
                    X1 = prediction.Boxes[i * 4],
                    Y1 = prediction.Boxes[i * 4 + 1],
                    X2 = prediction.Boxes[i * 4 + 2],
                    Y2 = prediction.Boxes[i * 4 + 3],
                    Score = prediction.Scores[i * 2 + 1]
                }
                );
                boxes = boxes.OrderByDescending(b => b.Score);
                return boxes.ToList();
            }
    
            public List<Box> HardNMS(List<Box> boxes, double overlapThreshold) {
    
                var selectedBoxes = new List<Box>();
                while (boxes.Count > 0) {
                    // 取出置信度最高的bbox
                    var currentBox = boxes[0];
                    selectedBoxes.Add(currentBox);
    
                    // 計算當前bbox和其余bbox之間的IOU
                    boxes.RemoveAt(0);
                    for (int i = boxes.Count - 1; i >= 0; i--) {
                        var iou = CalculateIOU(currentBox, boxes[i]);
                        if (iou >= overlapThreshold) {
                            boxes.RemoveAt(i);
                        }
                    }
                }
                return selectedBoxes;
            }
            public double CalculateIOU(Box boxA, Box boxB) {
                // 計算相交部分的坐標信息
                float xOverlap = Math.Max(0, Math.Min(boxA.X2, boxB.X2) - Math.Max(boxA.X1, boxB.X1));
                float yOverlap = Math.Max(0, Math.Min(boxA.Y2, boxB.Y2) - Math.Max(boxA.Y1, boxB.Y1));
    
                // 計算相交部分的面積和并集部分的面積
                float intersectionArea = xOverlap * yOverlap;
                float unionArea = boxA.Area + boxB.Area - intersectionArea;
    
                // 計算IoU
                double iou = (double)intersectionArea / unionArea;
                return iou;
            }
        }
    

Box的定義:

    public class Box {
            public float X1 { get; set; }
            public float Y1 { get; set; }
            public float X2 { get; set; }
            public float Y2 { get; set; }
            public float Score { get; set; }
            // 計算面積
            public float Area => (X2 - X1 + 1) * (Y2 - Y1 + 1);
    
            private Rect GetRect() {
                var hei = Y2 - Y1;
                var wid = X2 - X1;
                if (wid < 0) {
                    wid = 0;
                }
                if (hei < 0) {
                    hei = 0;
                }
                return new Rect(X1, Y1, wid, hei);
            }
    
            private Rect rect = Rect.Empty;
    
            public Rect Rect {
                get {
                    if (rect.IsEmpty) {
                        rect = GetRect();
                    }
                    return rect;
                }
            }
    
        }

3.2.4?使用WPF試試看~

<Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="50" />
            <RowDefinition />
        </Grid.RowDefinitions>
        <Button Click="Button_Click" Content="識別人臉框" />
        <Image x:Name="image" Grid.Row="1" />
    </Grid>
private RTFPrediction prediction = new RTFPrediction();

        private void Button_Click(object sender, RoutedEventArgs e) {
            OpenFileDialog dialog = new OpenFileDialog();
            if (dialog.ShowDialog().Value) {
                var result = prediction.Predict(dialog.FileName);
                if (result!=null) {
                    image.Source = result;
                }
            }
        }

還是導入一張快樂美少女~

.Net也能輕松接入AI模型!

識別到了?。〔⑶椅以赪PF中用DrawingContext為它繪制了紅色矩形框。哎呀!應該用粉色!

再導入一張多人臉圖試試?
.Net也能輕松接入AI模型!
完美~~

4.?其他

本文只描述了三種訓練或者接入機器學習的方式,應該可以實現(xiàn)一部分機器學習的需求,本文只是作為一個.NET平臺機器學習預測的例子,并沒有將ML.Net和傳統(tǒng)Pytorch等成熟框架進行比較,只是給出另外一種選擇。

作為絕大多數(shù).Net開發(fā)者,如果有現(xiàn)成的、不需要跨語言、上手成本低的機器學習框架可以用在現(xiàn)有業(yè)務中,當然沒有必要再學習專業(yè)的人工智能技能了。
需要注意的是,ML.Net是符合.Net Standard2.0標準的,如果在.Net Framework中使用,需要注意版本>=4.6.1

本文只代表作者本人理解,如有出入,歡迎在評論區(qū)指出,不拉不踩,交流為主

本文中出現(xiàn)的代碼已經上傳至github : https://github.com/BigHeadDev/ML.Net.Demo文章來源地址http://www.zghlxwxcb.cn/news/detail-457694.html

到了這里,關于.Net也能輕松接入AI模型!的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • 【前端|Javascript第4篇】詳解Javascript的事件模型:小白也能輕松搞懂!

    【前端|Javascript第4篇】詳解Javascript的事件模型:小白也能輕松搞懂!

    前言 在當今數(shù)字時代,前端技術正日益成為塑造用戶體驗的關鍵。而其中一個不可或缺的核心概念就是 JavaScript的事件模型 ?;蛟S你是剛踏入前端領域的小白,或者是希望深入了解事件模型的開發(fā)者,不論你的經驗如何,本篇博客都將帶你揭開事件模型的神秘面紗。 ?? 作者

    2024年02月13日
    瀏覽(26)
  • 文心一言AI大模型,前端接入

    文心一言AI大模型,前端接入 一、參考接口資料 模型廣場:https://console.bce.baidu.com/qianfan/modelcenter/model/buildIn/list 我的應用:https://console.bce.baidu.com/qianfan/ais/console/onlineService 千帆大模型調用API介紹: https://cloud.baidu.com/doc/WENXINWORKSHOP/s/flfmc9do2 在線調試: https://console.bce.baidu.co

    2024年02月04日
    瀏覽(30)
  • 微信公眾號接入訊飛星火AI大模型

    微信公眾號接入訊飛星火AI大模型

    最近各種AI大模型開始強勢進入大家視野,平時工作和娛樂中也都有使用過。剛好最近阿光在逛B站的時候看見一位阿婆主:技術爬爬蝦 開源了自己搞的一套微信AI助理,使用了訊飛的星火大模型,實現(xiàn)了借助微信公眾號接入AI的功能。 剛好阿光手上還有閑置的微信公眾號和老

    2024年01月25日
    瀏覽(28)
  • TypeChat,用TypeScript快速接入AI大語言模型

    TypeChat,用TypeScript快速接入AI大語言模型

    TypeChat是C# 和 TypeScript 之父 Anders Hejlsberg全新的開源項目。使用AI在自然語言和應用程序和API之間建立橋梁,并且使用TypeScript。 現(xiàn)在出現(xiàn)了很多大型語言模型,但是如何將這些模型最好地集成到現(xiàn)有的應用程序中,如何使用人工智能來接受用戶請求并轉化為我們的應用程序可

    2024年02月15日
    瀏覽(23)
  • 【UE5】離線AI聊天-接入LLAMA語言模型 教程

    【UE5】離線AI聊天-接入LLAMA語言模型 教程

    前言:LLAMA是一種神經網(wǎng)絡模型,全稱為Language Model with an Average Attention Mechanism(具有平均注意機制的語言模型)。它是一種用于自然語言處理任務的模型,特別適用于生成文本和回答問題。LLAMA模型結合了注意力機制和平均池化,以提高模型對輸入文本的理解和生成能力。它

    2024年03月21日
    瀏覽(30)
  • 3秒鐘接入訊飛星火AI大模型就是這么快(Java版)

    3秒鐘接入訊飛星火AI大模型就是這么快(Java版)

    https://xinghuo.xfyun.cn/ https://xinghuo.xfyun.cn/sparkapi 隨便填 https://console.xfyun.cn/services/bm3 目錄 1、注冊訊飛星火賬號 2、領取token 2.1把3.0和1.5的套餐都領了 2.2、 領取的時候創(chuàng)建應用 2.3、選擇創(chuàng)建的應用,拉到最下面下單購買 2.4購買成功后可以查看購買的key信息 一會要用 3、開始部

    2024年04月10日
    瀏覽(22)
  • 【訊飛星火大模型AI】SpringBoot項目快速接入訊飛星火API

    【訊飛星火大模型AI】SpringBoot項目快速接入訊飛星火API

    訊飛官網(wǎng):訊飛星火認知大模型-AI大語言模型-星火大模型-科大訊飛 (xfyun.cn) 新用戶認證之后可以免費領取二百萬token,有效期一年,免費薅羊毛。 認證完成后,創(chuàng)建一個應用(很簡單),點點點就能完成。 2.1 配置 創(chuàng)建完成之后,去github上找到訊飛開放平臺的sdk,推薦下面這個

    2024年04月15日
    瀏覽(20)
  • 教你接入Midjourney,不用梯子也能玩

    教你接入Midjourney,不用梯子也能玩

    話不多說,先上最終出圖效果, 我給的是一只白色的貓 API文檔可以來這里查(可以白嫖100次midjourney出圖和10次gpt4體驗),我這里精簡一下接入流程,方便大家快速接入 首先是先通過文字生圖,token可以去api文檔中復制粘貼過來即可,請求如下: prompt參數(shù),必填,就是

    2024年02月08日
    瀏覽(19)
  • AI百度文心一言大語言模型接入使用(中國版ChatGPT)

    AI百度文心一言大語言模型接入使用(中國版ChatGPT)

    基于百度文心一言語言大模型的智能文本對話AI機器人API,支持聊天對話、行業(yè)咨詢、語言學習、代碼編寫等功能. 重要提示:建議使用https協(xié)議,當https協(xié)議無法使用時再嘗試使用http協(xié)議 請求方式: POST 序號 參數(shù) 是否必須 說明 1 ques 是 你的問題 2 appKey 是 唯一驗證AppKey, 可前往官

    2024年02月12日
    瀏覽(35)
  • 【AI】Python調用訊飛星火大模型接口,輕松實現(xiàn)文本生成

    【AI】Python調用訊飛星火大模型接口,輕松實現(xiàn)文本生成

    隨著chatGPT的出現(xiàn),通用大模型已經成為了研究的熱點,由于眾所周知的原因,亞太地區(qū)調用經常會被禁,在國內,訊飛星火大模型是一個非常優(yōu)秀的中文預訓練模型。本文將介紹如何使用Python調用訊飛星火大模型接口,實現(xiàn)文本生成等功能。 1. 安裝API庫 需要安裝庫,在命令

    2024年02月09日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領取紅包

二維碼2

領紅包