GithubHelp home page GithubHelp logo

baidubce / app-builder Goto Github PK

View Code? Open in Web Editor NEW
403.0 35.0 99.0 30.84 MB

appbuilder-sdk, 千帆AppBuilder-SDK帮助开发者灵活、快速的搭建AI原生应用

Home Page: https://appbuilder.cloud.baidu.com/

License: Apache License 2.0

Python 73.67% Jupyter Notebook 14.33% Shell 0.25% Go 4.20% Java 7.55%
ai-native erniebot large-language-models llm llms qianfan agent appbuilder assistant-api rag

app-builder's Introduction

logo

License Supported Python versions Supported OSs

简体中文 | English


什么是AppBuilder-SDK

百度智能云千帆AppBuilder-SDK是百度智能云千帆AppBuilder面向AI原生应用开发者提供的一站式开发平台的客户端SDK。

我们提供自底向上的:基础组件、流程编排、端到端应用 三类功能。使用百度智能云千帆AppBuilder-SDK,你可以:

  • 配合百度智能云千帆AppBuilder平台网页端,分钟级在本地搭建包含百度工业实践的端到端的AI原生应用
  • 配合 基础组件 & 流程编排,积木式搭建个性化的Assistant + FunctionCall应用
  • 提供 API调用 & 交互式窗口 两种服务化部署方式,支持快速上云,平滑嵌入到你的产品中

如何安装

百度智能云千帆AppBuilder-SDK 最新版本 0.9.0 (2024-06-28)

百度智能云千帆AppBuilder-SDK 更新记录&最新特性请查阅我们的版本说明

  • Python版本安装,要求Python版本 >= 3.9
python3 -m pip install --upgrade appbuilder-sdk
  • JavaGo 版本安装,以及通过Docker镜像使用,请查阅安装说明

快速开始你的第一个AI原生应用

  • 请在>=3.9的Python环境安装appbuilder-sdk后使用该端到端应用示例
  • 示例中提供了试用Token,访问和QPS受限,正式使用请替换为您的个人Token
  • 示例中的应用为:地理小达人,点击该连接在网页端试用

代码示例

import appbuilder
import os

# 设置环境中的TOKEN,以下TOKEN为访问和QPS受限的试用TOKEN,正式使用请替换为您的个人TOKEN
os.environ["APPBUILDER_TOKEN"] = "bce-v3/ALTAK-n5AYUIUJMarF7F7iFXVeK/1bf65eed7c8c7efef9b11388524fa1087f90ea58"

# 从AppBuilder网页获取并传入应用ID,以下为地理小达人应用ID
app_id = "42eb211a-14b9-43d2-9fae-193c8760ef26"

app_builder_client = appbuilder.AppBuilderClient(app_id)
conversation_id = app_builder_client.create_conversation()

answer = app_builder_client.run(conversation_id, "**的首都在哪里?春季天气怎么样?有什么适合玩的景点?")
print(answer.content)

回答展示

**的首都是北京^[2]^。

春季的北京天气多变,早晚温差较大,出门还是要多带件外套。但是,这个季节是北京逛公园的好季节,玉兰花、桃花与迎春花等花卉盛开,为北京的春天增添了美丽的色彩^[1]^。

适合玩的景点有:

  1. 天坛公园。天坛公园是明清两代的皇家祭祀场所,也是世界上现存规模最大的古代祭祀建筑群。
  2. 故宫博物院。故宫是**古代建筑和文化的重要遗产,也是北京的一大旅游景点。
  3. 长城。长城是**古代的一项伟大工程,也是北京周边的重要景点。
  4. 颐和园。颐和园是**古代皇家园林,也是北京的一大旅游景点^[1]^。

更多代码示例

更多AI原生应用示例代码,请浏览 CookBooks,我们有以下cookbook推荐您优先阅读:

应用类型 应用链接 推荐理由
基础能力组件 通用文字识别 体验百度AI开放平台提供的通用文字识别-高精度版的精准识别结果
基础能力组件 基础组件服务化 基础组件可通过flask实现服务化部署 或 通过chainlit实现可交互的前端部署,集成到您的系统中
流程编排 Assistant SDK 学习如何纯代码态搭建一个Agent应用,并实现自定义工作流程及FunctionCall
端到端应用 AppBuilder Client SDK 使用AppBuilder网页端创建并发布一个Agent应用后,通过AppBuilderClient SDK集成到你的系统中
端到端应用 简历筛选小助手 通过对本地简历库的简历进行解析、切片、创建索引,实现基于JD进行简历筛选,并对筛选的Top1简历进行总结
端到端应用 企业级问答系统 学习如何通过SDK与网页平台搭配,实现离线知识库生产与在线问答

更多应用示例

更多AI原生应用示例,请浏览 AppBuilder 应用广场 ,我们有以下热门应用推荐您优先尝试:

应用Icon 应用链接 推荐理由
app icon MBTI人格测试 5道题揭秘你的MBTI人格类型,快来测试吧!
app icon 论文帮手 提供方向与关键词,我能为你推荐相关论文、提供论文的框架模板,并根据推荐的论文撰写综述。
app icon 汽车专家 为你提供各种汽车相关的信息,包括品牌、型号、配置、价格等方面的信息。
app icon 旅行规划专家 无论你是想探索未知的远方,还是寻找身边的美丽风景,我都会为你提供贴心的旅行建议和信息。
app icon 爱因斯坦 你好,我是爱因斯坦,让我们一起探索奇妙的科学世界吧!

