Divooka.Services.AIServices.zh

Divooka.Services.AIServices.LLM.ChatGPT

ChatGPT的API

Divooka.Services.AIServices.LLM.ChatGPT.ChatGPTComplete()

生成来自 ChatGPT 的完成响应,使用提供的查询和配置设置。

Parameters

NameDescriptionDefault
query 要处理的用户查询。
configuration ChatGPT 配置设置,包括模型、API 令牌和令牌大小限制。

ChatGPT 响应

以字符串形式返回 ChatGPT 的响应。

Divooka.Services.AIServices.LLM.ChatGPT.ChatGPTComplete()

使用指定的系统提示、查询、模型、API令牌和令牌大小限制生成ChatGPT的完成响应。

Parameters

NameDescriptionDefault
system 模型的系统级指令。
query 需要处理的用户查询。
model 用于响应的ChatGPT模型。
apiToken 用于身份验证的API令牌。
sizeLimit 响应中允许的最大令牌数。

ChatGPT响应

作为字符串返回的ChatGPT响应。

Divooka.Services.AIServices.LLM.ChatGPT.ChatGPTComplete()

生成来自ChatGPT的完成响应,使用提供的查询和API令牌,并具有默认的模型和令牌大小限制设置。

Parameters

NameDescriptionDefault
query 要处理的用户查询。
token 用于身份验证的API令牌。

ChatGPT响应

作为字符串的ChatGPT响应。

Divooka.Services.AIServices.LLM.ChatGPT.AskChatGPTAboutData()

向ChatGPT询问有关以CSV格式提供的结构化数据的问题。

Parameters

NameDescriptionDefault
question 要询问的问题。
dataCSV 以CSV格式的结构化数据。
apiToken 用于身份验证的API令牌。

ChatGPT响应

ChatGPT的响应作为字符串。

Divooka.Services.AIServices.LLM.ChatGPT.AskChatGPTAboutImage()

向ChatGPT询问有关图像引用的问题。

Parameters

NameDescriptionDefault
question 要询问的问题。
imageReference 对图像的引用(例如,URL或文件路径)。
apiToken 用于身份验证的API令牌。

ChatGPT响应

ChatGPT的响应,作为字符串返回。

Divooka.Services.AIServices.LLM.Components.ChatMessage

表示标准的LLM聊天消息。

Remarks

请注意,这是按照OpenAI标准,无法与HuggingFace和ImageText-Text模型兼容。

Divooka.Services.AIServices.LLM.Components.ChatMessage.MessageType

表示对话中的消息类型。

Divooka.Services.AIServices.LLM.Components.ChatMessage.MessageType.Assistant

A message generated by the assistant.

Divooka.Services.AIServices.LLM.Components.ChatMessage.MessageType.User

用户发送的消息。

Divooka.Services.AIServices.LLM.Components.ChatMessage.MessageType.System

A system message

Divooka.Services.AIServices.LLM.DataStructure.LocalFileSystemVectorStoreHelper

提供生成来自本地文件系统文本文件的向量嵌入的辅助方法。

Remarks

这个辅助类处理被假定为文本文件的文件。

Divooka.Services.AIServices.LLM.DataStructure.LocalFileSystemVectorStoreHelper.GenerateVectorEmbeddings()

生成指定文件夹中文本文件的向量嵌入。

Remarks

此方法从 sourceFolder 检索所有与提供的 filePatterns 匹配的文件,假设这些文件是文本文件。每个文件的内容被读取,然后使用 OpenAIHelper.GetEmbedding() 转换为向量嵌入。

Parameters

NameDescriptionDefault
sourceFolder 包含源文本文件的目录。
filePatterns 用于过滤文件的搜索模式(例如“*.txt”)。
progressReport 一个可选的回调动作,通过接收当前正在处理的文件名来报告进度。

返回的向量存储实例

一个 Divooka.LLM.VectorEmbedding.VectorStore 实例,包含每个文件的名称(不带扩展名)、向量嵌入和完整文本内容。

Divooka.Services.AIServices.LLM.DeepSeek

提供使用 DeepSeek API 获取文本完成的方法, 该 API 构建在 OpenAI API 之上。

Divooka.Services.AIServices.LLM.DeepSeek.DeepSeekModel.DeepSeekChat

DeepSeek V3模型

Divooka.Services.AIServices.LLM.DeepSeek.DeepSeekModel.DeepSeekReasoner

DeepSeek R1 模型

