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

公司网站优化怎么做多少关键词排名优化软件

公司网站优化怎么做,多少关键词排名优化软件,网站做微信支付宝支付,网站空间为什么都比数据库大ChatGPT 基于海量的训练数据生成答案,所以它无法回答训练数据中没有的信息或搜索信息 。人们希望 ChatGPT 具有对话以外的各种功能,例如“我想管理我的待办事项列表”。 函数调用是对此类请求的响应。 通过使用函数调用,ChatGPT 现在可以在生…

ChatGPT 基于海量的训练数据生成答案,所以它无法回答训练数据中没有的信息或搜索信息

人们希望 ChatGPT 具有对话以外的各种功能,例如“我想管理我的待办事项列表”。

        函数调用是对此类请求的响应。 通过使用函数调用,ChatGPT 现在可以在生成答案时使用用户提供的函数

例如,如果要添加一个查看天气的函数,可以定义一个确定天气预报 API 的函数。下面是示意图

函数

我们定义了一个获取天气函数 。这是一个常规的python 函数。

def weather_function(location):match location:case "无锡" | "wuxi":weather = "晴天"case "苏州"| "suzhou":weather = "多云"case "常州" | "changzhou":weather = "雨"case _ :weather = "不清楚"weather_answer = [{"天气": weather}]return json.dumps(weather_answer)

例-1--openAI function calling

from openai import OpenAI
import json
client = OpenAI(api_key="sk-xxxxxx",base_url="https://api.chatanywhere.tech/v1"
)
def weather_function(location):match location:case "无锡" | "wuxi":weather = "晴天"case "苏州"| "suzhou":weather = "多云"case "常州" | "changzhou":weather = "雨"case _ :weather = "不清楚"weather_answer = [{"天气": weather}]return json.dumps(weather_answer)functions = [{"name": "weather","description": "了解天气","parameters": {"type": "object","properties": {"location": {"type": "string","description": "输入您想要了解天气的位置。 示例:东京",},},"required": ["location"],},}]
messages = [{"role": "system","content": "You are a useful assistant."},{"role": "user","content": "无锡天气怎么样?"},]
print(messages[1]["content"])
def role_function_conversation(message):response = client.chat.completions.create(model="gpt-3.5-turbo-0613",messages = message,temperature=0,functions= functions,function_call="auto",)message = response.choices[0].message.contentprint(message)completion = client.chat.completions.create(model="gpt-3.5-turbo",messages=messages,functions = functions,function_call = {"name": functions[0]["name"]}
)message=completion.choices[0].message
if(message.function_call):function_name = message.function_call.namearguments = json.loads(message.function_call.arguments)    if (function_name == "weather"):weatherNow=weather_function(location=arguments.get('location'))messages.append(message)messages.append({"role": "function", "name": "weather", "content": weatherNow})#print(messages)role_function_conversation(messages)

从上面的程序看,功能调用被分成两段,分别访问两次大模型,第一次根据functions 模板获取函数的参数location,第二次真正调用 weather_function函数。然后将调用的结果交给大模型生成输出。

例-2 langchain Agent方式

这个程序使用Langchain Agent 方式调用函数,简约了许多。

import json
import os
from langchain_openai import ChatOpenAI
from langchain.agents import initialize_agent, Tool
from langchain.agents.mrkl import prompt
os.environ['OPENAI_API_KEY'] ="sk-xxxxx"
os.environ['OPENAI_BASE_URL'] ="https://api.chatanywhere.tech/v1"
def weather_function(location):match location:case "无锡" | "wuxi":weather = "晴天"case "苏州"| "suzhou":weather = "多云"case "常州" | "changzhou":weather = "雨"case _ :weather = "不清楚"weather_answer = [{"天气": weather}]return json.dumps(weather_answer)
def lang_chain_agent(text):llm = ChatOpenAI(model_name="gpt-3.5-turbo",base_url="https://api.chatanywhere.tech/v1")tools = [Tool(name = "Weather",func=weather_function,description="输入你希望了解天气的位置,例如 无锡",)]agent = initialize_agent(tools,llm,agent="zero-shot-react-description",agent_kwargs=dict(suffix='Answer should be in chinese.' + prompt.SUFFIX), verbose=True,return_intermediate_steps=True)response = agent({"input": text})return response
lang_chain_agent("常州天气如何?")

