自己实现 OpenAI 的 /v1/embeddings 接口

自己实现 OpenAI 的 /v1/embeddings 接口

  • [0. 背景](#0. 背景)
  • [1. 修改 .env 文件](#1. 修改 .env 文件)
  • [2. 修改 get_embedding 方法](#2. 修改 get_embedding 方法)

0. 背景

使用 OpenAI 的 API Key 是需要付费的,为了节省成本,自己尝试实现 OpenAI 的各种接口。

本文章主要是实现 /v1/embeddings/v1/engines/{model_name}/embeddings 接口的部分代码示例。

1. 修改 .env 文件

添加 COHERE_API_KEY,

复制代码
COHERE_API_KEY='abcdeOuJIC5scu0dB6TJW0CijNMDP5tHfu8u2xyz' # 此 key 无效

2. 修改 get_embedding 方法

复制代码
async def get_embedding(payload: Dict[str, Any]):
    # print(f"payload: {payload}")
    cohere_payload = {"texts": payload["input"], "truncate": "END"}
    # print(f"cohere_payload: {cohere_payload}")
    # print(f"os.environ['COHERE_API_KEY']: {os.environ['COHERE_API_KEY']}")
    cohere_headers = {
        'Accept': 'application/json',
        'Authorization': 'Bearer ' + os.environ['COHERE_API_KEY'],
        'Content-Type': 'application/json',
    }
    # print(f"cohere_headers: {cohere_headers}")
    async with httpx.AsyncClient() as client:
        # https://docs.cohere.com/reference/embed
        response = await client.post(
            "https://api.cohere.ai/v1/embed",
            headers=cohere_headers,
            json=cohere_payload,
            timeout=WORKER_API_TIMEOUT,
        )
        # print(f"response: {response}")
        cohere_embeddings = response.json()
        # print(f"cohere_embeddings: {cohere_embeddings}")
        embedding = {"embedding": cohere_embeddings["embeddings"], "token_num": 1}
        return embedding

完结!

相关推荐
win4r26 分钟前
🚀颠覆传统智能体!ADK谷歌最强AI智能体发布!支持MCP与ollama!Agent Development Kit详细教程!超越AutoGen和LangCh
google·aigc·openai
Justin3go10 小时前
谷歌 Agent2Agent(A2A)协议深度调研报告
google·openai·mcp
大鹏dapeng16 小时前
使用 gone.WrapFunctionProvider 快速接入第三方服务(下)—— LLM接入支持 openAI 和 deepseek
go·openai·deepseek
新智元18 小时前
勇克 FPGA 难题!UCLA 丛京生教授斩获 2024 年 ACM 计算突破奖
人工智能·openai
新智元18 小时前
谷歌最强 AI 芯片狙击英伟达 B200,性能狂飙 3600 倍!谷歌版 MCP 一统 AI 智能体宇宙
人工智能·openai
机器之心18 小时前
MoE 模型已成新风口,AI 基础设施竞速升级
人工智能·openai
机器之心18 小时前
论文党狂喜!alphaXiv 推出 Deep Research 一秒搜遍 arXiv,研究效率直接爆表
人工智能·openai
机器之心19 小时前
因研发 FPGA 工具,丛京生院士获得 ACM 计算突破奖
人工智能·openai
简放21 小时前
使用pip3安装PyTorch和PyG
pytorch·openai
掘金一周21 小时前
高并发场景下,为什么大厂都选择SSE而不是WebSocket?| 掘金一周 4.10
人工智能·openai