如何用微信打开微网站,坑梓网站建设平台,百度seo教程,装修图纸设计图课程
《生成式 AI》课程 第3講#xff1a;訓練不了人工智慧嗎#xff1f;你可以訓練你自己-CSDN博客
我们希望你创建一个定制的服务机器人。 您可以想出任何您希望机器人执行的任务#xff0c;例如#xff0c;一个可以解决简单的数学问题的机器人0 一个机器人#xff0c… 课程
《生成式 AI》课程 第3講訓練不了人工智慧嗎你可以訓練你自己-CSDN博客
我们希望你创建一个定制的服务机器人。 您可以想出任何您希望机器人执行的任务例如一个可以解决简单的数学问题的机器人0 一个机器人它总是输出用户输入单词的反义词 以下是用 API2D 调用 openAI model: gpt-4o-mini url https://openai.api2d.net/v1/chat/completions
import requests
import gradio as gr
import jsondef get_response(input_text, prompt_text, chat_history): # 修改函数定义增加prompt_text参数根据用户输入、额外的提示文本以及已有的对话历史获取语言模型的回复并更新对话历史。:param input_text: 当前用户输入的文本内容。:param prompt_text: 额外的提示文本内容比如固定的任务引导等。:param chat_history: 之前的对话历史是一个包含二元组的列表每个二元组分别是 (用户消息, 模型回复)。:return: 返回更新后的对话历史包含本次交互后的结果以及包含模型相关信息及回复内容和token数量信息的格式化字符串若JSON解析出错则返回相应错误提示以及更新后的对话历史。url https://openai.api2d.net/v1/chat/completionsheaders {Content-Type: application/json,Authorization: Bearer fk2**** # -- 把 fkxxxxx 替换成你自己的 Forward Key注意前面的 Bearer 要保留并且和 Key 中间有一个空格。}messages []# 将之前的对话历史添加到消息列表中格式需符合API要求for user_msg, bot_msg in chat_history:messages.append({role: user, content: user_msg})messages.append({role: assistant, content: bot_msg})# 添加当前用户输入的消息以及额外的提示文本消息按照合适的格式添加这里示例为添加在开头messages.append({role: user, content: prompt_text input_text})data {model: gpt-4o-mini, # gpt-3.5-turbo,messages: messages}response requests.post(url, headersheaders, jsondata)status_code response.status_codetry:json_data response.json()# 提取模型名称model_name json_data.get(model, 未知模型)# 提取助手回复的内容assistant_content json_data.get(choices, [])[0].get(message, {}).get(content, 无回复内容)# 提取各类token数量prompt_tokens json_data.get(usage, {}).get(prompt_tokens, 0)completion_tokens json_data.get(usage, {}).get(completion_tokens, 0)total_tokens json_data.get(usage, {}).get(total_tokens, 0)# 将本次的用户输入和模型回复添加到对话历史中chat_history.append((input_text, assistant_content))return chat_history, f模型: {model_name}\n回复内容: {assistant_content}\n提示词token数: {prompt_tokens}\n回复内容token数: {completion_tokens}\n总token数: {total_tokens}except json.JSONDecodeError:# 即使解析JSON出错也更新对话历史可以为空回复等情况chat_history.append((input_text, 解析JSON出错))return chat_history, 解析JSON出错# 假设这里的prompt_for_task是你预先定义好的提示文本内容可根据实际情况赋值
prompt_for_task Give me the antonym of the following words
with gr.Blocks() as demo:chatbot gr.Chatbot()user_input gr.Textbox(lines2, placeholder请输入你想发送的内容)state gr.State([]) # 创建一个状态变量用于存储对话历史初始化为空列表prompt_textbox gr.Textbox(labelPrompt, valueprompt_for_task, visibleTrue) # 添加Prompt文本框设置为可见# 通过按钮点击事件触发获取回复和更新对话历史等操作send_button gr.Button(发送)send_button.click(fnget_response,inputs[user_input,prompt_textbox, state],outputs[chatbot, gr.Textbox(label解析后的响应内容)])demo.launch(debugTrue)
输出如下
gpt4 很厉害的翻译了英文 并且中输出
何处无芳草 Where is there no fragrant grass?
反义词 无处有刺 nowhere has thorns
你觉得怎么样呢