前几天,智谱AI BigModel开放平台宣布:GLM-4-Flash 大模型API完全免费了,同时开启了GLM-4-Flash 限时免费微调活动。对想薅免费大模型羊毛的个人玩家,这绝对是个好消息,我们不仅可以免费使用BigModel开放平台上的GLM-4-Flash,也可以免费调用GLM-4-Flash的API了。
智谱AI 这次格局大了,不得不支持下。 开放平台地址:https://bigmodel.cn/。
之前写过一篇python大模型应用框架langchain的demo,当时使用的阿里云。【Python技术】AI编程新手快速入门学习LangChain大模型框架 , 今天用免费的CLM-4-FLASH写个简单例子测试下。
代码如下,替换掉apikey就可以运行
import gradio as gr
from fastapi import FastAPI
from langchain_openai import ChatOpenAI
from langchain.prompts import (
ChatPromptTemplate,
MessagesPlaceholder,
SystemMessagePromptTemplate,
HumanMessagePromptTemplate,
)
from langchain.chains import LLMChain
from langchain.memory import ConversationBufferMemory
# Initialize FastAPI
app = FastAPI()
# Initialize LangChain components
llm = ChatOpenAI(
temperature=0.95,
model="glm-4-flash",
openai_api_key="your-api-key-here",
openai_api_base="https://open.bigmodel.cn/api/paas/v4/"
)
prompt = ChatPromptTemplate(
messages=[
SystemMessagePromptTemplate.from_template(
"You are a nice chatbot having a conversation with a human."
),
MessagesPlaceholder(variable_name="chat_history"),
HumanMessagePromptTemplate.from_template("{question}")
]
)
memory = ConversationBufferMemory(memory_key="chat_history", return_messages=True)
conversation = LLMChain(
llm=llm,
prompt=prompt,
verbose=True,
memory=memory
)
# Define chat function
def chat(message, history):
response = conversation.invoke({"question": message})
return response['text']
# Create Gradio interface
iface = gr.ChatInterface(chat)
# Mount Gradio app to FastAPI
app = gr.mount_gradio_app(app, iface, path="/")
# Run the app
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)
运行效果
这个代码写的比较简单,容易好懂,用了langchain、fastapi、 gradio、uvicorn等技术。
AI解释一下这段代码,方便没用过大模型应用的同学阅读。
1、初始化FastAPI应用:用于构建API服务。
2、配置LangChain组件:
3、初始化ChatOpenAI模型(glm-4-flash)。
4、定义对话提示模板。
5、设置对话历史记录存储。
6、定义聊天函数:接收消息和历史记录,返回模型生成的回复。
7、创建Gradio界面:提供用户交互界面。
8、将Gradio集成到FastAPI:使Web应用可通过HTTP访问。
9、添加获取事实的API接口:根据主题返回相关事实信息。
10、运行应用:启动服务器监听8000端口。