AllInAI.Sharp.API 1.2.1

There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package AllInAI.Sharp.API --version 1.2.1
NuGet\Install-Package AllInAI.Sharp.API -Version 1.2.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AllInAI.Sharp.API" Version="1.2.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add AllInAI.Sharp.API --version 1.2.1
#r "nuget: AllInAI.Sharp.API, 1.2.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install AllInAI.Sharp.API as a Cake Addin
#addin nuget:?package=AllInAI.Sharp.API&version=1.2.1

// Install AllInAI.Sharp.API as a Cake Tool
#tool nuget:?package=AllInAI.Sharp.API&version=1.2.1

AllInAI.Sharp.API

AllInAI.Sharp.API

alternate text is missing from this package README image alternate text is missing from this package README image

English | 中文简介

Version | Usage

AllInAI.Sharp.API is an SDK that calls language models from various platforms, and it helps users quickly integrate with major models. It has integrated OpenAI, chatGLM, Wenxin Qianfan, Synonymous Qianwen, stable-diffusion,pinecone,pgvector etc. It supports setting reverse proxies and streaming interfaces. The AllInAI SDK integrates unified input and output parameters in the chat and image interfaces, making it easy to call. Now, the SDK supports vector library extension, enabling fast implementation of local or cloud-based knowledge base functionality.

AllInAI.Sharp.API一款调用各大平台语言模型的SDK,能帮助使用者快速对接各大模型和向量数据库。已整合OpenAI,chatGLM,文心千帆,同义千问,stable-diffusion,pinecone,pgvector 等 支持设置反向代理,支持流式接口 AllInAI SDK 在聊天和图片接口中整合统一的入参和出参。方便调用。 现在,SDK支持向量库扩展,可以快速实现本地或云端知识库功能。

Install-Package AllInAI.Sharp.API

Completed models include:

  • OpenAI
  • chatGLM
  • Wenxin Qianfan 文心千帆
  • Synonymous Qianwen 通义千问
  • stable-diffusion
  • midjourney
  • pinecone
  • pgvector

Usage example

1. Set the basic configurations:

  • key: The model secret key
  • BaseUrl: The proxy address
  • AIType: The model type, corresponds to the Enums.AITypeEnum enumeration

2. Call the API

1. chat
AuthOption authOption = new AuthOption() { Key = "sk-***", BaseUrl = "https://api.openai.com", AIType = Enums.AITypeEnum.OpenAi };

ChatService chatService = new ChatService(authOption);
CompletionReq completionReq = new CompletionReq();
List<MessageDto> messages = new List<MessageDto>();
messages.Add(new MessageDto() { Role = "user", Content = "Hello!" });
completionReq.Model = "gpt-3.5-turbo";
completionReq.Messages = messages;
CompletionRes completionRes = await chatService.Completion(completionReq);
2. image
AuthOption authOption = new AuthOption() {BaseUrl = "Your api url goes here", AIType = Enums.AITypeEnum.SD };
ImgService imgService = new ImgService(authOption);
Txt2ImgReq imgReq = new Txt2ImgReq();
imgReq.Steps = 20;
imgReq.Size = "1024x1024";
imgReq.N = 1;
imgReq.Prompt = "kitty";
imgReq.ResponseFormat = "b64_json";
ImgRes imgRes = await imgService.Txt2Img(imgReq);
3.audio
AuthOption authOption = new AuthOption() { Key = "sk-***", BaseUrl = "https://api.openai.com", AIType = Enums.AITypeEnum.OpenAi };
AudioService audioService = new AudioService(authOption);
AudioSpeechReq req = new AudioSpeechReq() { Model = "tts-1", Input = "你好,我是饶坤,我是AllInAI.Sharp.API的开发者", Voice = "alloy" };
var res = await audioService.Speech<Stream>(req);
if(res.Data != null) {
    var filePath = $"D:/test/{Guid.NewGuid()}.mp3";
    using (FileStream fileStream = File.Create(filePath)) {
        res.Data.CopyTo(fileStream);
    }
}

How to contribute

  1. Fork & Clone
  2. Create a branch named Feature/name(your github id)/issuexxx
  3. Commit with a commit message, like "solve issue xxx, add xxx"
  4. Create a Pull Request If you would like to contribute, feel free to submit Pull Requests or give us Issues.
Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.2.2-preview3 270 1/25/2024
1.2.2-preview2 234 1/24/2024
1.2.2-preview 273 1/10/2024
1.2.1 376 1/9/2024
1.2.0 341 12/27/2023
1.1.8 352 12/22/2023
1.1.7 329 12/22/2023
1.1.6 388 12/12/2023
1.1.5 334 12/8/2023
1.1.4 350 12/7/2023
1.1.3 387 12/4/2023
1.1.2 341 12/4/2023
1.1.2-preview2 345 12/4/2023
1.1.2-preview1 348 12/4/2023
1.1.1 363 11/30/2023
1.1.0 366 11/30/2023
1.1.0-preview1.0 38 11/30/2023
1.0.1-preview.1 57 11/29/2023
1.0.0 358 11/29/2023