源代码级一步一步编写自己的Assistant,GPTs 和 Assistants API 推出,AI Agent,chatgpt

先简单介绍,然后直接上源代码。

The Assistants API 允许您在自己的应用程序中构建 AI 助手。助手具有指令,并可以利用模型、工具和知识来回应用户的查询。助手 API 目前支持三种类型的工具:代码解释器、检索和函数调用。在未来,我们计划发布更多由 OpenAI 构建的工具,并允许您在我们的平台上提供自己的工具。

您可以使用助手 API 沙盒或按照本指南中概述的逐步集成方法,探索助手 API 的功能。从高层次来看,助手 API 的典型集成流程如下:

  1. 在 API 中创建助手(assistant),定义其自定义指令并选择一个模型。如果需要,启用代码解释器、检索和函数调用等工具。
  2. 当用户开始对话时,在 API 中创建一个thread(会话)。
  3. 随着用户提问,将消息添加到thread(会话)中。
  4. 在thread(会话)上运行(run)助手以触发响应。这会自动调用相关的工具。

助手 API 目前处于测试阶段,我们正在积极添加更多功能。请在我们的开发者论坛上分享您的反馈!

此入门指南逐步介绍了创建和运行一个使用代码解释器的助手的关键步骤。

智增增API地址:gpt.zhizengzeng.com/#/login

先从这里拿到key,github地址:github.com/xing61/xiao...

  • 创建一个assistant
ini 复制代码
API_SECRET_KEY = "你的智增增获取的api_key";
BASE_URL = "https://flag.smarttrot.com/v1/"; #智增增的base_url

# assistant
def create_assistant():
    client = OpenAI(api_key=API_SECRET_KEY, base_url=BASE_URL)
    assistant = client.beta.assistants.create(
        name="Math Tutor",
        instructions="You are a personal math tutor. Write and run code to answer math questions.",
        tools=[{"type": "code_interpreter"}],
        model="gpt-4-1106-preview"
    )
    print(assistant)
  • 创建一个thread(会话)
ini 复制代码
API_SECRET_KEY = "你的智增增获取的api_key";
BASE_URL = "https://flag.smarttrot.com/v1/"; #智增增的base_url

# thread
def create_thread():
    client = OpenAI(api_key=API_SECRET_KEY, base_url=BASE_URL)
    thread = client.beta.threads.create()
    print(thread)
  • add a message
ini 复制代码
API_SECRET_KEY = "你的智增增获取的api_key";
BASE_URL = "https://flag.smarttrot.com/v1/"; #智增增的base_url

def add_message(thread_id):
    client = OpenAI(api_key=API_SECRET_KEY, base_url=BASE_URL)
    message = client.beta.threads.messages.create(
        thread_id=thread_id, # 助手的会话id要从上一步获取得到
        role="user",
        content="I need to solve the equation `3x + 11 = 14`. Can you help me?"
    )
    print(message)
  • run这个助手
ini 复制代码
API_SECRET_KEY = "你的智增增获取的api_key";
BASE_URL = "https://flag.smarttrot.com/v1/"; #智增增的base_url

# run a assistant
def run(assistant_id, thread_id):
    client = OpenAI(api_key=API_SECRET_KEY, base_url=BASE_URL)
    run = client.beta.threads.runs.create(
        thread_id=thread_id,  # 助手的会话id要从上一步获取得到
        assistant_id=assistant_id, # 助手的id要从上一步获取得到
        instructions="Please address the user as Jane Doe. The user has a premium account."
    )
    print(run)
  • 检查是否run完成

要注意的是:

上一步提交完run任务之后,会话是需要一段时间来执行的。

也就是说助手是否执行完成,是需要有一个判断的

这里通过返回数据的:status=completed来进行判断

ini 复制代码
API_SECRET_KEY = "你的智增增获取的api_key";
BASE_URL = "https://flag.smarttrot.com/v1/"; #智增增的base_url

# retrieve,检查执行状态
def retrieve(thread_id, run_id):
    print("retrieve");
    client = OpenAI(api_key=API_SECRET_KEY, base_url=BASE_URL)
    run = client.beta.threads.runs.retrieve(
        thread_id=thread_id, # 助手的会话id要从上一步获取得到
        run_id=run_id  # 助手的run id要从上一步获取得到
    )
    print(run)
  • 获取助手的回答
ini 复制代码
API_SECRET_KEY = "你的智增增获取的api_key";
BASE_URL = "https://flag.smarttrot.com/v1/"; #智增增的base_url

# 获取助手的回答
# Once the Run completes, you can retrieve the Messages added by the Assistant to the Thread.
def list_messages(thread_id):
    client = OpenAI(api_key=API_SECRET_KEY, base_url=BASE_URL)
    messages = client.beta.threads.messages.list(
        thread_id=thread_id  # 助手的会话id要从上一步获取得到
    )
    print(messages)

恭喜,助手搭建告成!!

你就用指定模型和工具建立了一个自己的助手了

可以去发布赚钱了

相关推荐
fanstuck6 小时前
Prompt提示工程上手指南(七)Prompt编写实战-基于智能客服问答系统下的Prompt编写
人工智能·数据挖掘·openai
mortimer8 小时前
实现一个用于cosoyVoice2的接口并兼容OpenAI TTS
openai·阿里巴巴
that's boy13 小时前
突围边缘:OpenAI开源实时嵌入式API,AI触角延伸至微观世界
人工智能·gpt·chatgpt·开源·openai·midjourney
AIGC大时代16 小时前
如何使用ChatGPT辅助文献综述,以及如何进行优化?一篇说清楚
人工智能·深度学习·chatgpt·prompt·aigc
hunteritself1 天前
AI Weekly『12月16-22日』:OpenAI公布o3,谷歌发布首个推理模型,GitHub Copilot免费版上线!
人工智能·gpt·chatgpt·github·openai·copilot
新智元1 天前
LeCun 八年前神预言,大模型路线再颠覆?OpenAI 宣告:强化学习取得稳定性突破
人工智能·openai
测试者家园1 天前
ChatGPT生成接口文档的方法与实践
软件测试·chatgpt·测试用例·接口测试·接口文档·ai赋能·用chatgpt做软件测试
小虚竹2 天前
如何利用ChatGPT生成不同类型的文章大纲
chatgpt
AI小欧同学2 天前
【AIGC-ChatGPT进阶副业提示词】育儿锦囊:化解日常育儿难题的实用指南
chatgpt·aigc
测试者家园2 天前
ChatGPT接口测试用例生成的流程
软件测试·chatgpt·测试用例·接口测试·测试图书·质量效能·用chatgpt做测试