(17723期)AI大模型开发实战:Conda环境搭建→提示词工程→Streamlit聊天应用,零基础到项目落地

Conda 环境搭建
- 创建环境:打开终端,运行
conda create -n llm - dev python = 3.10,创建名为llm - dev的 Python 3.10 环境,输入y确认安装。创建完成后,使用conda activate llm - dev激活该环境。 - 安装依赖包:安装基础工具、大模型 API 调用相关库、开发框架等,运行
pip install pandas numpy matplotlib openai dashscope langchain==0.2.0 chromadb pinecone - client streamlit flask transformers torch accelerate。
提示词工程
- 掌握核心技巧:包括 Zero – shot(直接提问,如 “将以下英文翻译成中文:Hello”)、Few – shot(提供示例,如 “输入:Apple→输出:水果 \n 输入:Car→输出:交通工具”)、Chain – of – Thought (CoT)(要求逐步推理,如 “请一步步思考:如果小明有 3 个苹果…”)、Role Prompting(设定角色,如 “你是一位资深客服,请回答用户问题”)。
- 运用高级策略:可使用 Output Formatting 强制 JSON 输出,便于程序解析,如 “请以 JSON 格式回答,包含 “answer” 和 “confidence” 字段”;还可利用 Negative Prompting 明确禁止行为,如 “不要提及任何竞争对手品牌”。
- 实战项目:可构建一个 “简历筛选 Agent”,通过输入简历文本,利用提示词让模型输出 JSON 格式的评分。
Streamlit 聊天应用开发
- 了解关键组件:Streamlit 提供了
st.chat_message和st.chat_input等组件。st.chat_message用于插入聊天消息容器,可显示用户或应用的消息,容器内可包含图表、表格、文本等元素;st.chat_input用于显示聊天输入小部件,让用户输入消息。 - 构建基础聊天应用:可先构建一个简单的机器人,将用户输入镜像输出,同时引入会话状态(session state)来存储聊天历史。示例代码如下:
python
import streamlit as st
if 'chat_history' not in st.session_state:
st.session_state.chat_history = []
user_input = st.chat_input("请输入消息")
if user_input:
st.session_state.chat_history.append(("user", user_input))
with st.chat_message("user"):
st.write(user_input)
# 这里可替换为调用大模型API获取回复,暂时简单镜像输出
bot_response = user_input
st.session_state.chat_history.append(("bot", bot_response))
with st.chat_message("bot"):
st.write(bot_response)
- 进阶功能添加:可进一步构建具有流式输出的聊天机器人 GUI,或类似 ChatGPT 的应用,利用会话状态记住对话上下文,实现更智能的交互
)
声明:如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)