当前位置: 首页 > wzjs >正文

做评选活动的网站淘宝网店的seo主要是什么

做评选活动的网站,淘宝网店的seo主要是什么,佛山响应式网站建设,生产做网站表带的制造厂家基于大模型的在线搜索平台——整合function calling流程 一、function calling调用总结 上篇文章已经实现了信息抓取能力,并封装成了函数。现在最后一步将能力转换为大模型可以调用的能力,实现搜索功能就可以了。这篇主要实现大模型的function calling能…

基于大模型的在线搜索平台——整合function calling流程

  • 一、function calling调用
  • 总结


上篇文章已经实现了信息抓取能力,并封装成了函数。现在最后一步将能力转换为大模型可以调用的能力,实现搜索功能就可以了。这篇主要实现大模型的function calling能力,对于function calling在前面文章我们有主要讲述过。

一、function calling调用

整合function calling整个流程 ,这里用到之前封装好的两个函数 auto_functions 和 run_conversation

import inspect
def auto_functions(functions_list):"""Chat模型的functions自动生成函数:param functions_list: 包含一个或者多个函数对象的列表;:return:满足Chat模型functions参数要求的functions对象"""def functions_generate(functions_list):# 创建空列表,用于保存每个函数的描述字典functions = []# 对每个外部函数进行循环for function in functions_list:# 读取函数对象的函数说明function_description = inspect.getdoc(function)# 读取函数的函数名字符串function_name = function.__name__system_prompt = f'以下是某的函数说明:{function_description}'user_prompt = f'根据这个函数的函数说明,请帮我创建一个JSON格式的字典,这个字典有如下5点要求:\1.字典总共有三个键值对;\2.第一个键值对的Key是字符串name,value是该函数的名字:{function_name},也是字符串;\3.第二个键值对的Key是字符串description,value是该函数的函数的功能说明,也是字符串;\4.第三个键值对的Key是字符串parameters,value是一个JSON Schema对象,用于说明该函数的参数输入规范。\5.输出结果必须是一个JSON格式的字典,不需要添加任何修饰语句,不需要解释'response = client.chat.completions.create(model="gpt-4o-mini",messages=[{"role": "system", "content": system_prompt},{"role": "user", "content": user_prompt}])json_function_description = json.loads(response.choices[0].message.content.replace("```","").replace("json",""))json_str={"type": "function","function":json_function_description}functions.append(json_str)return functions## 最大可以尝试4次max_attempts = 4attempts = 0while attempts < max_attempts:try:functions = functions_generate(functions_list)break  # 如果代码成功执行,跳出循环except Exception as e:attempts += 1  # 增加尝试次数print("发生错误:", e)if attempts == max_attempts:print("已达到最大尝试次数,程序终止。")raise  # 重新引发最后一个异常else:print("正在重新运行...")return functions
tools = auto_functions([get_answer])
tools

运行结果

在这里插入图片描述

def run_conversation(messages, model="gpt-4o-mini", functions_list=None):"""能够自动执行外部函数调用的对话模型:param messages: 必要参数,字典类型,输入到Chat模型的messages参数对象:param functions_list: 可选参数,默认为None,可以设置为包含全部外部函数的列表对象:param model: Chat模型,可选参数,默认模型为gpt-3.5-turbo:return:Chat模型输出结果"""# 如果没有外部函数库,则执行普通的对话任务if functions_list == None:response = client.chat.completions.create(model=model,messages=messages,)response_message = response.choices[0].messagefinal_response = response_message.content# 若存在外部函数库,则需要灵活选取外部函数并进行回答else:# 创建functions对象tools = auto_functions(functions_list)# 创建外部函数库字典available_functions = {func.__name__: func for func in functions_list}# 第一次调用大模型response = client.chat.completions.create(model=model,messages=messages,tools=tools,tool_choice="auto", )response_message = response.choices[0].messagetool_calls = response_message.tool_callsif tool_calls:messages.append(response_message) for tool_call in tool_calls:function_name = tool_call.function.namefunction_to_call = available_functions[function_name]function_args = json.loads(tool_call.function.arguments)## 真正执行外部函数的就是这儿的代码function_response = function_to_call(**function_args)messages.append({"tool_call_id": tool_call.id,"role": "tool","name": function_name,"content": function_response,}) ## 第二次调用模型second_response = client.chat.completions.create(model=model,messages=messages,) # 获取最终结果final_response = second_response.choices[0].message.contentelse:final_response = response_message.contentreturn final_response

先测试一个大模型可以回答的问题

messages = [{"role": "user", "content": '介绍一下你自己?'}]
run_conversation(messages=messages, functions_list=[get_answer])

在这里插入图片描述

再测试大模型可能回答不了问题,看是否会调用tool

messages=[{"role": "system", "content": "根据用户输入的问题进行回答,如果知道问题的答案,请回答问题答案,如果不知道问题答案,调用智能助手函数回答’"},{"role": "user", "content": '如何学习pytorch'}
]
run_conversation(messages=messages, functions_list=[get_answer])

在这里插入图片描述

总结

到此,我们就实现了基于大模型的在线搜索平台,当然,除了知乎之外,大家可以使用任何可以搜索的站点,只要爬虫获取的信息准确就好。最后可以封装成多个tool给大模型调用。

http://www.dtcms.com/wzjs/39103.html

相关文章:

  • 天津市建设厅注册中心网站搜索广告是什么意思
  • php网站开发注意问题2345网址导航怎么卸载
  • 短视频素材免费浙江专业网站seo
  • 做网站公司怎么选今日新闻联播主要内容
  • 深圳网站建设yihe kj东营seo整站优化
  • php 自动做网站点击量上海专业seo
  • 泰州做网站价格网络推广运营是做什么
  • 做网站用广告赚钱过时了推广竞价
  • 南京市住房和城乡建设厅网站北京seo公司司
  • 上海网站建设市场分析微信朋友圈广告投放
  • 做网站 当站长网站推广经验
  • 怎么看网站后台网页尺寸怎么推广自己的网站?
  • 做那种的视频网站有哪些微网站
  • java视频网站开发技术电脑清理优化大师
  • 建立企业网站多少钱seo排名优化是什么意思
  • 网站服务器管理系统西安网站建设制作公司
  • 大兴区企业网站建设seo关键词挖掘工具
  • 软件开发接单平台都有哪些关键词优化seo公司
  • 梅陇做网站免费的网页制作软件
  • 永嘉做网站百度seo排名软
  • 做网站会用到什么语言合肥百度关键词排名
  • apicloud安装wordpress搜索引擎优化岗位
  • 网站开发的意义成都外贸seo
  • 商城网站的管理用户模块怎么营销一个产品
  • 做云盘网站哪个好网站seo优化方法
  • 濮阳网站设计seo网络运营
  • 深圳政府在线官网信息百度优化推广
  • 手机发布 wordpress文章seo的范畴是什么
  • 做网站哪个系统最好南京seo关键词排名
  • 政府网站建设如何更好服务人民福州seo排名优化