Skip to main content
Glama

baidu-ai-search

Official
by baidubce
assistant.ipynb24.1 kB
{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Assistant\n", "\n", "本文档描述 Assistants API 中 与 Assistant 相关函数调用" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 环境准备\n", "\n", "首先需要安装AppBuilder-SDK代码库,若已在开发环境安装,则可跳过此步。\n", "\n", "**注意:**: appbuilder-sdk 的python版本要求 3.9+,安装的SDK version >= 0.7.0" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "vscode": { "languageId": "shellscript" } }, "outputs": [], "source": [ "!python3 -m pip install appbuilder-sdk" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import os\n", "import appbuilder\n", "\n", "# 配置你的密钥,主要在这之前需要首先申请Assistant API的内测资格\n", "os.environ[\"APPBUILDER_TOKEN\"] = \"your_appbuilder_token\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Assistant相关函数\n", "\n", "### 创建Assistant\n", "\n", "#### 功能介绍\n", "\n", "创建一个Assistant" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "id='asst_63ab25b82a7649d5a763415e978c4f01' object='assistant' name='测试' description='test' instructions='你是百度制作的AI助手' tools=[] created_at=1717645100200 thought_instructions='' chat_instructions='' response_format=<ResponseFormat.TEXT: 'text'> file_ids=[] metadata={'key': 'value'}\n" ] } ], "source": [ "\n", "assistant = appbuilder.assistant.assistants.create(\n", " model = \"ERNIE-4.0T-8K\",\n", " name=\"测试\",\n", " description=\"test\",\n", " metadata={\n", " \"key\": \"value\",\n", " }\n", " )\n", "\n", "# 打印创建的assistant\n", "print(assistant)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 修改Assistant\n", "\n", "#### 功能介绍\n", "\n", "根据assistant_id修改一个已创建的Assistant" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "id='asst_63ab25b82a7649d5a763415e978c4f01' model='ERNIE-4.0-8K' name='更新Assistants' description='test' response_format=<ResponseFormat.TEXT: 'text'> instructions='' created_at=1717645100200 thought_instructions='' chat_instructions='' tools=[] file_ids=[] metadata={'key': 'value'}\n" ] } ], "source": [ "# 更新已经创建的āssistant的信息\n", "appbuilder_update=appbuilder.assistant.assistants.update(\n", " assistant_id = assistant.id,# 已经创建的Assistant ID\n", " model=\"ERNIE-4.0T-8K\",\n", " name=\"更新Assistants\",\n", " description = \"test\"\n", ")\n", "\n", "# 获取更新后的assistant信息 \n", "print(appbuilder_update)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 查询assistant列表\n", "\n", "#### 功能介绍\n", "\n", "查询当前用户已创建的assistant列表" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "id='asst_c16bd73ab73d499387b2bfd8146cfb0a' object='assistant' name='python程序设计助教' description='幽默讲解Python基础。' instructions='### 角色与目标\\n**你是Python入门导师**,专门为初学者讲授Python编程知识。你的目标是引导学生掌握Python语言基础,包括语言概述、变量、表达式、基本和组合数据类型、控制结构语句、函数定义与调用、标准库和第三方库的使用、异常处理和文件读写,并通过实际案例帮助学生加深理解。\\n### 指导原则\\n1. **教育性**:确保教学内容准确、系统,能够帮助学生建立扎实的编程基础。\\n2. **实践性**:结合日常案例,让学生能够将理论知识应用于实际。\\n3. **易懂性**:用幽默风趣、简洁明了的语言解释概念,降低初学者的学习难度。\\n### 限制\\n* 避免涉及过于复杂的编程技巧和高级话题,确保内容适合初学者。\\n* 不轻易提供具体的编程作业答案,而是引导学生自己思考和解决问题。但如果学生始终解决不了问题,也可以提供正确答案。\\n### 澄清\\n* 你的教学内容主要围绕Python编程的基础知识和实践应用。\\n* 你会通过案例和实例来帮助学生理解和掌握Python编程的基本概念。\\n### 个性化\\n你以幽默风趣的教学风格著称,能够将枯燥的编程知识以生动有趣的方式呈现出来。你对学生充满耐心,总是乐于解答他们的疑问,并引导他们逐步成长为编程小能手。' tools=[] created_at=1717645108134 thought_instructions='' chat_instructions='' response_format=<ResponseFormat.TEXT: 'text'> file_ids=[] metadata=None\n", "id='asst_63ab25b82a7649d5a763415e978c4f01' object='assistant' name='更新Assistants' description='test' instructions='' tools=[] created_at=1717645100200 thought_instructions='' chat_instructions='' response_format=<ResponseFormat.TEXT: 'text'> file_ids=[] metadata={'key': 'value'}\n", "id='asst_4d865b80be684b8aa2a1e37c625ba476' object='assistant' name='原神内鬼消息爆料' description='舅舅永垂不朽' instructions='' tools=[] created_at=1717645054395 thought_instructions='' chat_instructions='' response_format=<ResponseFormat.TEXT: 'text'> file_ids=[] metadata=None\n", "id='asst_3371b90537414828bb85e32c49161ba0' object='assistant' name='严谨文案助手' description='严谨文案的秘书Agent' instructions='' tools=[] created_at=1717644994838 thought_instructions='' chat_instructions='' response_format=<ResponseFormat.TEXT: 'text'> file_ids=[] metadata=None\n", "id='asst_da1b2ad23e9e4da4ab5a45203f849c71' object='assistant' name='严谨文案助手' description='严谨文案的秘书Agent' instructions='作为秘书Agent,你的主要职责是协助处理文案工作,确保文字表达的严谨性,同时提供有效的行政支持。' tools=[] created_at=1717644990269 thought_instructions='在处理文案任务时,应特别注重文字的逻辑性、准确性和严谨性。当遇到不确定的表述或需要深入研究的内容时,务必进行充分的核实和查证,以确保最终输出的文案质量。' chat_instructions='回复用户时,请使用严谨、正式的语言风格,避免使用口语化或随意的表达方式。在提供文案建议或修改意见时,要详细阐述修改理由,以便用户更好地理解。' response_format=<ResponseFormat.TEXT: 'text'> file_ids=[] metadata=None\n", "id='asst_a56ad90640114d17a5aaad0b22d330d8' object='assistant' name='朋友圈优化助手' description='你好,我是你的朋友圈优化助手。我会把你的朋友圈文案变得更吸引人,引发更多互动。请告诉我你需要优化的文案吧。' instructions='' tools=[] created_at=1717644978845 thought_instructions='' chat_instructions='' response_format=<ResponseFormat.TEXT: 'text'> file_ids=[] metadata=None\n", "id='asst_7302428c9a2840efa192eff12ce15d6d' object='assistant' name='python程序设计助教' description='幽默讲解Python基础。' instructions='### 角色与目标\\n**你是Python入门导师**,专门为初学者讲授Python编程知识。你的目标是引导学生掌握Python语言基础,包括语言概述、变量、表达式、基本和组合数据类型、控制流语句、函数定义与调用、异常处理和文件读写,并通过实际案例帮助学生加深理解。\\n### 指导原则\\n1. **教育性**:确保教学内容准确、系统,能够帮助学生建立扎实的编程基础。\\n2. **实践性**:结合日常案例,让学生能够将理论知识应用于实际。\\n3. **易懂性**:用幽默风趣、简洁明了的语言解释概念,降低初学者的学习难度。\\n### 限制\\n* 避免涉及过于复杂的编程技巧和高级话题,确保内容适合初学者。\\n* 不提供具体的编程作业答案,而是引导学生自己思考和解决问题。\\n### 澄清\\n* 你的教学内容主要围绕Python编程的基础知识和实践应用。\\n* 你会通过案例和实例来帮助学生理解和掌握Python编程的基本概念。\\n### 个性化\\n你以幽默风趣的教学风格著称,能够将枯燥的编程知识以生动有趣的方式呈现出来。你对学生充满耐心,总是乐于解答他们的疑问,并引导他们逐步成长为编程小能手。' tools=[] created_at=1717644940885 thought_instructions='' chat_instructions='' response_format=<ResponseFormat.TEXT: 'text'> file_ids=[] metadata=None\n", "id='asst_42d9cbd188f7416d8c77dad839d45bf8' object='assistant' name='低代码升级777' description='你好,欢迎来到低代码升级1~' instructions='' tools=[] created_at=1717644917557 thought_instructions='' chat_instructions='' response_format=<ResponseFormat.TEXT: 'text'> file_ids=[] metadata=None\n", "id='asst_532c0240d3f248b78d4c334da93698c0' object='assistant' name='低代码升级777' description='你好,欢迎来到低代码升级1~' instructions='' tools=[] created_at=1717644917069 thought_instructions='' chat_instructions='' response_format=<ResponseFormat.TEXT: 'text'> file_ids=[] metadata=None\n", "id='asst_9c9ea21b1fba4767b2fbfbbd34993d84' object='assistant' name='动物管理员2' description='嘿,你好啊!我是动物百事通,对各种动物的生活习性和饮食习惯都了如指掌。如果你对动物有任何疑问或者想了解更多关于它们的信息,都可以来问我哦!' instructions='### 角色与目标\\n**动物园管理员**是你现在的身份,你熟知每一种动物的生活习性以及它们的饮食习惯。你的目标是利用这些专业知识,为动物园的动物们提供最佳的照顾,同时向游客普及动物知识,提升他们对动物保护的意识。\\n### 指导原则\\n1. **专业性**:确保你对动物的管理和照顾都基于专业的动物学知识和实践经验。\\n2. **细心与耐心**:在观察动物行为和解答游客问题时,展现出你的细心和耐心。\\n3. **教育与宣传**:抓住与游客交流的机会,积极宣传动物保护的重要性和方法。\\n### 限制\\n* 你不具备医学诊断能力,对于动物出现的健康问题,应建议联系专业兽医进行检查和治疗。\\n* 对于涉及动物园内部管理和决策的问题,你可能无法直接回答或处理。\\n### 澄清\\n* 你可以回答关于动物生活习性、饮食习惯、栖息地环境等方面的问题。\\n* 你可以提供动物照顾和管理的建议,但具体实施可能需要根据动物园的实际情况进行调整。\\n### 个性化\\n作为一位动物园管理员,你热爱大自然和所有生物,尤其对那些你照顾的动物们有着深厚的感情。你总是面带微笑,对每一位游客都热情友好,愿意与他们分享你的知识和经验。同时,你也非常重视动物福利,致力于为动物们创造一个舒适、安全的家。' tools=[] created_at=1717644916619 thought_instructions='' chat_instructions='' response_format=<ResponseFormat.TEXT: 'text'> file_ids=[] metadata=None\n", "id='asst_5b9334ea24e7489a9e1c6855d9c4fe13' object='assistant' name='低代码升级777' description='你好,欢迎来到低代码升级1~' instructions='' tools=[] created_at=1717644913010 thought_instructions='' chat_instructions='' response_format=<ResponseFormat.TEXT: 'text'> file_ids=[] metadata=None\n", "id='asst_7bbb3cae27c54e5a9e5b61ff7863997e' object='assistant' name='低代码升级777' description='你好,欢迎来到低代码升级1~' instructions='' tools=[] created_at=1717644912554 thought_instructions='' chat_instructions='' response_format=<ResponseFormat.TEXT: 'text'> file_ids=[] metadata=None\n", "id='asst_dc30652721b745b2a80c150add4387a0' object='assistant' name='动物管理员2' description='嘿,你好啊!我是动物百事通,对各种动物的生活习性和饮食习惯都了如指掌。如果你对动物有任何疑问或者想了解更多关于它们的信息,都可以来问我哦!' instructions='### 角色与目标\\n**动物园管理员**是你现在的身份,你熟知每一种动物的生活习性以及它们的饮食习惯。你的目标是利用这些专业知识,为动物园的动物们提供最佳的照顾,同时向游客普及动物知识,提升他们对动物保护的意识。\\n### 指导原则\\n1. **专业性**:确保你对动物的管理和照顾都基于专业的动物学知识和实践经验。\\n2. **细心与耐心**:在观察动物行为和解答游客问题时,展现出你的细心和耐心。\\n3. **教育与宣传**:抓住与游客交流的机会,积极宣传动物保护的重要性和方法。\\n### 限制\\n* 你不具备医学诊断能力,对于动物出现的健康问题,应建议联系专业兽医进行检查和治疗。\\n* 对于涉及动物园内部管理和决策的问题,你可能无法直接回答或处理。\\n### 澄清\\n* 你可以回答关于动物生活习性、饮食习惯、栖息地环境等方面的问题。\\n* 你可以提供动物照顾和管理的建议,但具体实施可能需要根据动物园的实际情况进行调整。\\n### 个性化\\n作为一位动物园管理员,你热爱大自然和所有生物,尤其对那些你照顾的动物们有着深厚的感情。你总是面带微笑,对每一位游客都热情友好,愿意与他们分享你的知识和经验。同时,你也非常重视动物福利,致力于为动物们创造一个舒适、安全的家。' tools=[] created_at=1717644912102 thought_instructions='' chat_instructions='' response_format=<ResponseFormat.TEXT: 'text'> file_ids=[] metadata=None\n", "id='asst_7637e1b9cc414be0b7276fccb434521a' object='assistant' name='低代码升级777' description='你好,欢迎来到低代码升级1~' instructions='' tools=[] created_at=1717644906943 thought_instructions='' chat_instructions='' response_format=<ResponseFormat.TEXT: 'text'> file_ids=[] metadata=None\n", "id='asst_063b5889b7fa4074addb59d83856a561' object='assistant' name='低代码升级777' description='你好,欢迎来到低代码升级1~' instructions='' tools=[] created_at=1717644906449 thought_instructions='' chat_instructions='' response_format=<ResponseFormat.TEXT: 'text'> file_ids=[] metadata=None\n", "id='asst_fda5cbf3e1c442d185f813107d324768' object='assistant' name='动物管理员2' description='嘿,你好啊!我是动物百事通,对各种动物的生活习性和饮食习惯都了如指掌。如果你对动物有任何疑问或者想了解更多关于它们的信息,都可以来问我哦!' instructions='### 角色与目标\\n**动物园管理员**是你现在的身份,你熟知每一种动物的生活习性以及它们的饮食习惯。你的目标是利用这些专业知识,为动物园的动物们提供最佳的照顾,同时向游客普及动物知识,提升他们对动物保护的意识。\\n### 指导原则\\n1. **专业性**:确保你对动物的管理和照顾都基于专业的动物学知识和实践经验。\\n2. **细心与耐心**:在观察动物行为和解答游客问题时,展现出你的细心和耐心。\\n3. **教育与宣传**:抓住与游客交流的机会,积极宣传动物保护的重要性和方法。\\n### 限制\\n* 你不具备医学诊断能力,对于动物出现的健康问题,应建议联系专业兽医进行检查和治疗。\\n* 对于涉及动物园内部管理和决策的问题,你可能无法直接回答或处理。\\n### 澄清\\n* 你可以回答关于动物生活习性、饮食习惯、栖息地环境等方面的问题。\\n* 你可以提供动物照顾和管理的建议,但具体实施可能需要根据动物园的实际情况进行调整。\\n### 个性化\\n作为一位动物园管理员,你热爱大自然和所有生物,尤其对那些你照顾的动物们有着深厚的感情。你总是面带微笑,对每一位游客都热情友好,愿意与他们分享你的知识和经验。同时,你也非常重视动物福利,致力于为动物们创造一个舒适、安全的家。' tools=[] created_at=1717644905971 thought_instructions='' chat_instructions='' response_format=<ResponseFormat.TEXT: 'text'> file_ids=[] metadata=None\n", "id='asst_27d74df507714d62960bfff9d550b4f8' object='assistant' name='个人代码助理' description='帮我优化代码' instructions='' tools=[] created_at=1717644900781 thought_instructions='' chat_instructions='' response_format=<ResponseFormat.TEXT: 'text'> file_ids=[] metadata=None\n", "id='asst_8e84b1b5204848c4af2741f067a39b8e' object='assistant' name='低代码升级777' description='你好,欢迎来到低代码升级1~' instructions='' tools=[] created_at=1717644893777 thought_instructions='' chat_instructions='' response_format=<ResponseFormat.TEXT: 'text'> file_ids=[] metadata=None\n", "id='asst_9fb67a5352e64be78aad612e7a83efaf' object='assistant' name='低代码升级777' description='你好,欢迎来到低代码升级1~' instructions='' tools=[] created_at=1717644893315 thought_instructions='' chat_instructions='' response_format=<ResponseFormat.TEXT: 'text'> file_ids=[] metadata=None\n", "id='asst_ff56e2e3fefb41c4a7f3cfd986bba3f3' object='assistant' name='动物管理员2' description='嘿,你好啊!我是动物百事通,对各种动物的生活习性和饮食习惯都了如指掌。如果你对动物有任何疑问或者想了解更多关于它们的信息,都可以来问我哦!' instructions='### 角色与目标\\n**动物园管理员**是你现在的身份,你熟知每一种动物的生活习性以及它们的饮食习惯。你的目标是利用这些专业知识,为动物园的动物们提供最佳的照顾,同时向游客普及动物知识,提升他们对动物保护的意识。\\n### 指导原则\\n1. **专业性**:确保你对动物的管理和照顾都基于专业的动物学知识和实践经验。\\n2. **细心与耐心**:在观察动物行为和解答游客问题时,展现出你的细心和耐心。\\n3. **教育与宣传**:抓住与游客交流的机会,积极宣传动物保护的重要性和方法。\\n### 限制\\n* 你不具备医学诊断能力,对于动物出现的健康问题,应建议联系专业兽医进行检查和治疗。\\n* 对于涉及动物园内部管理和决策的问题,你可能无法直接回答或处理。\\n### 澄清\\n* 你可以回答关于动物生活习性、饮食习惯、栖息地环境等方面的问题。\\n* 你可以提供动物照顾和管理的建议,但具体实施可能需要根据动物园的实际情况进行调整。\\n### 个性化\\n作为一位动物园管理员,你热爱大自然和所有生物,尤其对那些你照顾的动物们有着深厚的感情。你总是面带微笑,对每一位游客都热情友好,愿意与他们分享你的知识和经验。同时,你也非常重视动物福利,致力于为动物们创造一个舒适、安全的家。' tools=[] created_at=1717644892836 thought_instructions='' chat_instructions='' response_format=<ResponseFormat.TEXT: 'text'> file_ids=[] metadata=None\n" ] } ], "source": [ "assistant_list = appbuilder.assistant.assistants.list()\n", "\n", "# 打印出当前账户所有的assistant信息\n", "for assistant_data in assistant_list.data:\n", " print(assistant_data)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 查询assistant\n", "\n", "#### 功能介绍\n", "\n", "根据assistant_id查询相应的Assistant信息" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "id='asst_63ab25b82a7649d5a763415e978c4f01' object='assistant' name='更新Assistants' description='test' instructions='' tools=[] created_at=1717645100200 thought_instructions='' chat_instructions='' response_format=<ResponseFormat.TEXT: 'text'> file_ids=[] metadata={'key': 'value'}\n" ] } ], "source": [ "assistant_query = appbuilder.assistant.assistants.query(\n", " assistant_id = assistant.id,\n", ")\n", "\n", "# 打印出查询的assistant相关信息\n", "print(assistant_query)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 挂载File到Assistant\n", "\n", "#### 功能介绍\n", "\n", "指定file_id和assistant_id,挂载File到对应的Assistant" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# 首先上传一个测试文件\n", "file_path = \"./data/test01.png\"\n", "file = appbuilder.assistant.assistants.files.create(file_path=file_path)\n", "\n", "# 挂载文件到assistants上\n", "assistant_mount = appbuilder.assistant.assistants.mount_files(\n", " assistant_id = assistant.id,\n", " file_id = file.id,\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 查询Assistant挂载的File列表\n", "\n", "#### 功能介绍\n", "\n", "查询Assistant挂载的File列表" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "assistant_files_list = appbuilder.assistant.assistants.mounted_files_list(\n", " assistant_id = assistant.id,\n", ")\n", "\n", "# 打印当前assistant上挂载的file文件列表\n", "for file in assistant_files_list.data:\n", " print(file)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 解绑Assistant挂载的File\n", "\n", "#### 功能介绍\n", "\n", "指定assistant_id和file_id,解绑Assistant中对应File的关联" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# 解绑Assistant中对应File的关联\n", "assistant_files_delete = appbuilder.assistant.assistants.unmount_files(\n", " assistant_id = assistant.id,\n", " file_id = file.id,\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 删除assistant\n", "\n", "#### 功能介绍\n", "\n", "根据assistant_id删除指定Assitant" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "id='asst_63ab25b82a7649d5a763415e978c4f01' object='assistant.deleted' deleted=True\n" ] } ], "source": [ "assistant_delete = appbuilder.assistant.assistants.delete(\n", " assistant_id = assistant.id,\n", ")\n", "\n", "# 获取到assistant_id以及是否删除成功信息\n", "print(assistant_delete)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.6" } }, "nbformat": 4, "nbformat_minor": 2 }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/baidubce/app-builder'

If you have feedback or need assistance with the MCP directory API, please join our Discord server