调用AzureOpenAI访问大模型接口,做completions处理文本

目录

一.AzureOpenAI介绍

二.下载

三.去官方网站充值拿到值

四.导包,创建大模型实例

五.调用client.chat.completions.create()方法,实现大模型聊天功能。

六.结果


一.AzureOpenAI介绍

Azure OpenAI 服务提供对 OpenAI 强大语言模型的 REST API 访问,这些模型包括 GPT-4o、支持视觉的 GPT-4 Turbo、GPT-4、GPT-3.5-Turbo 和嵌入模型系列。 这些模型可以轻松适应特定的任务,包括但不限于内容生成、汇总、图像理解、语义搜索和自然语言到代码的转换。 用户可以通过 REST API、Python SDK 或 Azure OpenAI Studio 中基于 Web 的界面访问该服务。

二.下载

pip install openai

三.去官方网站充值拿到值

大模型老三样:base_url,api_key, 版本(这里跳过,就是认证充钱的事)

四.导包,创建大模型实例

# 导包
from openai import AzureOpenAI


AZURE_OPENAI_RESOURCE = '' # 填base_url。比如:'https://docs-test-001.openai.azure.com/'
AZURE_OPENAI_KEY = '' # 填api_key。
AZURE_OPENAI_VERSION = '' # 填买的那个版本号。比如:'2024-02-01'
AZURE_OPENAI_DEPLOYMENT = '' #填要用的模型服务。比如:'gpt-4o'


# 调用大模型,填入这四个值
client = AzureOpenAI(
    api_version = AZURE_OPENAI_VERSION,
    api_key = AZURE_OPENAI_KEY,
    azure_deployment = AZURE_OPENAI_DEPLOYMENT,
    azure_endpoint = AZURE_OPENAI_RESOURCE,
)

官方文档地址:Azure OpenAI 服务模型 - Azure OpenAI | Microsoft Learn

官方文档会给出一些参数的解释,比如有时候创建模型实例的时候,会用endpoint,endpoint也是base_url。

五.调用client.chat.completions.create()方法,实现大模型聊天功能。

1.client.chat.completions.create()中有两个参数,必须传:

        1)model:使用的模型。比如:'gpt-4o','gpt-35-turbo'等等。

        2)message:给大模型传递要处理的信息,message里面两个参数

                1)'role':角色-----只能选这5个中的:'system','assistant','user','function','tool'

                2)'content':内容-----输入输出的一些信息

2.这里我用的gpt-4o大模型,默认识别英文并英文输出,所以这里要提示大模型识别中文输入,并且中文输出。

3.prompt设计遵循:

        1)定义大模型角色--'You are a helpful English assistant'

        2)定义大模型要完成的任务--'You can process the input Chinese text,translate'

        3)定义大模型的输出格式--'and output the result in Chinese'

content = '' # 输入要处理的文本
response = client.chat.completions.create(
    model="gpt-4o", 
    messages=[
        {"role": "system", "content": "You are a helpful English assistant.You can process the input Chinese text,translate , and output the result in Chinese."},# 提示大模型识别中文,并输出中文
        {"role": "user", "content": "我有一段英文文本,请你处理:“i have an apple.”"},
        {"role": "assistant", "content": "我有一个苹果。"}, # user-assistant给出one-shot提示,提示大模型这样输出。
        {"role": "user", "content": content} # 真正要处理的文本
    ]
)

result = response1.choices[0].message.content  # 得到输出结果

六.结果

如果你想扩展你的Python FastAPI后端,使其能够调用OpenAI接口处理返回的数据,你需要遵循以下步骤: **第一步:安装`requests`库** OpenAI API通常通过HTTP请求来交互,因此我们需要`requests`库来发送网络请求。如果没有安装,先用`pip`安装: ```bash pip install requests ``` **第二步:设置环境变量或配置文件** 如果你要使用OpenAI API,可能需要API密钥。将密钥保存在一个环境变量或者配置文件中(建议不要直接在代码中硬编码): - 环境变量法(Linux/Mac): ```bash export OPENAI_API_KEY=your_openai_key ``` - 配置文件法(`.env`文件): ```sh OPENAI_API_KEY=your_openai_key ``` **第三步:编写调用OpenAI API的函数** 在`main.py`或其他合适的位置,编写一个函数,用来调用OpenAI API并传递参数: ```python import os import requests from typing import Dict def get_openai_response(question: str) -> Dict: api_url = "https://api.openai.com/v1/engines/davinci-codex/completions" headers = { 'Content-Type': 'application/json', 'Authorization': f'Bearer {os.environ["OPENAI_API_KEY"]}', } data = { "prompt": question, "max_tokens": 50, "temperature": 0.7, "top_p": 1.0 } response = requests.post(api_url, json=data, headers=headers) if response.status_code != 200: raise Exception(f"Error calling OpenAI API: {response.text}") return response.json() ``` **第四步:整合到FastAPI路由中** 将上述函数添加到FastAPI的路由里,例如,创建一个新的POST路由来处理用户的输入和返回结果: ```python @app.post("/generate_answer") async def generate_answer(request: Request): user_input = await request.json() openai_response = get_openai_response(user_input["question"]) # 对返回的数据进行进一步处理(如果需要) processed_data = process_openai_response(openai_response) return processed_data ``` 别忘了替换`process_openai_response`函数里的内容,根据实际返回的数据结构进行处理。 **相关问题--:** 1. 如何在Python中发送HTTP POST请求? 2. 如何从FastAPI请求中获取用户输入? 3. 如何解析和处理OpenAI API的返回数据? 4. 如何处理OpenAI API请求失败的情况?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值