AI应用开发入门(自用)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
前言
网络基础知识

HTTP协议
概念:Hyper Text Transfer Protocol,超文本传输协议,规定了客户端和服务器之间数据传输的规则。(只有在请求及响应中都遵循了统一的规则,服务端才能读懂客户端发送来的请求,客户端才能解析服务端响应的结果)
HTTP协议-请求数据格式
请求行(请求方式、资源路径、协议)
POST /api/courses HTTP/1.1
请求头(HTTP头部字段)
格式:key: value 键值对形式。
Accept: application/json, text/plain, */*
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Connection: keep-alive
Content-Length: 139
Content-Type: application/json
Host: localhost:90
Origin: http://localhost:90
Referer: http://localhost:90/resource/course
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/143.0.0.0
请求体(JSON数据)
定义:请求参数部分,GET方式没有,POST可以有。
{"phone":"18808088080","channel":1,"name":"虎咆","gender":1,"age":"32"}
请求方式说明
- GET:请求参数在请求行中,没有请求体。例如:
/api/courses?name=Python&status=1。GET请求的参数大小在浏览器中是有限制的。 - POST:请求参数在请求体中,POST请求大小是没有限制的。
HTTP协议-响应数据格式
响应行
- 定义:包含协议版本、状态码。
- 示例:
HTTP/1.1 200
响应头
- 格式:
key: value键值对形式。 - 示例字段:
Server:nginx/1.24.0Date:Tue, 16 Dec 2025 12:38:08 GMTContent-Type:application/jsonTransfer-Encoding:chunkedConnection:keep-alive
响应体
- 定义:存放服务端响应的数据。
- 示例 (JSON格式):json
{"code": 1, "msg": "success", "data": null}
常见HTTP状态码
- 200:客户端请求成功。
- 400:请求参数错误。
- 404:请求资源不存在,URL输入有误,或者网站资源被删除了。
- 500:服务器发生了不可预期的错误。
一、ollama
Linux部署pycharm

ollama基础python代码


二、Streamlit
基础API使用
代码如下(示例):

循环使用:默认使用无限循环(下有聊天界面和代码)
import time
import streamlit as st
#while True:
st.title("st教程")
st.write("黑马")
st.divider ()
name=st.chat_input ("请输入名字")
if name:
st.write ("你好:", name)
with st.spinner ("正在加载中..."):
time.sleep(5)
st.write("完成")
#消息容器
st.chat_message("user").markdown("你是谁")
st.chat_message("assistant").markdown("我是聊天机器人")
聊天界面:

streamlit本质是对用户代码的无限循环,可以使用session_state保存变量状态。

ollama和streamlit联合开发
代码如下(示例):
import time
import streamlit as st
import ollama
# 初始化
if 'messages' not in st.session_state:
st.session_state.messages = []
st.title("简单聊天机器人")
st.divider ()
client=ollama.Client(host="http://localhost:11434")
# 1. 获取输入
prompt = st.chat_input("请输入你的问题:")
if prompt:
# 2. 保存用户消息到历史
st.session_state.messages.append({"role": "user", "content": prompt})
for message in st.session_state.messages:
st.chat_message(message["role"]).markdown(message["content"])
# 3. 模拟 AI 思考
with st.spinner("思考中..."):
response =client.chat("deepseek-r1:8b", [{"role":"user","content": prompt}])
st.session_state.messages.append({"role": "assistant", "content": response['message']['content']})
# 4. 显示 AI 消息 (只显示当前的)
st.chat_message("assistant").markdown(response['message']['content'])
注意:1.response是嵌套字典,要取message和content对应的内容2.记得打开ollama
三、Lanchain(仅入门,了解流程即可,后续深入学习)
LangChain框架介绍
LangChain 是一个用于构建和管理基于语言模型(Language Models, LM)的应用程序的框架。它提供了一系列工具和组件,帮助开发者更高效地构建、训练、部署和管理语言模型应用。网址:https://python.langchain.com/docs
LangChain相关包安装
- langchain:主要用于构建和管理基于语言模型的应用程序,提供从模型管理到应用开发的一站式解决方案。
- langchain_community:是 langchain 的社区版,包含社区贡献的额外功能和插件,提供更多扩展性的工具。
- dashscope:主要用于构建和管理数据科学和机器学习应用,提供丰富的数据可视化和模型部署工具。
pip install langchain -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install langchain-community -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install dashscope -i https://pypi.tuna.tsinghua.edu.cn/simple
LangChain主要组件
-
Prompts
提示,包括提示管理、提示优化和提示序列化 -
Models
模型,各种类型的模型和模型集成,比如GPT-4 -
Memory
记忆,用来保存和模型交互时的上下文状态 -
Indexes
索引,用来结构化文档,以便和模型交互 -
Chains
链,一系列对各种组件的调用 -
Agents
代理,决定模型采取哪些行动,执行并且观察流程,直到完成为止
阿里云百炼平台APIkey
官网地址:https://bailian.console.aliyun.com
代码如下:
from langchain.chains import ConversationChain
from langchain.memory import ConversationBufferMemory
from langchain_community.llms import Tongyi
# 创建一个内存记忆对象
memory = ConversationBufferMemory(return_message=True)
def get_response(prompt, api_key):
model = Tongyi(model="qwen-plus", api_key=api_key)
chain = ConversationChain(llm=model, memory=memory)
# 发送用户的请求
response = chain.invoke({"input": prompt})
return response["response"]
if __name__ == '__main__':
print(get_response(prompt="请用Python输出1-10", api_key="yourAPI"))
即可直接在python运行输出结果。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)