Divooka.Services.AIServices.LLM.DeepSeek.ConfigureDeekSeek()

配置DeepSeek API,通过提供必要的API密钥和模型选择。

Parameters

NameDescriptionDefault
apiKey 用于与DeepSeek API进行身份验证的API密钥。
model 用于生成完成的DeepSeek模型。默认为DeepSeekModel.DeepSeekChat。
chatEndPoint 用于聊天补全的接口地址。
replyTokenSizeLimit 返回词元数目的限制。

API调用配置

一个Divooka.Services.AIServices.Providers.OpenAIConfiguration对象,用于进行API调用。

Divooka.Services.AIServices.LLM.DeepSeek.AutoTranslate()

使用AI将源文本翻译为指定的目标语言。

Remarks

目前未实现分割,且可替代为宏。 不过,如果要添加分割,理想的实现方式是在C#中进行。

Parameters

NameDescriptionDefault
text 要翻译的源文本。
targetLanguage 翻译的目标语言。
configuration OpenAI API的可选配置设置。

翻译后的文本

翻译后的文本。

Divooka.Services.AIServices.LLM.DeepSeek.AutoSummarize()

使用人工智能对给定的源文本进行总结。

Remarks

目前未实现分段,可以用宏替代。 但是,如果要添加分段,以C#实现将是理想的。

Parameters

NameDescriptionDefault
text 要总结的源文本。
configuration 用于OpenAI API的可选配置设置。

总结版本

文本的总结版本。

Divooka.Services.AIServices.LLM.DeepSeek.Complete()

发送文本到 DeepSeek API 并返回生成的完成结果。

Remarks

DeepSeek 在底层使用 OpenAI API。完成结果是通过调用 OpenAIHelper.ChatGPTComplete 获得的。

Parameters

NameDescriptionDefault
query 要完成的文本。
configuration DeepSeek API 的可选配置。如果未提供,将使用默认配置。

生成的文本

一个 System.String 包含生成的完成文本。如果没有提供结果,则返回空字符串。

Divooka.Services.AIServices.LLM.DeepSeek.Complete()

发送系统提示和查询到 DeepSeek API,并返回生成的补全结果。

Remarks

DeepSeek 在底层使用 OpenAI API。通过调用 OpenAIHelper.ChatGPTComplete 获取补全。

Parameters

NameDescriptionDefault
system 指导补全过程行为的系统提示。
query 待补全的文本。
configuration DeepSeek API 的可选配置。如果未提供,则使用默认配置。

返回的补全文本

一个 System.String,包含生成的补全文本。如果没有提供结果,则返回空字符串。

Divooka.Services.AIServices.LLM.DeepSeek.Chat()

提供一个持续的聊天体验,并自动管理内存大小。 此方法与 OpenAI 的 ChatGPT 交互,维护会话历史并根据用户输入和系统提示返回响应。

Parameters

NameDescriptionDefault
sessionHistory 输出参数,返回格式化的会话历史作为 Markdown 字符串。
system 设置聊天上下文的系统提示。
input 用户在聊天会话中的输入消息。
memorySize 在聊天会话中记住的过去交互次数(默认值为 3)。
sessionName 聊天会话的名称,用于识别存储的历史(默认值为 "Default.Session")。
configuration OpenAI API 的可选配置设置。

响应

AI 模型的响应作为字符串,或在失败时的错误消息。

Divooka.Services.AIServices.LLM.Ollama

提供不流式的 API 到 Ollama

Divooka.Services.AIServices.Providers.HuggingFaceServerless

Provides serverless methods powered by HuggingFace service API.

Remarks

由拥抱脸服务 API 提供支持

Divooka.Services.AIServices.Providers.HuggingFaceServerless.HuggingFaceConfiguration

代表HuggingFace API的配置设置。

Divooka.Services.AIServices.Providers.HuggingFaceServerless.HuggingFaceConfiguration.APIKey

获取或设置HuggingFace服务的API密钥。

Divooka.Services.AIServices.Providers.HuggingFaceServerless.TextGeneration()

根据提供的输入使用指定的HuggingFace模型生成文本。

Parameters

NameDescriptionDefault
inputText 输入文本提示。
model 模型标识符(默认为"openai-community/gpt2")。
configuration 包含API密钥的可选配置。

生成的文本响应

生成的文本响应。

Divooka.Services.AIServices.Providers.HuggingFaceServerless.TextToImage()

使用指定的HuggingFace模型从提供的文本生成图像。

Parameters

NameDescriptionDefault
inputText 图像生成的文本提示。
model 模型标识符(默认是“black-forest-labs/FLUX.1-dev”)。
width 期望的图像宽度(默认是512)。
height 期望的图像高度(默认是512)。
configuration 可选配置,包含API密钥。

生成的图像

一个PixelImage表示生成的图像。

Divooka.Services.AIServices.Providers.HuggingFaceServerless.ImageTextToImage()

从图像URL和输入提示生成文本描述,使用指定的HuggingFace模型。

Parameters

NameDescriptionDefault
imageUrl 图像的URL。
prompt 文本提示(默认是“用一句话描述这幅图像。”)。
model 模型标识符(默认是“Qwen/QVQ-72B-preview”)。
configuration 包含API密钥的可选配置。

生成的文本描述

生成的文本描述。

Divooka.Services.AIServices.Providers.OpenAIConfiguration.ReplyTokenSizeLimit

回复令牌大小限制。

Remarks

这是回复消息的令牌大小限制,而不是整个上下文的大小!OpenAI模型有具体的固定上下文大小(例如,o4 mini 为64000) - 这包括原始消息和回复消息。 当我们指定ReplyTokenSizeLimit时,它仅指模型可以回复的大小,应该是:实际消息令牌大小 + 回复令牌大小限制 = 模型令牌大小限制。

Divooka.Services.AIServices.Providers.OpenAIHelper

交互OpenAI服务的助手类。

Divooka.Services.AIServices.Providers.OpenAIHelper.GetTokenCount()

获取给定消息和模型的令牌计数。

Parameters

NameDescriptionDefault
message 要分析的消息。
modelName OpenAI模型的名称。

令牌数量

消息中的令牌数量。

Divooka.Services.AIServices.Providers.OpenAIHelper.ModerateFlag()

使用OpeNAI的审核来确定某些内容是否包含敏感信息。

Parameters

NameDescriptionDefault
content 要检查的内容。
configuration OpenAI配置设置。

包含敏感信息

如果内容被标记,则返回 true,否则返回 false。

Divooka.Services.AIServices.Providers.OpenAIHelper.ChatGPTComplete()

使用ChatGPT生成响应。

Parameters

NameDescriptionDefault
query 用户文本。
configuration OpenAI配置设置。

补全文本

从ChatGPT生成的响应。

Divooka.Services.AIServices.Providers.OpenAIHelper.ChatGPTComplete()

使用系统消息生成 ChatGPT 的完成响应。

Parameters

NameDescriptionDefault
system 系统消息。
query 用户文本。
configuration OpenAI 配置设置。

补全文本

从 ChatGPT 生成的响应。

Divooka.Services.AIServices.Providers.OpenAIHelper.ChatGPTComplete()

使用带有系统消息和消息列表的ChatGPT生成完成。

Parameters

NameDescriptionDefault
system 系统消息。
messages 对话中交换的消息列表。
configuration OpenAI配置设置。

生成的响应

来自ChatGPT生成的响应。

Divooka.Services.AIServices.Providers.OpenAIHelper.ChatGPTComplete()

使用ChatGPT生成补全,具有额外的工具选项。

Parameters

NameDescriptionDefault
system 系统消息。
messages 对话中交换的消息列表。
tools 用于额外处理的工具。
configuration OpenAI配置设置。

生成的回应

从ChatGPT生成的回应。

Divooka.Services.AIServices.Providers.OpenAIHelper.ChatGPTComplete()

使用特定模型的自动配置完成。

Parameters

NameDescriptionDefault
system 系统消息。
userQuery 用户文本。
model 配置。
messageTokenCount 消息中使用的令牌数量。
abortIfExceedAllowance 如果为true,当令牌数量超出允许的限制时中止。

补全文本

从ChatGPT生成的响应。

Divooka.Services.AIServices.Providers.OpenAIHelper.GetEmbedding()

检索给定内容的嵌入表示。

Parameters

NameDescriptionDefault
content 输入内容。
configuration OpenAI 配置设置。

嵌入结果

表示内容的嵌入数组。

Divooka.Services.AIServices.Providers.OpenAIHelper.BreakdownMessageBruteForce()

按照令牌大小限制将消息分解为更小的部分。给定原始消息和允许的最大窗口大小,通过令牌计数将其分解。

Parameters

NameDescriptionDefault
piece 要分解的消息片段。
model OpenAI模型。
availableContextTokenSize 每个段可用的最大令牌数量。

消息部分序列

符合令牌限制的消息部分序列。