腾讯云ai 辅助,开发 gradio5 调用 deepseek v3

腾讯云ai 辅助,开发 gradio5 调用 deepseek v3

1.腾讯云ai 当搜索引擎,查看gradio 使用方法
2.腾讯云ai 写测试用例
3.腾讯云ai 查错,并提解决方案;

安装

conda create -n deep python=3.10
conda activate deep
pip install -r requirements.txt

注册 deepseek 账号

https://www.deepseek.com/
申请 appkey
编辑 utils/funtion.py
client = OpenAI(
base_url = “https://api.deepseek.com/v1”,
api_key = “xxxx” <<==替换成自己的
)

运行

python app.py

运行效果

2025-01-14 14-53-21-273

代码参考

import gradio as gr

from utils.funtion import GetDeepseekMsg


with gr.Blocks() as demo:
    code = gr.Code(render=False)
    system_prompt = gr.Markdown("# 我是一个乐于助人的人工智能")
    chatbot = gr.Chatbot(type="messages")
    msg = gr.Textbox(show_label=False)
    clear = gr.ClearButton([msg, chatbot])
    speech_file_path = gr.Audio(label="播放语音回应", type="filepath",autoplay=True,loop=False)

    msg.submit(GetDeepseekMsg, [msg, chatbot], [msg, chatbot,speech_file_path])

if __name__ == "__main__":
    demo.launch()
from openai import OpenAI
import pyttsx3
import os
import time
# 初始化TTS引擎
engine = pyttsx3.init()

# 定义文本转语音函数
def text_to_speech(text):
    # if not engine:
    #     engine = pyttsx3.init()
    time_stamp = time.strftime("%Y%m%d-%H%M%S")
    directory = './audio_cache/'
    if not os.path.exists(directory):
        os.makedirs(directory)
    path = directory + 'audio_' + time_stamp + '.wav'
    engine.save_to_file(text, path)  # 将生成的语音保存到文件
    engine.runAndWait()  # 运行并等待语音合成完成
    return path  # 返回语音文件的路径

# 导入 OpenAI 模块(假设已正确安装)
# 创建 OpenAI 客户端实例,配置基础 URL 和 API 密钥
client = OpenAI(
  base_url = "https://api.deepseek.com/v1",
  api_key = "xxxx"
)

# 定义函数 GetDeepseekMsg,用于获取 DeepSeek 的响应消息
def GetDeepseekMsg(message, history):
    isStream = False  # 设置是否以流的方式获取响应,默认为否

    # 调用 OpenAI 客户端的 chat.completions.create 方法来生成回复
    completion = client.chat.completions.create(
      model="deepseek-chat",  # 使用指定的模型 "deepseek-chat"
      messages=[{"role":"user","content":message}],  # 输入消息,指定角色为 "user" 并提供消息内容
      temperature=0.2,  # 控制生成文本的随机性,值越低,生成的文本越确定
      top_p=0.7,  # 核概率,用于筛选最可能的词
      max_tokens=1024,  # 限制生成文本的最大长度
      stream=isStream  # 是否以流的方式获取响应
    )

    if isStream:
      for chunk in completion:
        if chunk.choices[0].delta.content is not None:
          print(chunk.choices[0].delta.content, end="")
    else:
      msg = completion.choices[0].message.content
      # print(msg)

    update_audio= text_to_speech(msg)
    history.append({"role": "user", "content": message})
    history.append({"role": "assistant", "content": msg})
    # history.append(ChatMessage(role="user", content=message))
    # history.append(ChatMessage(role="assistant", content=msg))
    # time.sleep(2)
    return "", history,update_audio

https://github.com/zn123/deepseek_demo
欢迎一键三联

Gradio是一个用于构建交互式界面的Python库,可以轻松地将模型、函数或数据转换成可视化的界面。通过Gradio,你可以实现输入图像或视频的功能。 要实现输入图像的功能,你可以使用以下代码示例: ```python import gradio as gr import cv2 def process_image(image): # 在这里对图像进行处理 # 返回处理后的图像 return processed_image iface = gr.Interface(fn=process_image, inputs="image", outputs="image") iface.launch() ``` 在这个示例中,`process_image`函数接收一个图像作为输入,并对图像进行处理。你可以在函数中使用OpenCV等库来实现图像处理的具体逻辑。然后,通过`gr.Interface`创建一个接口,指定输入类型为图像,输出类型也为图像。最后,调用`launch`方法启动界面。 如果你想实现输入视频的功能,可以使用类似的方法。你可以使用OpenCV读取视频帧,并在处理每一帧时调用处理函数。然后,将处理后的帧显示在界面上。 希望这个回答对你有帮助!如果你还有其他问题,请随时提问。 #### 引用[.reference_title] - *1* *2* *3* [Gradio:轻松实现AI算法可视化部署](https://blog.csdn.net/SoulmateY/article/details/117327898)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值