例-3 langchain-functioncall方式

这个程序利用langchain 实现函数调用。

import os
import json
from langchain.schema import (HumanMessage,FunctionMessage
)
from langchain_openai import ChatOpenAI
os.environ['OPENAI_API_KEY'] ="sk-xxxxxxxx"
os.environ['OPENAI_BASE_URL'] ="https://api.chatanywhere.tech/v1"
def weather_function(location):match location:case "无锡" | "wuxi":weather = "晴天"case "苏州"| "suzhou":weather = "多云"case "常州" | "changzhou":weather = "雨"case _ :weather = "不清楚"weather_answer = [{"天气": weather}]return json.dumps(weather_answer)
def lang_chain_with_function_calling(text):functions = [{"name": "weather","description": "了解天气","parameters": {"type": "object","properties": {"location": {"type": "string","description": "输入您想要了解天气的位置。 示例:东京",},},"required": ["location"],},}]messages=[HumanMessage(content=text)]llm = ChatOpenAI(model_name="gpt-3.5-turbo",base_url="https://api.chatanywhere.tech/v1", temperature=0)message = llm.predict_messages(messages, functions=functions)if message.additional_kwargs:function_name = message.additional_kwargs["function_call"]["name"]arguments = json.loads(message.additional_kwargs["function_call"]["arguments"])function_response = weather_function(location=arguments.get("location"),)function_message = FunctionMessage(name=function_name, content=function_response)messages.append(function_message)second_response = llm.predict_messages(messages=messages, functions=functions)return "AI的回答: " + second_response.contentelse:return "AI的回答: " + message.content
print(lang_chain_with_function_calling("无锡的天气怎么样?"))

结束语

这里介绍了三种大模型函数调用的方法。还可以调用多个函数,比如如果要使用大模型实现“如果天黑了,就关上灯” ,我觉得要调用两个函数

CheckDarkness 函数

判断是否天黑。

LightControl 函数

控制灯光。

下一次来研究怎么实现吧!

http://www.dt0577.cn/news/20498.html

相关文章:

  • 品牌网站建设 杭州网络营销公司经营范围
  • 中文电商网站模板网站建设方案及报价
  • 天天seo伪原创工具优化电池充电什么意思
  • 网站建设5000费用高德北斗导航
  • 网站如何申请域名淘宝流量平台
  • 网站开发编程工程师招聘浏览器大全网站
  • 吉林市城市建设管理执法局网站网站站点
  • 4s店网站建设方案百度免费网站制作
  • 西安电商网站开发企业网站设计
  • 做网站例子如何进行品牌宣传与推广
  • wordpress动画插件下载新站seo外包
  • 图书翻页的动画 做网站启动用全网热度指数
  • 南阳网站建设多少钱盘搜搜
  • 肇庆网站制作360推广登陆入口
  • 网站keyword如何排列南京百度推广
  • 网站备案 动态ip保定seo外包服务商
  • 做阿里巴巴网站做小程序的公司
  • wordpress 相册 样式下载优化大师
  • 查网站域名备案谷歌seo关键词优化
  • jquery 打开新网站爱站seo查询
  • 内蒙古建设协会网站网络营销的发展概述
  • 网站建设意见征求表爱战网关键词
  • 彩票网站怎么做赚钱北京网站开发
  • 网站设计制作是什么推广app的软文案例
  • refile自己做的网站生活中的网络营销有哪些
  • 申请了域名先做网站还是先备案产品推广公司
  • b2c中日外贸有哪些网站做的好网站宣传文案
  • 长宁区网站制作网络营销推广方式包括
  • 把网站做静态化外贸网站优化推广
  • 如何建立免费的网站推广方案是什么