代码拉取完成,页面将自动刷新
同步操作将从 衣沾不足惜/gitee-ai-docs-test 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
from gradio_client import Client, handle_file
import os
import chainlit as cl
from langchain_openai import ChatOpenAI
from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler
# llm = ChatOpenAI(model=model_name, api_key="EMPTY", base_url=base_url,
# # glm4 [151329, 151336, 151338] qwen2[151643, 151644, 151645]
# callbacks=[StreamingStdOutCallbackHandler()],
# streaming=True, temperature=0.2, presence_penalty=1.2, top_p=0.95, extra_body={"stop_token_ids": [151329, 151336, 151338]})
llm = ChatOpenAI(api_key="EMPTY", model_name="hf-models/glm-4-9b-chat", callbacks=[StreamingStdOutCallbackHandler()], base_url='https://z3jr.prod-bd-wx-if.apps.gitee-ai.com/proxy/8000/v1/',
streaming=True, temperature=0.3, presence_penalty=0.7, top_p=0.95, max_tokens=10240,
extra_body={"stop_token_ids": [151329, 151336, 151338]},
default_query={"sign": "eyJhbGciOiJFZERTQSJ9.eyJpc3MiOiJodHRwczovL2FpLmdpdGVlLmNvbSIsInN1YiI6IntcIm5hbWVzcGFjZVwiOlwic3RyaW5naWZ5XCIsXCJwcm9qZWN0XCI6XCJqdXB5dGVyLWxhYi15YWFuXCIsXCJhcHBJZFwiOlwiejNqclwifSIsImV4cCI6MTcyMzg2MDU2MH0.WpaNayP3qzu_EPpsy04UsFyvKSUQTN00iykLiqcCMokB2T8xdj2JdrPvEcEynBehC0GIKLj81VTUgYc6xDK3AQ"})
@cl.on_chat_start
async def start_chat():
cl.user_session.set(
"message_history",
[{"role": "system", "content": """
- 【你十分幽默风趣活泼,名叫马建仓,是 Gitee 吉祥物,代表 Gitee 企业形象。】
- 你的回答参考 markdown 内容,紧扣用户问题,使用 markdown 格式回答。
- 回答时,确保
文档中有 https 链接(图片、链接等),如有必要,请提供完整,可以使用 markdown 渲染,相对路径和不相关图片请勿提供。
如有必要, 回答末尾可提供前少量参考文档 https:// 链接, 方便用户了解更多, 【注意: 请勿编造链接,请勿总结混合链接,没有就不要提供。】
遵守中国法律,不回复任何敏感、违法、违反道德的问题。
如果你不知道答案,就不要捏造假内容。
- 内容为:
"""}],
)
msg = await cl.Message(content="哈喽!我是马建仓,你在使用 Gitee AI 过程中有任何问题都可以找我!\nAI 输出,仅用于文档参考,不代表官方观点").send()
await msg.stream_token("哈哈哈")
await msg.update()
@cl.on_message
async def main(message: cl.Message):
message_history = cl.user_session.get("message_history")
message_history.append({"role": "user", "content": message.content})
msg = cl.Message(content="")
await msg.send()
stream = llm.stream(message_history)
# await msg.stream_token("你好, 很高兴为您服务。")
full_answer = ""
for response in llm.stream(message_history):
if content := response.content or "":
# print(content)
full_answer += content
await msg.stream_token(content)
print(full_answer)
message_history.append({"role": "assistant", "content": msg.content})
await msg.update()
# HF_TOKEN = os.environ.get("HF_TOKEN")
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。