response = client.models.generate_content(
    model="kimi-v2-tubo", contents=user
)

这是之前一直使用的方法,但是最近使用的时候,在长文本对话,长内容返回的时候出现内容不完整的情况,

如:

{preview:前一直使用的方法,但是最近使用的时候,在长文本对话,长内容返回的时候出现内容不完整的情况,content:前一直使用的方法,但是最近使用的时候,在长文本对话,长内容返回的时候出现内容不完整的情况,...

返回的内容以省略号的形式出现,导致JSON解析失败。

解决方法也很简单:改为流式传输:

resp = client.chat.completions.create(
                model=self.model,
                messages=messages,
                max_tokens=60_000,
                timeout=120,
                temperature=kwargs.pop("temperature", self.temperature),
                stream=True,
                **kwargs
            )
            for chunk in resp:
                delta = chunk.choices[0].delta.content
                if delta:
                    buffer.append(delta)
                    print(delta, end="", flush=True)   # 实时打字效果
            print()   

希望对初学者有所帮助。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