(Translated by https://www.hiragana.jp/)
GitHub - Senparc/Senparc.AI: Senparc 全家桶的 AI 扩展包
Skip to content

Senparc ぜんいえおけてき AI 扩展つつみ

License

Notifications You must be signed in to change notification settings

Senparc/Senparc.AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Senaprc.AI

Senparc ぜんいえおけてき AI 扩展つつめ目前もくぜん主要しゅよう集中しゅうちゅう于 LLM(だい语言模型もけいてき交互こうご

项目かい

名称めいしょう 说明 Nuget
Senparc.AI 所有しょゆう标准せっ口和くちわはじめ础功のうてきもと础模块 Senparc.AI
Senparc.AI.Kernel 为基于 Senparc.AI 标准,使用しよう SemanticKernel 实现てきせっこう调用,以实现即插即よう Senparc.AI.Kernel
Senparc.AI.Agents 为基于 Senparc.AI 标准,使用しよう AutoGen 实现てき Agent 集成しゅうせい扩展块。 Senparc.AI.Agents
Senparc.AI.PromptRange
(独立どくりつ项目)
为基于 Senparc.AI 标准,为“PromptRange(提示ていじ词靶场)”なま提供ていきょうそこ层标じゅん支持しじてきそこ层库。目前もくぜんやめ经由 Senparc.Xncf.PromptRange 实现,可用かよう于开发基于 PromptRange てき扩展应用,けんよう Web、桌面、つくえとうけい统(支持しじ .NET 6.0 及以じょうかまち)。NeuCharFramework(NCF) かまちやめ经默认集成しゅうせい Senparc.Xncf.PromptRange无需おさむあらためにんなんだい码,直接ちょくせつ使用しよう。(什么 PromptRange?

开发过程

第一步だいいっぽ配置はいち账号

ざい appsettings.json ちゅう配置はいち OpenAI ある Azure OpenAI てきせっこうしんいき,如:

//Senparc.AI 设置
"SenparcAiSetting": {
  "IsDebug": true,
  "AiPlatform": "NeuCharAI", //注意ちゅういおさむあらため自己じこ平台ひらだい对应てきまい举值
  "NeuCharAIKeys": {
    "ApiKey": "<Your ApiKey>", //ざい https://www.neuchar.com/Developer/AiApp さる
    "NeuCharEndpoint": "https://www.neuchar.com/<DeveloperId>", //查看 ApiKey 时可いた DeveloperId
    "ModelName": {
      "Chat": "gpt-4o",
      "Embedding": "text-embedding-ada-002",
      "TextCompletion": "gpt-35-turbo-instruct"
    }
  },
  "AzureOpenAIKeys": {
    "ApiKey": "<Your AzureApiKey>", 
    "AzureEndpoint": "<Your AzureEndPoint>", //https://xxxx.openai.azure.com/
    "AzureOpenAIApiVersion": "2022-12-01", //调用げんせい参考さんこう:https://learn.microsoft.com/en-us/azure/cognitive-services/openai/quotas-limits
    "ModelName": {
      "Chat": "gpt-35-turbo"
    }
  },
  "OpenAIKeys": {
    "ApiKey": "<Your OpenAIKey>",
    "OrganizationId": "<Your OpenAIOrgId>",
    "OpenAIEndpoint": null,
    "ModelName": {
      "Chat": "gpt-35-turbo"
    }
  },
  "HuggingFaceKeys": {
    "Endpoint": "<Your EndPoint>", //HuggingFace てき Endpoint
    "ModelName": {
      "TextCompletion": "chatglm2"
    }
  },
  "Items": {
    // さらおおてい配置はいち
  }
}

其中:AiPlatform 平台ひらだい类型,目前もくぜん选值为 OpenAINeuCharAIAzureOpenAIHuggingFace FastAPIふん别对应 openai.com かんかたせっこう(OpenAI)、https://www.neuchar.com よし Senparc 提供ていきょう的中てきちゅう转接こうもと于微软 Azure てき AzureOpenAI せっこう(AOAI)、HuggingFace せっ口和くちわ FastAPI せっこうけい统会すえ配置はいち动实现切换,无需ざい逻辑だい码中进行判断はんだん

仅当 AiPlatform 设置为 OpenAI 时,さい需要じゅよう设置 OpenAIKeys 及以さんすう

仅当 AiPlatform 设置为 NeuCharAI 时,さい需要じゅよう设置 NeuCharAIKeys 及以さんすう

仅当 AiPlatform 设置为 AzureOpenAI 时,さい需要じゅよう设置 AzureOpenAIKeys 及以さんすう

其他平台ひらだい以此类推。

まい一个平台类型配置下,ゆういちModelName 节点,よう于设おけ该平台下だいか需要じゅよう支持しじてき模型もけい类型,れい如需ようしょう Chat せっこう设置为 GPT-4 模型もけい,则设おけ"Chat": "gpt-4"

提示ていじ:AzureOpenAI 调用げんせい参考さんこうhttps://learn.microsoft.com/en-us/azure/cognitive-services/openai/quotas-limits
OpenAI 调用げんせい参考さんこう OpenAI きさきだいhttps://platform.openai.com/docs/guides/rate-limits

进阶(いち):配置はいち模型もけい环境

进阶():动态配置はいち模型もけいさんすう

だい:开发

Senparc.AI 使用しようりょう创新てき对话しき编程たい验,您无需了解りょうかい过多不同ふどう平台ひらだい、SDK てき详细用法ようほうただ需要じゅよう按照自己じこてきそうほう进行てい义和编程,さいきさき接收せっしゅう结果,以目ぜんさいてき聊天场景(Chat)为例:

//获取 AI 模型もけい配置はいち(从 appsettings.json 动读取)
var aiSetting = Senparc.AI.Config.SenparcAiSetting;

// 创建 AI Handler 处理(也可以通过工厂依赖注入ちゅうにゅう
var handler = new SemanticAiHandler(aiSetting);

// てい义 AI せっこう调用さんすう Token げんせいとう
var promptParameter = new PromptConfigParameter()
{
    MaxTokens = 2000,
    Temperature = 0.7,
    TopP = 0.5,
};

// じゅん备运ぎょう
var userId = "JeffreySu";//区分くぶんよう
var iWantToRun = 
     handler.IWantTo()
            .ConfigModel(aiSetting.ModelName.Chat, userId, modelName)
            .BuildKernel()
            .RegisterSemanticFunction("ChatBot", "Chat", promptParameter)
            .iWantToRun;

// 输入/つつみ问,获取结果
var prompt = "请问ちゅう国有こくゆう多少たしょう人口じんこう";
var aiRequest = iWantToRun.CreateRequest(prompt, true, true);
var aiResult = await iWantToRun.RunAsync(aiRequest);
//aiResult.Result 结果:中国ちゅうごくてき人口じんこう约为13.8亿。

image

しめせれい

所有しょゆう快速かいそく参考さんこうしめせれい/Samples/ ぶんけん夹内

ぶんけん 说明
Samples/Senparc.AI.Samples.Consoles 命令めいれいぎょう
Samples/Senparc.AI.Samples.Agents Agent(智能ちのうたい)测试,やめ集成しゅうせい AutoGen

命令めいれいしめせれい行使こうしよう说明

1. 开解决方あん

开解决方あん Senparc.AI.sln,设置 appsettings.json ちゅう ApiKey とう平台ひらだいさんすう,启动项目 Senparc.AI.Samples.Consoles

image

2. 操作そうさ

2.1 对话

输入 1,进入对话操作そうさ

image

2.2 TextCompletion

ざいしゅ界面かいめん输入 2 进入 TextCompletion 操作そうさ

image

2.3 Embedding

ざいしゅ界面かいめん输入 3 そく进入 Embedding 操作そうさ,Embedding ぶん为常规信いき引用いんようしんいき两类,はたざいした一步中做选择:

2.3.1 つね规 Embedding(Information)

选择 1,进入いたつね规 Embedding 测试,输入信にゅうしんいきよし 3 个英文えいぶんおかせごう分割ぶんかつ,录入完成かんせいきさき输入 n 开始对话测试:

image

2.3.2 引用いんよう Embedding(Reference)

2.2.2 じょういち选择 2,进入いた引用いんよう Embedding 测试,输入信にゅうしんいきよし 3 个英文えいぶんおかせごう分割ぶんかつ,录入完成かんせいきさき输入 n 开始对话测试:

image

2.4 DallE 绘图操作そうさ

はつはじめ界面かいめんちゅう输入 4,进入 DallE せっこうてき绘图操作そうさ

image

结果はた以 URL てき形式けいしきかえしかい,此时出入でいり s保存ほぞん图片いた本地ほんじ

image

注意ちゅういせっこうかえしかいてき URL いち个暂そん可用かよう持久じきゅうてき展示てんじ需要じゅよう及时保存ほぞん

单元测试

image

TODO:

  1. 实现さら模型もけいしきてきひきはい
  2. 实现ぜん动的こう厂模块自动配置はいち
  3. 集成しゅうせいいた Senaprc.Weixin SDK,0 逻辑だい码实现 AI 能力のうりょくせっいれ(聊天场景为主)。
  4. 集成しゅうせいいた NeuCharFramework,0 逻辑だい码实现 AI 能力のうりょくせっいれ(开发うん运营场景为主)。
  5. 完成かんせいさらおおだま认模がた适配(目前もくぜんやめ提供ていきょうてい义扩てん能力のうりょく
  6. かんぜん独立どくりつぶん

About

Senparc ぜんいえおけてき AI 扩展つつみ

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages