Divooka.Services.AIServices.zh
Divooka.Services.AIServices.LLM.ChatGPT
ChatGPT的API
Divooka.Services.AIServices.LLM.ChatGPT.ChatGPTComplete()
生成来自 ChatGPT 的完成响应,使用提供的查询和配置设置。
Parameters
| Name | Description | Default |
|---|---|---|
query |
要处理的用户查询。 | |
configuration |
ChatGPT 配置设置,包括模型、API 令牌和令牌大小限制。 |
ChatGPT 响应
以字符串形式返回 ChatGPT 的响应。
Divooka.Services.AIServices.LLM.ChatGPT.ChatGPTComplete()
使用指定的系统提示、查询、模型、API令牌和令牌大小限制生成ChatGPT的完成响应。
Parameters
| Name | Description | Default |
|---|---|---|
system |
模型的系统级指令。 | |
query |
需要处理的用户查询。 | |
model |
用于响应的ChatGPT模型。 | |
apiToken |
用于身份验证的API令牌。 | |
sizeLimit |
响应中允许的最大令牌数。 |
ChatGPT响应
作为字符串返回的ChatGPT响应。
Divooka.Services.AIServices.LLM.ChatGPT.ChatGPTComplete()
生成来自ChatGPT的完成响应,使用提供的查询和API令牌,并具有默认的模型和令牌大小限制设置。
Parameters
| Name | Description | Default |
|---|---|---|
query |
要处理的用户查询。 | |
token |
用于身份验证的API令牌。 |
ChatGPT响应
作为字符串的ChatGPT响应。
Divooka.Services.AIServices.LLM.ChatGPT.AskChatGPTAboutData()
向ChatGPT询问有关以CSV格式提供的结构化数据的问题。
Parameters
| Name | Description | Default |
|---|---|---|
question |
要询问的问题。 | |
dataCSV |
以CSV格式的结构化数据。 | |
apiToken |
用于身份验证的API令牌。 |
ChatGPT响应
ChatGPT的响应作为字符串。
Divooka.Services.AIServices.LLM.ChatGPT.AskChatGPTAboutImage()
向ChatGPT询问有关图像引用的问题。
Parameters
| Name | Description | Default |
|---|---|---|
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
| Name | Description | Default |
|---|---|---|
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
| Name | Description | Default |
|---|---|---|
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
| Name | Description | Default |
|---|---|---|
text |
要翻译的源文本。 | |
targetLanguage |
翻译的目标语言。 | |
configuration |
OpenAI API的可选配置设置。 |
翻译后的文本
翻译后的文本。
Divooka.Services.AIServices.LLM.DeepSeek.AutoSummarize()
使用人工智能对给定的源文本进行总结。
Remarks
目前未实现分段,可以用宏替代。
但是,如果要添加分段,以C#实现将是理想的。
Parameters
| Name | Description | Default |
|---|---|---|
text |
要总结的源文本。 | |
configuration |
用于OpenAI API的可选配置设置。 |
总结版本
文本的总结版本。
Divooka.Services.AIServices.LLM.DeepSeek.Complete()
发送文本到 DeepSeek API 并返回生成的完成结果。
Remarks
DeepSeek 在底层使用 OpenAI API。完成结果是通过调用 OpenAIHelper.ChatGPTComplete 获得的。
Parameters
| Name | Description | Default |
|---|---|---|
query |
要完成的文本。 | |
configuration |
DeepSeek API 的可选配置。如果未提供,将使用默认配置。 |
生成的文本
一个 System.String 包含生成的完成文本。如果没有提供结果,则返回空字符串。
Divooka.Services.AIServices.LLM.DeepSeek.Complete()
发送系统提示和查询到 DeepSeek API,并返回生成的补全结果。
Remarks
DeepSeek 在底层使用 OpenAI API。通过调用 OpenAIHelper.ChatGPTComplete 获取补全。
Parameters
| Name | Description | Default |
|---|---|---|
system |
指导补全过程行为的系统提示。 | |
query |
待补全的文本。 | |
configuration |
DeepSeek API 的可选配置。如果未提供,则使用默认配置。 |
返回的补全文本
一个 System.String,包含生成的补全文本。如果没有提供结果,则返回空字符串。
Divooka.Services.AIServices.LLM.DeepSeek.Chat()
提供一个持续的聊天体验,并自动管理内存大小。
此方法与 OpenAI 的 ChatGPT 交互,维护会话历史并根据用户输入和系统提示返回响应。
Parameters
| Name | Description | Default |
|---|---|---|
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
| Name | Description | Default |
|---|---|---|
inputText |
输入文本提示。 | |
model |
模型标识符(默认为"openai-community/gpt2")。 | |
configuration |
包含API密钥的可选配置。 |
生成的文本响应
生成的文本响应。
Divooka.Services.AIServices.Providers.HuggingFaceServerless.TextToImage()
使用指定的HuggingFace模型从提供的文本生成图像。
Parameters
| Name | Description | Default |
|---|---|---|
inputText |
图像生成的文本提示。 | |
model |
模型标识符(默认是“black-forest-labs/FLUX.1-dev”)。 | |
width |
期望的图像宽度(默认是512)。 | |
height |
期望的图像高度(默认是512)。 | |
configuration |
可选配置,包含API密钥。 |
生成的图像
一个PixelImage表示生成的图像。
Divooka.Services.AIServices.Providers.HuggingFaceServerless.ImageTextToImage()
从图像URL和输入提示生成文本描述,使用指定的HuggingFace模型。
Parameters
| Name | Description | Default |
|---|---|---|
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
| Name | Description | Default |
|---|---|---|
message |
要分析的消息。 | |
modelName |
OpenAI模型的名称。 |
令牌数量
消息中的令牌数量。
Divooka.Services.AIServices.Providers.OpenAIHelper.ModerateFlag()
使用OpeNAI的审核来确定某些内容是否包含敏感信息。
Parameters
| Name | Description | Default |
|---|---|---|
content |
要检查的内容。 | |
configuration |
OpenAI配置设置。 |
包含敏感信息
如果内容被标记,则返回 true,否则返回 false。
Divooka.Services.AIServices.Providers.OpenAIHelper.ChatGPTComplete()
使用ChatGPT生成响应。
Parameters
| Name | Description | Default |
|---|---|---|
query |
用户文本。 | |
configuration |
OpenAI配置设置。 |
补全文本
从ChatGPT生成的响应。
Divooka.Services.AIServices.Providers.OpenAIHelper.ChatGPTComplete()
使用系统消息生成 ChatGPT 的完成响应。
Parameters
| Name | Description | Default |
|---|---|---|
system |
系统消息。 | |
query |
用户文本。 | |
configuration |
OpenAI 配置设置。 |
补全文本
从 ChatGPT 生成的响应。
Divooka.Services.AIServices.Providers.OpenAIHelper.ChatGPTComplete()
使用带有系统消息和消息列表的ChatGPT生成完成。
Parameters
| Name | Description | Default |
|---|---|---|
system |
系统消息。 | |
messages |
对话中交换的消息列表。 | |
configuration |
OpenAI配置设置。 |
生成的响应
来自ChatGPT生成的响应。
Divooka.Services.AIServices.Providers.OpenAIHelper.ChatGPTComplete()
使用ChatGPT生成补全,具有额外的工具选项。
Parameters
| Name | Description | Default |
|---|---|---|
system |
系统消息。 | |
messages |
对话中交换的消息列表。 | |
tools |
用于额外处理的工具。 | |
configuration |
OpenAI配置设置。 |
生成的回应
从ChatGPT生成的回应。
Divooka.Services.AIServices.Providers.OpenAIHelper.ChatGPTComplete()
使用特定模型的自动配置完成。
Parameters
| Name | Description | Default |
|---|---|---|
system |
系统消息。 | |
userQuery |
用户文本。 | |
model |
配置。 | |
messageTokenCount |
消息中使用的令牌数量。 | |
abortIfExceedAllowance |
如果为true,当令牌数量超出允许的限制时中止。 |
补全文本
从ChatGPT生成的响应。
Divooka.Services.AIServices.Providers.OpenAIHelper.GetEmbedding()
检索给定内容的嵌入表示。
Parameters
| Name | Description | Default |
|---|---|---|
content |
输入内容。 | |
configuration |
OpenAI 配置设置。 |
嵌入结果
表示内容的嵌入数组。
Divooka.Services.AIServices.Providers.OpenAIHelper.BreakdownMessageBruteForce()
按照令牌大小限制将消息分解为更小的部分。给定原始消息和允许的最大窗口大小,通过令牌计数将其分解。
Parameters
| Name | Description | Default |
|---|---|---|
piece |
要分解的消息片段。 | |
model |
OpenAI模型。 | |
availableContextTokenSize |
每个段可用的最大令牌数量。 |
消息部分序列
符合令牌限制的消息部分序列。