接入 Bard API

Bard API 目前未正式开放,需通过逆向工程或非官方库访问。可使用 google-generativeai 库模拟交互。安装库:

pip install google-generativeai

初始化客户端并发送请求:

import google.generativeai as genai

genai.configure(api_key="YOUR_API_KEY")
model = genai.GenerativeModel('gemini-pro')
response = model.generate_content("Hello, Bard!")
print(response.text)

注意:需替换有效 API Key,非官方接口可能存在稳定性风险。

设计对话逻辑

实现多轮对话需维护上下文。使用列表存储历史消息:

history = []
while True:
    user_input = input("You: ")
    history.append({"role": "user", "content": user_input})
    response = model.generate_content(history)
    print("Bard:", response.text)
    history.append({"role": "model", "content": response.text})

上下文长度有限制,需定期清理旧消息避免超过令牌限制。

构建简单 UI 界面

使用 gradio 快速搭建 Web 界面:

pip install gradio

创建交互式应用:

import gradio as gr

def chat(message, history):
    history.append({"role": "user", "content": message})
    response = model.generate_content(history)
    return response.text

demo = gr.ChatInterface(
    fn=chat,
    examples=["Explain quantum computing", "Write a Python function"],
    title="Bard Chatbot"
)
demo.launch()

运行后会在本地启动 Web 服务,默认地址 http://127.0.0.1:7860

部署生产环境

使用 FastAPI 构建 REST API 接口:

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class Query(BaseModel):
    text: str

@app.post("/chat")
async def chat(query: Query):
    response = model.generate_content(query.text)
    return {"response": response.text}

用 Uvicorn 运行服务:

pip install fastapi uvicorn
uvicorn main:app --reload

前端可通过 HTTP POST 请求 /chat 端点获取响应。

性能优化技巧

启用流式响应减少等待时间:

response = model.generate_content(
    "Write a long article",
    stream=True
)
for chunk in response:
    print(chunk.text)

缓存常用回答降低 API 调用次数,使用 functools.lru_cache 装饰器实现简单缓存。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