检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Python SDK 安装SDK 配置SDK LLMs(语言模型) Prompt(提示词模板) Memory(记忆) Skill(技能) Agent(智能代理) 应用示例 父主题: 盘古应用开发SDK
Memory(记忆)支持多种不同的存储方式和功能。 Cache缓存:是一种临时存储数据的方法,它可以提高数据的访问速度和效率。缓存可以根据不同的存储方式进行初始化、更新、查找和清理操作。缓存还可以支持语义匹配和查询,通过向量和相似度的计算,实现对数据的语义理解和检索。 Vector向量存储:
本地导入 从support网站上下载pangu-kits-app-dev-py的whl包。 建议使用conda创建一个新的python环境,python版本选择3.9。 在whl包同级目录下,执行如下命令安装: pip install pangu_kits_app_dev_py-2
实例化Tool Tool分为StaticTool(静态工具)和DynamicTool(动态工具)两类,静态工具需要开发者事先定义好,即在编译期定义与实例化;动态工具开发者可以在系统运行时动态构建,即在运行态定义与实例化。 StaticTool(静态工具) 静态工具可以通过继承To
Skill(技能) 基础问答 多轮对话 文档问答 文档摘要 父主题: Python SDK
调整随机抽样的程度,温度值越高,随机性越大; 范围见模型API规范 top_p: Optional[float] # 核采样值, 和temperature不同时配置 presence_penalty: Optional[float] # 存在惩罚,增加模型谈论新主题的可能性,范围见具体模型API规范
Agent(智能代理),用于对复杂任务的自动拆解与外部工具调用执行,一般包括任务规划、记忆系统和执行系统。 任务规划:将复杂目标任务分解为小的可执行子任务,通过评估、自我反思等方式提升规划成功率。 记忆系统:通过构建记忆模块去管理历史任务和策略,并让Agent结合记忆模块中相关的信息以获取最优化任务解决策略。
应用示例 搜索增强 长文本摘要 父主题: Python SDK
llm.iam.iamPwd={Crypto.key_id}cipher`,其中key_id和cipher会在配置项读取时被解析传递进decrypt_func方法中,进行解密。 父主题: Python SDK
配置sdk配置项,指定prompt文件绝对路径,以 /home 路径为例 sdk.prompt.path=/home/prompts/default 父主题: Python SDK
文档问答 基于已有的知识库进行回答。有stuff、refine和map-reduce策略。 Stuff:将所有文档直接填充到prompt中,提给模型回答,适合文档较少的场景。 from pangukitsappdev.api.embeddings.factory import Embeddings
语义缓存(同步适配langchain语义缓存暂时不支持expire_after_write) 语义缓存是一种基于向量和相似度的缓存方法,它可以实现对数据的语义匹配和查询。语义缓存可以根据不同的向量存储、相似算法、评分规则和阈值进行配置,并且可以使用不同的词向量模型进行嵌入。 from pangukitsappdev
搜索增强 场景介绍 私有化场景下,大模型需要基于现存的私有数据提供服务。通过外挂知识库(Embedding、向量库)方式提供通用的、标准化的文档问答场景。 工程实现 准备知识库。 获取并安装SDK包。 在配置文件(llm.properties)中配置模型信息。 # 盘古模型IAM
基础问答 提供简单的对话实现。 初始化 from pangukitsappdev.api.llms.factory import LLMs from pangukitsappdev.api.skill.base import SimpleSkill from langchain.prompts
"baz"})] ] vector_api.add_docs(bulk_list) 通过vectorStoreConfig判断使用CSS的插件模式和非插件模式。如果配置了embedding模型,则使用非插件模式,否则使用插件模式。注意,在非插件模式下,vectorFields有且只有1个。
文档摘要 基于已有的知识库,进行摘要总结。有stuff、refine、map-reduce策略。 Stuff:将所有文档直接填充到prompt中,提给模型处理,适合文档较少的场景。 from pangukitsappdev.api.embeddings.factory import
Agent流式输出 Agent用于工具调用场景,与普通的LLM流式输出相比,区分了文本流与工具流。文本流将输出模型的思考过程和最终结果;工具流将输出工具的调用过程,而工具的调用的执行结果是通过监听获取的。 通过如下接口为Agent添加流式输出的回调: from pangukitsappdev
History缓存,用于存储历史对话信息,辅助模型理解上下文信息,历史消息对有固定窗口、消息摘要等策略。 初始化:消息记录支持不同的存储方式, 如内存、DCS(Redis)和RDS(Sql)。 from pangukitsappdev.memory.sql_message_history import SQLMessageHistory
ider将由用户自定义,后续会有例子说明。 上述例子使用的向量数据库配置指定索引名称,以及使用name和description作为向量化字段,因此工具入库时,会将工具的name和description进行向量化,并在后续的检索中生效。 注意,上述tool_list中包含的工具在SDK中并不存在,需要替换成实际的工具。
长文本摘要 场景介绍 切割长文本,利用大模型逐步总结。 如对会议/报告/文章等较长内容总结概述。 工程实现 获取并安装SDK包。 在配置文件(llm.properties)中配置模型信息。 # IAM 认证信息,根据实际填写 sdk.llm.pangu.iam.url= sdk.llm