调用Chatgpt API,并实现联系上下文

调用Chatgpt API,并实现联系上下文

相信很多人在调用的时候出现了一些问题,直接进行调用好像不行了。得需要点懂得都懂的东西。但使用懂得都懂的东西调用openai这个库的时候会报一个这样的错误:SSLEOFError

因此直接使用requests来访问端口,并向其添加代理的方式实现访问。效果如下:
在这里插入图片描述

实现代码如下:

import time
import requests

OPENAI_API_KEY = ""
proxy = "127.0.0.1:7890"                # 你需要添加你的代理,懂得都懂了,不方便多说了


ENDPOINT = "https://api.openai.com/v1/chat/completions"             
proxies = {
  'http': f'http://{proxy}',
  'https': f'http://{proxy}',
}
headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {OPENAI_API_KEY}",
}

def chat(prompt):
    data = {
        "messages": prompt,
        "model":"gpt-3.5-turbo",
        "max_tokens": 1000,
        "temperature": 0.5,
        "top_p": 1,
        "n": 1
    }
    response = requests.post(ENDPOINT, headers=headers, json=data, proxies=proxies)

    response_text = response.json()['choices'][0]['message']['content']
    return response_text

messages=[{"role": "system", "content": "你是一个有用的助手"}]

while 1:
    a = input("请输入你的问题:")
    messages.append({"role": "user", "content":a})
    b = chat(messages)
    b = b.replace("\n","")
    print(b)
    messages.append({"role": "assistant", "content":b})
    time.sleep(2)

通过不断保存上一轮的对话信息来实现联系上下文。

需要注意的点:

  • 你需要有api_key
  • 你需要有懂的都懂,只要你有懂得都懂,可以通过以下作为代理:
    在这里插入图片描述
  • 9
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
SpringMVC 是一种基于 Java 的 Web 框架,它提供了一种 MVC 模型来帮助开发者构建 Web 应用程序。如果你想要在 SpringMVC 中集成 ChatGPT,可以按照以下步骤进行: 1. 首先,你需要在你的项目中添加 ChatGPT 的依赖。你可以在 Maven 中添加以下依赖: ```xml <dependency> <groupId>ai.openai</groupId> <artifactId>chat-gpt</artifactId> <version>1.0.0</version> </dependency> ``` 2. 在你的控制器中创建一个方法来处理请求,并调用 ChatGPTAPI。 ```java @RestController public class ChatController { private ChatGPT chatGPT; public ChatController() { chatGPT = new ChatGPT(); } @RequestMapping(value = "/chat", method = RequestMethod.POST) public String chat(@RequestParam(value = "message") String message) { String response = chatGPT.getResponse(message); return response; } } ``` 上面的代码中,我们创建了一个 ChatController 类来处理请求。在构造函数中,我们实例化了 ChatGPT 对象。然后,我们创建了一个名为 chat 的方法来处理 POST 请求,并从请求参数中获取消息。我们调用 ChatGPT 的 getResponse 方法来获取 ChatGPT 的响应,并将其作为 String 类型返回。 3. 在你的应用程序中配置 SpringMVC。 你需要在你的应用程序中配置 SpringMVC,以便它能够正确处理请求和响应。你需要定义一个 DispatcherServlet,它将处理所有的请求,并将它们分配给适当的控制器。你还需要定义一个视图解析器,它将帮助你将控制器的响应转换为视图。 ```xml <web-app> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> </web-app> ``` 上面的代码中,我们定义了一个 DispatcherServlet 和一个视图解析器。我们还定义了一个 ContextLoaderListener,它将加载我们的应用程序上下文。 4. 在你的应用程序中创建一个 JSP 页面。 你需要创建一个 JSP 页面来显示 ChatGPT 的响应。在这个页面中,你需要创建一个表单,用户可以在其中输入消息,并将其发送到服务器。 ```html <!DOCTYPE html> <html> <head> <title>Chat with ChatGPT</title> </head> <body> <form method="post" action="chat"> <input type="text" name="message"> <input type="submit" value="Send"> </form> <div id="response"></div> <script> var form = document.querySelector('form'); form.addEventListener('submit', function(event) { event.preventDefault(); var message = document.querySelector('input[name="message"]').value; var xhr = new XMLHttpRequest(); xhr.onload = function() { var response = document.querySelector('#response'); response.innerHTML += message + '<br>' + xhr.responseText + '<br>'; }; xhr.open('POST', 'chat', true); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); xhr.send('message=' + encodeURIComponent(message)); }); </script> </body> </html> ``` 上面的代码中,我们创建了一个表单,用户可以在其中输入消息。当用户点击“发送”按钮时,我们使用 XMLHttpRequest 对象将消息发送到服务器,并将 ChatGPT 的响应显示在页面上。 这就是在 SpringMVC 中调用 ChatGPT 的基本步骤。当然,你需要根据你的项目进行相应的调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值