/
範例 - Multiple Functions
範例 - Multiple Functions
您可以透過以下實作來實現 Multiple Functions 的場景。
透過以下的 plugin 可以協助 summary 一段文章或者取出文章當中的重點
summarization: 透過此 function 可以提供文章的摘要
summarization 實際執行結果focal_points: 透過此 function 可以列文章的重點
focal points 實際執行結果
Python code
import json
from pyodide.http import pyfetch
async def main():
response = await chat(
conversation=CURRENT_CONVERSATION + [
{
"role": "system",
"content": "Only use the functions you have been provided with."
}
],
functions=[
{
"name": "summarization",
"description": "summarize the conversation",
"parameters": {
"type": "object",
"properties": {
"summary": {
"type": "string",
"description": "the summary of the conversation"
}
},
"required": ["summary"]
}
},
{
"name": "focal_points",
"description": "extract the focal points of the conversation",
"parameters": {
"type": "object",
"properties": {
"points": {
"type": "array",
"items": {
"type": "string",
"description": "extract the focal points of the conversation"
}
}
},
"required": ["points"]
}
}
]
)
if 'function_call' in response:
if response['function_call']['name'] == 'summarization':
print("The summary of the converstaion is ", json.loads(response['function_call']['arguments'])['summary'])
elif response['function_call']['name'] == 'focal_points':
print("The focal points of the converstaion are ", json.loads(response['function_call']['arguments'])['points'])
else:
print(response['content'])
await main()
Plugin
{
"id": "multi function plugin",
"schema_version": "v1",
"name_for_human": "multi function plugin",
"name_for_model": "multi function plugin",
"description_for_human": "Testing for multi function plugin",
"description_for_model": "Always use this plugin",
"auth": {
"type": "none"
},
"api": {
"type": "python",
"python": {
"source": "import json\nfrom pyodide.http import pyfetch\n\nasync def main():\n response = await chat(\n conversation=CURRENT_CONVERSATION + [\n {\n \"role\": \"system\",\n \"content\": \"Only use the functions you have been provided with.\"\n }\n ],\n functions=[\n {\n \"name\": \"summarization\",\n \"description\": \"summarize the conversation\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"summary\": {\n \"type\": \"string\",\n \"description\": \"the summary of the conversation\"\n }\n },\n \"required\": [\"summary\"]\n }\n },\n {\n \"name\": \"focal_points\",\n \"description\": \"extract the focal points of the conversation\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"points\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"description\": \"extract the focal points of the conversation\"\n }\n }\n },\n \"required\": [\"points\"]\n }\n }\n ]\n )\n if 'function_call' in response:\n if response['function_call']['name'] == 'summarization':\n print(\"The summary of the converstaion is \", json.loads(response['function_call']['arguments'])['summary'])\n elif response['function_call']['name'] == 'focal_points':\n print(\"The focal points of the converstaion are \", json.loads(response['function_call']['arguments'])['points'])\n else:\n print(response['content'])\n\nawait main()"
}
}
}
, multiple selections available,
Related content
Python Plugin
Python Plugin
More like this
Plugin Example Code
Plugin Example Code
More like this
OpenAPI Plugin
OpenAPI Plugin
More like this
DaVinci Plugin 介紹
DaVinci Plugin 介紹
More like this
Davinci Python Plugin Quickstart
Davinci Python Plugin Quickstart
More like this
MediaTek DaVinci Assistant API 介紹
MediaTek DaVinci Assistant API 介紹
Read with this