【NVIDIA NIM 黑客松训练营】利用大模型作词一首

news/2024/10/20 19:22:11/

没有GPU,也可以尝试一下NVIDIA提供的免费大模型环境。

这里准备的demo调用了3.8B参数的轻量级模型:microsoft/phi-3-mini-4k-instruct, 加上Flask做一个简单的网页调用演示。

a) 项目结构
app.py
templates/index.html

b) 安装引用

# pip install Flask openai

c) 准备Flask应用 (app.py)

python">from flask import Flask, request, render_template
from openai import OpenAIapp = Flask(__name__)client = OpenAI(base_url="https://integrate.api.nvidia.com/v1",api_key="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"
)@app.route("/", methods=["GET", "POST"])
def index():result = ""if request.method == "POST":user_input = request.form["user_input"]completion = client.chat.completions.create(model="microsoft/phi-3-mini-4k-instruct",messages=[{"role": "user", "content": user_input}],temperature=0.2,top_p=0.7,max_tokens=1024,stream=True)for chunk in completion:if chunk.choices[0].delta.content is not None:result += chunk.choices[0].delta.contentreturn render_template("index.html", result=result)if __name__ == "__main__":app.run(debug=True)

d) 准备网页模板 (templates/index.html)

<!DOCTYPE html>
<html lang="zh">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>大模型请求</title>
</head>
<body><h1>输入你的请求</h1><form method="POST"><textarea name="user_input" rows="4" cols="50" placeholder="请输入内容..."></textarea><br><input type="submit" value="提交"></form><h2>返回结果:</h2><pre>{{ result }}</pre>
</body>
</html>

e) 运行Flask应用

# python app.py* Serving Flask app 'app'* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.* Running on http://127.0.0.1:5000
Press CTRL+C to quit* Restarting with stat* Debugger is active!* Debugger PIN: 831-621-819

f) 调用大模型

打开浏览器,访问 http://127.0.0.1:5000

<end>


http://www.ppmy.cn/news/1540598.html

相关文章

代码随想录第一天|704.二分查找 27.移除元素

704. 写法一&#xff1a;左右区间可以相等&#xff0c;left right(左右区间的值都可以取到&#xff0c;这是更新left和right的依据) class Solution { public:int search(vector<int>& nums, int target) {int left 0;int right nums.size()-1;while(left<ri…

【Linux系列】在 Linux 中使用 `watch` 命令监控 Docker 容器状态

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

MySQL中的数字数据类型的一个概述

MySQL中的数字数据类型可以分为几大类&#xff0c;主要包括整数类型、浮点数类型和定点数类型、日期和时间类型&#xff0c;以及二进制类型中涉及数字的部分&#xff08;如BIT&#xff09;。下面是对这些类型的一个概述&#xff1a; ### 1. 整数类型 整数类型用于存储没有小数…

windows性能调优--基本性能优化

1. 使用任务管理器深入监控 打开任务管理器 我们可以通过按下Ctrl Shift Esc快捷键来打开任务管理器。 或者右键点击任务栏空白处&#xff0c;选择“任务管理器”。 2. 使用资源监视器深入分析 打开资源监视器 3. 清理磁盘空间 使用磁盘清理工具 按下Win R&#xff0c;输入…

直播电商的发展与创新:开源 AI 智能名片 S2B2C 商城小程序的融合机遇

摘要&#xff1a;本文深入探讨了直播电商作为内容电商的最新形式所具有的特点和优势&#xff0c;分析了其在移动通信技术推动下的蓬勃发展态势以及各大平台的布局情况。同时&#xff0c;引入关键词“开源 AI 智能名片 S2B2C 商城小程序源码”&#xff0c;阐述其与直播电商的融合…

JS通过递归函数来剔除树结构特定节点

最近在处理权限类问题过程中&#xff0c;遇到多次需要过滤一下来列表的数据&#xff0c;针对不同用户看到的数据不同。记录一下 我的数据大致是这样的&#xff1a; class UserTree {constructor() {this.userTreeData [// 示例数据{ nodeid: "1", nodename: "R…

Git 提交规范参考

Git 提交规范参考 feat 增加新的业务功能fix 修复业务问题/BUGperf 优化性能style 更改代码风格, 不影响运行结果refactor 重构代码revert 撤销更改test 测试相关, 不涉及业务代码的更改docs 文档和注释相关chore 更新依赖/修改脚手架配置等琐事workflow 工作流改进ci 持续集成…

Java集合(四)--treeset/treemap/章节练习题目/去重原理的解读和应用

文章目录 1.treeset结构2.treemap结构3.集合去重辨析总结4.对于arraylist的练习题目5.对于HashMap的练习题目6.第三点的去重运用7.HashSe练习题目 1.treeset结构 下面的这个就是对于这个treeset结构进行测试的一个程序&#xff0c;在这个里面&#xff0c;add表示的就是对于这个…