百度智能云千帆AppBuilder-SDK 能力全景图

wechat

用户文档

开源社区与活动

百度智能云千帆AppBuilder-SDK微信交流群

wechat

License

AppBuilder-SDK遵循Apache-2.0开源协议。

app-builder's People

Contributors

aiyinyuedejustin avatar barrierye avatar barry2025 avatar birham-red-bd avatar buchongyu2 avatar c9luster avatar cjopengler avatar fengjial avatar foehnc avatar guru4elephant avatar herbertarthur avatar hermitgreen avatar hidu avatar horsedream avatar ide-rea avatar jzhang533 avatar leidongchang avatar longchao1916 avatar mrchengmo avatar qiuhelong avatar qjing666 avatar raullese avatar samaritan1998 avatar seiriosplus avatar smallx avatar sucuicong avatar super-bjut avatar userpj avatar xenon0220 avatar xuyangsun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

app-builder's Issues

增加模型列表获取的SDK

import appbuilder

os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN"

print(appbuilder.show_model_list())

期望结果

当前可以使用的模型列表如下:
Erniebot4-8k
Llama2-13b
...

困扰-文档内嵌套的图片流程图

尊敬的开发者您好,对于文档中的文本类的流程图,没有想到也能够提取文字,但是带来了新的困扰,文档将流程图文本也解析为para_type=text,导致我无法区分哪些是流程图文本,如下图所示,请问有考虑将图片内容提取的文本和其他文本做区分吗,流程图内的文本太碎片,无法区分导致,文档解析后的文本无法阅读
image
image

langchain支持

你好,请问是否有langchain适配appbuilder接口的示例呢?由于appbuilder和百度其它模型调用方式不同,似乎目前的langchain.community中的QianfanChatEndpoint无法直接使用?

query改写效果异常

为什么appbuilder sdk 的query改写不是对最后的query进行改写,而是直接回答了。
27F120F0C6E85524AFFF25A42FA5BDBF

【DocSplitter】设置max_segment_length未生效

  1. 使用的是txt文本文档

  2. 设置的参数如下

splitter = DocSplitter(splitter_type="split_by_chunk", max_segment_length=50, overlap=0,
                       separators=["。", "!", "?", ".", "!", "?", "……", "|\n", "\\n", "\n", ";"])

最终返回结果始终只有一段,且超过设置的50字

文档解析功能返回401

文档解析在使用手册中是免费使用的,但我使用示例代码进行文档解析,返回权限错误。这是什么原因呢?而我使用同样的API KEY进行TTS是可以正常返回结果的。
以下是具体报错信息:
Traceback (most recent call last):
File "/home/yxliu56/code/work/app-builder/docprase.py", line 42, in
parse_result = parser(msg, return_raw=True)
File "/home/yxliu56/code/work/app-builder/appbuilder/core/component.py", line 94, in call
return self.run(*inputs, **kwargs)
File "/home/yxliu56/code/work/app-builder/appbuilder/core/components/doc_parser/doc_parser.py", line 126, in run
self.check_response_header(response)
File "/home/yxliu56/code/work/app-builder/appbuilder/core/component.py", line 149, in check_response_header
raise BaseRPCException(message)
appbuilder.core._exception.BaseRPCException: request_id=30d05399-ea69-4b10-93be-0dcebb70e255 , http status code is 401, body is {"requestId":"30d05399-ea69-4b10-93be-0dcebb70e255","code":216003,"message":"Authentication error: ( Unsupported authorization header type )"}

以下是我的调用代码
`import os
os.environ["APPBUILDER_TOKEN"] = "我的百度apikey,是复制的SDK密钥中的API KEY"
from appbuilder.core.components.doc_parser.doc_parser import DocParser
from appbuilder.core.components.doc_splitter.doc_splitter import DocSplitter
from appbuilder.core.message import Message

进行文档内容解析

file_path = "text.pptx" # 待解析的文件路径
msg = Message(file_path)
parser = DocParser()
parse_result = parser(msg)
print(parse_result.content)`

cookbook中代码存在bug

cookbooks/text_generation.ipynb
1、cookbook中的模型初始化参数名称,有误;
code:
image
error:

1. model_name参数名称错误
2. 模型名称错误

2、问答对结果不对
code:
image

output:
image

MRC component中的MRC Examples不对

class MRC(CompletionBaseComponent):
"""
阅读理解问答组件,基于大模型进行阅读理解问答,支持拒答、澄清、重点强调、友好性提升、溯源等多种功能,可用于回答用户提出的问题。

Examples:

    .. code-block:: python

        import appbuilder
        os.environ["APPBUILDER_TOKEN"] = '...'

        mrc_component = appbuilder.MRC()

        # 获取功能说明
        instructions = mrc_component.get_instruction_set()

        # 输出功能说明
        for key, value in instructions.items():
            print(f"{key}: {value}")

        # 模拟运行MRC组件,开启澄清和友好性提升功能
        result = mrc_component.run(appbuilder.Message("什么是人工智能?"), clarify=True, friendly=True)

        # 输出运行结果
        print(result)

README中,Message几类字写错,应该是Message基类

当前面向开发者提供开放的数据结构,包括Message和Component,方便开发者融入个人已有的大模型应用程序。此部分仍在不断建设中。

消息(Message)
构建大模型应用的统一数据结构,基于Pydantic构建,在不同的Component之间流动。Message几类的默认字段是content,类型是Any。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.