An unofficial client to Kagi APIs
pip install kaginawa
from kaginawa.client import Kaginawa
# You can also set the KAGI_API_KEY environment variable.
client = Kaginawa(token="YOUR_API_TOKEN")
response: KaginawaFastGPTResponse = client.generate(
"Write a logstash pipeline file to send a heartbeat to a server "
"https://example.com/heartbeat every 30 seconds"
)
print(response.output)
for reference in response.references:
print(reference.title)
print(reference.snippet)
print(reference.url)
response: KaginawaEnrichResponse = client.enrich_web(query="Best fermented hot sauce")
# or
response: KaginawaEnrichResponse = client.enrich_news(query="Is Oliver Tree okay?")
for result in response.results:
print(result.rank)
print(result.title)
print(result.url)
print(result.snippet)
print(result.published)
response: KaginawaSummarizationResponse = client.summarize(
url="https://example.com",
engine=KaginawaSummarizationEngine.AGNES,
summary_type=KaginawaSummaryType.TAKEAWAY,
target_language="FR"
)
print(response.output)
response: KaginawaSummarizationResponse = client.summarize(
text="The rain in Spain…",
engine=KaginawaSummarizationEngine.CECIL
)
print(response.output)
import asyncio
from kaginawa.async_client import AsyncKaginawa
async def amain():
kagi_client = AsyncKaginawa(...)
res = await kagi_client.generate(...)
print(res.output)
# If you want to explicitly close the client.
kagi_client.close()
if __name__ == "__main__":
asyncio.run(amain())
- Do you support the search API?
- I would love to but I don't have enterprise.
- Why the name?
- Because it's like the only word that starts with Kagi
- Estelle Poulin dev@inspiredby.es